Commit Graph
53 Commits
Author SHA1 Message Date
hy 396f751e05 refactor: rename human-prefix-cache-retain-live to prefix-cache-retain-live and update related tests
- Updated test plan documentation to reflect the new naming convention for prefix cache tests.
- Added new E2E test for prefix cache retention in the Workbench UI.
- Removed obsolete human-prefix-cache-retain-live test file and integrated its logic into the new test structure.
- Adjusted release preparation script to accommodate the new test case name.
- Enhanced LLM IO record handling in the E2E testing framework to support the new test requirements.
- Updated various harness and utility functions to ensure compatibility with the new test structure and naming.
2026-09-20 17:45:55 +08:00
hy 4a73165586 Refactor tests to remove unnecessary parameters and improve readability
- Updated multiple test files to remove unused parameters in page.evaluate calls.
- Simplified function signatures in waitForPreparedWebSources and other helper functions.
- Cleaned up assertions and formatting for better clarity in unit tests.
- Removed redundant code and improved consistency across test cases.
2026-09-18 15:00:42 +08:00
hy 240ab91f7b refactor: remove unused test scripts and improve argument validation
- Removed `test:ai`, `test:settings`, and `test:workbench` scripts from package.json.
- Updated test plan documentation to reflect the removal of `test:workbench`.
- Enhanced argument parsing in release scripts to ensure required values are provided.
- Added validation for unknown arguments in release scripts.
- Improved error handling for invalid arguments in test workflow.
- Updated unit tests to cover new validation logic for release arguments.
2026-09-18 14:49:01 +08:00
hy 203f8ab180 feat(showcase): add new tests for PPT management and knowledge base interactions
- Implemented `ppt-management-briefing-edit.showcase.test.ts` to test editing PPTs with AI assistance, including cost computation and screenshot capture.
- Created `ppt-management-briefing-review.showcase.test.ts` for reviewing PPTs, ensuring the generation of review screenshots and cost analysis.
- Added shared utility functions in `shared.ts` for handling showcase fixtures, workspace seeding, and cost computation.
- Developed `xinghe-kb-reply.showcase.test.ts` to validate knowledge base interactions, capturing screenshots of responses and ensuring correct tool usage.
- Introduced `xinghe-service-contract.showcase.test.ts` to test PDF contract inquiries, verifying unchanged source documents and capturing relevant screenshots.
- Configured Vitest for showcase tests in `vitest.showcase.config.mts`, setting appropriate timeouts and test inclusion/exclusion criteria.
2026-09-18 14:22:54 +08:00
hy 2c431406f0 feat(tests): enhance testing framework with explicit collection tasks and execution profiles
- Added `showcase` as an explicit collection task in the testing framework, distinct from product regression.
- Introduced explicit collection task rules and updated documentation to reflect changes in testing structure.
- Updated E2E testing commands to utilize `--execution-profile` for better control over test execution.
- Implemented validation to prevent the selection of certain groups (e.g., `showcase`) during release command parsing.
- Enhanced regression selection logic to allow opt-in groups for release impact assessment while rejecting disallowed groups.
- Updated related scripts and test cases to ensure compliance with new testing rules and execution profiles.
2026-09-18 13:56:30 +08:00
hy 5cff282d2c feat(e2e): introduce default exclude groups for E2E tests and update related scripts 2026-09-18 12:36:56 +08:00
hy 0c34dd3ecf feat: add desktop release design and process documentation
- Introduced `design.md` to outline the constraints, storage layout, CDN/public channel, and local directory conventions for desktop releases.
- Added `release.md` detailing the release process for Windows and macOS, including tagging, candidate package creation, and COS publishing.
- Created `tencent-cdn-billing.md` to summarize billing and procurement for Tencent Cloud CDN and COS for domestic releases.
- Updated test plans in `ai-test.md` and `workbench-test.md` to reflect changes in release processes and added new tests for prefix cache retention.
- Enhanced release preparation script to assert live key configuration and run necessary live gate tests.
- Implemented a new test case for validating prefix cache retention during live interactions.
2026-09-18 11:24:54 +08:00
hy 98c3824541 feat: enhance context window handling and compaction logic
- Added contextWindowTokens to LlmPresetModel and updated mergePresetCatalogProviders to parse context window tokens from models.
- Removed compactionTriggerTokens from BrainContextBudgetSnapshot as it is no longer needed.
- Updated tests to reflect changes in context window calculations and compaction logic.
- Introduced new utility functions for resolving effective context window tokens and compaction tail tokens.
- Adjusted various test cases to ensure compatibility with the new context window handling.
- Improved error handling and logging in browser-related services and tests.
2026-09-17 12:53:55 +08:00
hy ee5a1fcea3 feat(wps): update test configurations and add WPS office reload e2e test 2026-09-15 18:23:53 +08:00
hy d25a153488 refactor: update release storage layout and fragment handling for improved clarity and consistency 2026-09-14 11:07:49 +08:00
hy 93a932b322 release: drop legacy downloads/latest and old prefix cleanup
The deprecated downloads/latest prefix and pre-artifacts/v paths are
gone; finalize only removes superseded platform artifacts/status.
2026-09-12 16:28:54 +08:00
hy 52f66b4de6 release: map Mac update metadata through fragment public names
Pass the macOS fragment into metadata.mjs so latest-mac.yml rewrites
the DMG path to the user-visible 馆长 object key.
2026-09-12 16:02:27 +08:00
hy 9ee6854262 release: use user-visible names as public artifact object keys
Upload and finalize artifacts under file.name (馆长-…) so CDN/URL
basename matches the save-as name without Content-Disposition.
storageName stays ASCII for on-disk resolve; update metadata maps
either alias to the public key.
2026-09-12 15:55:53 +08:00
hy 32837f02a2 release: verify Mac disposition on origin, warn on stale CDN
COS CDN can keep immutable Content-Disposition after metadata updates
when purge is unavailable; trust origin head-object and warn if public
headers lag.
2026-09-12 15:32:05 +08:00
hy 75e13c65cc release: align Mac DMG download name with 馆长 branding
Use 馆长-${version}-macos-arm64.dmg as the user-visible installer name
while keeping ASCII storage keys, resolve on-disk assets by storageName
when they differ, and emit Windows-style UTF-8 Content-Disposition.
2026-09-12 15:23:24 +08:00
Yoan Huang 8c28ed5319 fix: seed native cache into Windows release E2E worktree
Prefill node_modules/.native-cache from the repo root so package E2E does not re-download natives and stall on flaky GitHub fetches.
2026-09-12 01:41:54 +08:00
Yoan HuangandCursor b4be33ddaf fix: load Windows release env and use PowerShell-safe file write in run-scope E2E
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 22:40:31 +08:00
hyandCursor 590ba23252 fix: invoke package E2E via node so pnpm does not forward --
pnpm run now passes a literal -- into workflow.mjs, which rejects unknown args and blocks release:mac --test-only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 18:19:00 +08:00
hyandCursor 50448bddda fix: allow aborting unpublished release tags for same-version retake
Failed pre-publish tags can be deleted and reused instead of stacking versions; docs and prepare errors point at release:abort.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 17:59:14 +08:00
hy b9e8733662 feat: update release process and storage layout for improved artifact management and download handling 2026-09-07 14:43:11 +08:00
hy b8c8bb73e0 feat: enhance AWS CLI integration with virtual addressing style support and update related tests 2026-09-07 13:00:49 +08:00
Yoan Huang a5f2f20966 feat: enhance SQLite migration handling and improve terminal output quality checks 2026-09-05 21:57:43 +08:00
hy 7cd3782f1e Refactor macOS release handling: remove x64 support and streamline metadata processing
- Removed support for macos-x64 in fragment definitions and related scripts.
- Updated finalize-macos script to only handle macos-arm64, simplifying signature checks and metadata writing.
- Deleted merge-mac-metadata script as it is no longer needed.
- Adjusted storage layout and release status checks to reflect the removal of x64.
- Updated tests to ensure they only validate macos-arm64 functionality.
2026-09-01 16:36:09 +08:00
hy c193edf338 Refactor web crawler sidecar build process and improve Playwright browser handling
- Removed bundled Playwright browser assertions and adjusted driver bundle copying to ignore local browsers.
- Introduced new assertions to ensure no Playwright browser files are bundled with the sidecar.
- Updated macOS and Windows release scripts to remove references to the sidecar browser cache.
- Enhanced WebCrawlerService to utilize an isolated Electron CDP connection for better browser context management.
- Added ElectronWebCrawlerBrowserHost class to manage browser connections and views.
- Updated tests to reflect changes in the web crawler service and ensure proper handling of CDP connections.
- Improved message rendering for AI interactions, including better formatting for tool calls and AI messages.
- Adjusted various test cases to align with new functionality and ensure robustness.
2026-09-01 15:53:33 +08:00
hy 54530878d4 refactor: update environment variable names for release storage configuration 2026-09-01 12:30:39 +08:00
hy d622985d55 refactor: update URLs and storage configurations to use domestic services
- Changed external links in settings-test.md and package.json to point to the new domestic website (guanzhangai.cn).
- Updated electron-builder.yml to publish updates from the new domestic URL.
- Introduced a new storage client for Tencent COS and refactored existing R2 client code to support both storage options.
- Implemented environment variable checks and configurations for Tencent COS and Cloudflare R2.
- Added tests for release storage configuration and ensured proper handling of live publish locks.
- Updated telemetry service to use the new official website URL for event reporting.
2026-09-01 11:44:56 +08:00
hy e9bef184bb feat: implement update required page and app startup status handling
- Added a new UpdateRequiredPage component to handle scenarios where an application update is required before accessing the main interface.
- Integrated app startup status retrieval in the App component to determine if the application is in a normal state or requires an update.
- Updated routing logic to conditionally render the UpdateRequiredPage or the main application layout based on the startup status.
- Enhanced the AppUpdateContext to manage update actions and states effectively.
- Introduced new selectors for testing the update required page and its components.
- Added constants for app startup channels to facilitate communication between the main and renderer processes.
- Updated shared types to include AppStartupStatus for better type safety.
- Created unit tests for SQLite migration to ensure database integrity during updates.
- Implemented end-to-end tests to verify the update flow and recovery page functionality.
2026-08-31 12:39:39 +08:00
hy 3ea0628a65 fix(release): seed native cache in macOS test stage
The test stage builds a clean workspace from the tag but only ran
pnpm install without seeding the prebuilt native cache, so package E2E
re-downloaded better-sqlite3 from GitHub release assets on every run and
failed on flaky network. Seed the cache like the prepare stage does.
2026-08-19 16:11:57 +08:00
hy 553b6830de feat: update Windows release process to remove Actions fallback and enforce local builds only 2026-08-07 11:15:02 +08:00
hy b0cf4fc052 feat: support multiple --case targets for release package E2E and drop dead resume-passed flow 2026-08-05 14:31:26 +08:00
hy b3ac1ee046 fix: build mac sidecar venv outside the workspace root to avoid nltk CWD import blocks 2026-08-04 18:50:37 +08:00
hy 1731cf43e3 fix: allow empty version commit when releasing a mac version already present in package.json 2026-08-04 18:17:33 +08:00
Yoan Huang 79b108d327 Revert "feat: record incremental release regressions"
This reverts commit 29c7c0dd5bb19b8f5118a123701e11b07558c4ec.
2026-08-01 16:40:26 +08:00
Yoan Huang d1d8d69ace feat: record incremental release regressions 2026-08-01 15:30:32 +08:00
hy 8ff10ae0b2 test: refine macOS release E2E scheduling 2026-07-27 19:24:41 +08:00
Yoan Huang 81b130bb67 feat(tests): update execution modes and improve workspace binding
- Set execution mode to 'exclusive' for specific e2e tests to ensure isolated execution.
- Set execution mode to 'live' for various e2e tests to enable real-time interactions.
- Refactor workspace binding in tests to use direct binding method for improved reliability.
- Enable file parallelism in Vitest configurations to enhance test execution efficiency.
2026-07-26 10:54:29 +08:00
Yoan Huang d4974286ef refactor: update test cases to improve structure and clarity
- Remove obsolete end-to-end test for system notification session navigation.
- Enhance workspace scan progress tests to verify UI state restoration.
- Update web prepare progress tests to ensure correct UI behavior after navigation.
- Refactor unit tests for AI persistence and model configuration to improve naming consistency.
- Modify release tests to use localized product names and ensure correct artifact naming.
- Adjust vector and workspace backend tests to reflect unit test categorization.
- Improve error handling in web crawler test utilities.
- Update Electron app launch environment to support additional environment variables.
- Refactor end-to-end test cases for workbench to improve readability and maintainability.
2026-07-25 11:22:23 +08:00
Yoan Huang 61f7301eb7 feat: add Tidy process documentation and enhance test workflows
- Introduced a new documentation file for the Tidy process, outlining steps for aligning documentation with implementation, organizing PRD and test cases, and verifying settings.
- Updated package.json to include a new test command for non-live AI tests and adjusted existing test commands for settings and updates.
- Implemented a cleanup function for local test logs in the release scripts to ensure a clean environment.
- Enhanced the release preparation script to include unit and non-live AI tests in the workflow.
- Added a new script to validate test architecture, ensuring that test cases align with defined plans and rules.
- Refactored existing test cases to improve organization and clarity, including renaming and restructuring tests for better maintainability.
- Adjusted timeout settings for specific tests to improve reliability.
- Corrected domain assignments in several unit tests to ensure proper categorization.
2026-07-25 08:36:13 +08:00
Yoan Huang cc7e473a58 refactor(release): always prune superseded packages 2026-07-24 22:30:38 +08:00
Yoan Huang ada4c149e0 refactor(release): require packaged regression before publish 2026-07-24 22:19:25 +08:00
hy 3c25f2b4a3 feat(release): split platform tag versions 2026-07-24 19:02:42 +08:00
hy e31ed6a008 feat: enhance open-with functionality and session skill persistence
- Added selectors for open-with button and menu in testing selectors.
- Introduced new types for handling open-with applications and requests in shared types.
- Updated tests to save chat sessions and validate session skill states across multiple runs.
- Implemented new tests for open-with panel and service, ensuring correct application handling.
- Refactored existing tests to accommodate changes in preview mode toggles and application handling.
- Enhanced SQLite storage tests to verify session skill persistence and deletion.
- Updated e2e tests to validate open-with functionality and session skill memory across runs.
2026-07-23 18:37:09 +08:00
hy 791795f41a feat: add system notification settings and CDP endpoint service
- Implemented CdpEndpointService to manage the connection to the embedded browser's CDP.
- Added parsing logic for DevToolsActivePort and validation for WebSocket URLs.
- Removed hardcoded remote debugging port and replaced it with dynamic port handling.
- Introduced system notifications settings in the AI runtime settings, allowing users to enable or disable notifications for AI run completions.
- Created a GeneralSettingsPanel component for managing system notification preferences.
- Updated SQLite schema to include a new column for system notifications settings.
- Added unit and end-to-end tests for the new features, ensuring proper functionality and persistence of settings.
- Enhanced the settings UI to accommodate the new general settings section.
2026-07-23 16:11:22 +08:00
hy c87cb87072 fix(release): reuse cached macOS native binaries 2026-07-23 10:19:26 +08:00
Yoan Huang 33191af81e fix(release): include version in download names 2026-07-22 20:09:31 +08:00
Yoan Huang 09f38b0e67 fix(release): shorten Windows release workspace 2026-07-22 12:29:54 +08:00
Yoan Huang 4288a7ffb8 fix(release): shorten Windows sidecar build paths 2026-07-22 12:06:06 +08:00
Yoan Huang cbd6f1ec7c fix(release): prepare Windows source with detached worktree 2026-07-22 11:50:01 +08:00
Yoan Huang 7834cb416a fix(release): extract Windows tag archive from target directory 2026-07-22 11:48:49 +08:00
Yoan Huang 5ec6bf1824 feat(release): split candidate preparation and publishing 2026-07-22 11:46:50 +08:00