- Added new test cases for AI user question interactions, including scenarios for rejecting mixed tools and ensuring no auto-answering occurs.
- Updated the test plan documentation to include new test cases and clarify AI question handling processes.
- Improved the Workbench UI to support better user interactions with AI questions, including custom input handling and question navigation.
- Refactored backend code to implement a question resolver that manages AI question interactions and ensures proper event handling.
- Enhanced unit tests to validate the structure and behavior of the ask_user_question tool contract.
- Introduced end-to-end tests for the Workbench AI question flow, ensuring that user interactions are correctly captured and processed.
- 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.
- Updated `settings-test.md` to include new test cases for sequential workspace address preparation and indexing.
- Modified `workbench-test.md` to clarify restrictions on direct calls to workspace preparation methods in E2E tests.
- Revised `test.md` to establish stricter rules for backend case testing, prohibiting the use of mocks and requiring production implementations.
- Refactored IPC handlers to improve job handling and indexing speed application.
- Enhanced `EmbeddingService` to apply indexing speed settings directly.
- Added new tests for sequential workspace preparation and indexing to ensure proper job execution order.
- Introduced utility functions for adding and removing workspace directories through the settings UI in E2E tests.
- Removed the 'Not' field from test plan validation to simplify requirements.
- Updated the test architecture validation script to reflect changes in test plan fields.
- Introduced new functions for handling embedding runtime environment variables and session options.
- Refactored embedding runtime process to utilize new environment parsing logic.
- Enhanced unit tests to validate the correct mapping of thread budgets and session options for different performance tiers.
- Ensured that runtime environment variables are correctly set and parsed, maintaining consistency with budget configurations.
Showcase collection must stay on pnpm test:showcase; including it under backend polluted release:start and caused Electron launch contention.
Co-authored-by: Cursor <cursoragent@cursor.com>
- 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.
- 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.
- Implemented `ppt-management-briefing-edit.showcase.test.ts` to test editing PPTs with AI assistance.
- Created `ppt-management-briefing-review.showcase.test.ts` for reviewing PPTs generated by AI.
- Added `xinghe-kb-reply.showcase.test.ts` to validate knowledge base replies against local documents.
- Developed `xinghe-service-contract.showcase.test.ts` to test AI responses based on PDF contract queries.
- Introduced shared utility functions in `shared.ts` for handling file operations and cost calculations.
- Updated Vitest configuration to include new test paths for showcase cases.
- 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.
- 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.
- 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.
- Refactor E2E installation logic to improve handling of Windows and macOS paths.
- Introduce cleanup functions to remove E2E installation directories and associated shortcuts.
- Update tests to cover new cleanup functionality and ensure proper detection of E2E install paths.
- Modify package isolation helpers to streamline the installation and cleanup processes.
- Update E2E testing commands in documentation to clarify installation paths for macOS and Windows.
- Refactor package application script to improve handling of E2E installations, including renaming and restoring shortcuts.
- Introduce new module for E2E isolation helpers, including functions for detecting installation paths and renaming applications.
- Optimize workspace source service to use Promise.all for concurrent processing of file entries.
- Add reload token mechanism in WorkbenchContentPanel to refresh file explorer state.
- Implement directory loading and refresh logic in WorkspaceFileExplorer to ensure visibility of newly created files.
- Enhance ChatPage workspace selection logic for better path normalization.
- Add unit tests for E2E isolation helpers and E2E tests for workspace file explorer refresh behavior.
- 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.
- Introduced `withOfficeFileWrite` utility to manage file write operations with proper closing and reopening of documents.
- Updated `notifyOfficeFileWritten` to utilize the new utility and handle office file paths more effectively.
- Enhanced `WpsSyncService` to manage document closing and reopening during write operations, ensuring proper synchronization with connected clients.
- Added tests to verify the closing and reopening behavior of documents during write operations, ensuring that the correct events are dispatched to connected add-ins.
- Refactored existing code to improve readability and maintainability, including the handling of file paths and error management.
- Introduced a new WPS addon manifest and ribbon configuration.
- Implemented WpsAddonInstaller for managing addon installation and configuration.
- Created WpsSyncService to handle synchronization events and document tracking.
- Added utility functions for handling office file write notifications.
- Developed publishXml functions to manage the merging of publish.xml for the addon.
- Implemented tests for WpsSyncService, WpsAddonInstaller, and office file notifications.
- Added end-to-end tests for verifying WPS reload behavior on document modifications.
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.
COS CDN can keep immutable Content-Disposition after metadata updates
when purge is unavailable; trust origin head-object and warn if public
headers lag.
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.
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>
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>
- Removed unused imports and consolidated message handling in context compaction tests.
- Updated context compaction logic to utilize new message log structures.
- Enhanced test coverage for message log recovery and tail processing.
- Improved scheduled task trigger tests to ensure timing accuracy.
- Aligned AI run context creation in tool harnesses for consistency.
- Added options parameter to createWorkbenchNewSession for flexible model selection.
- Implemented MessageTimeline component to display messages in a timeline format.
- Integrated timeline functionality into ChatPage, allowing users to navigate through message history by day, month, and year.
- Added utility functions for handling timeline data, including building timeline nodes and collecting message day starts.
- Updated tests to cover new timeline features and ensure correct functionality.
- Refactored existing code to remove redundant functions and improve clarity.
- Enhanced UI elements for better user experience when interacting with the timeline.
- Removed unused 'wait' status and replaced with 'learning' in assistant execution types.
- Enhanced assistant execution summary text for various tool actions, including improved translations for user feedback.
- Refactored logic for building execution summaries to streamline handling of tool statuses and text segments.
- Updated tests to reflect changes in execution summary behavior and ensure accurate assertions for tool actions.
- Improved terminal command handling in tests, allowing for detached execution scenarios and refining assertions for terminal command results.
- Adjusted e2e tests to validate rendering of process activities and final answers, ensuring compliance with updated requirements.
- Updated architecture documentation to clarify the generation of AI tool prompt audit examples.
- Revised workbench test plan to specify Excel tool coverage and ensure accurate validation of user workflows without redundant operation enumeration.
- Modified script comments for generating AI tool prompt audit to reflect new command usage and clarify that generated examples are not stored in the repository.
- 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.
- 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.
- 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.
- Moved test fixtures from `tests/fixtures/workspace` to `tests/fixtures/backend` for better structure and clarity.
- Updated all references in test cases to point to the new fixture paths.
- Removed obsolete fixture generation scripts for Excel and DOCX files.
- Enforced read-only constraints on fixture files, ensuring tests do not modify them directly.
- Added new binary files for backend fixtures to support ongoing tests.
- 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.
- Changed the web search tool to differentiate between 'fetch' and 'search' types using a discriminated union in the input schema.
- Updated the handling of web search results to return structured outputs for both fetching a URL and searching for content.
- Refactored related functions and types to accommodate the new structure, including output types and error handling.
- Adjusted tests to reflect the new input structure and ensure proper functionality for both fetching and searching scenarios.
- Enhanced the rendering of web search results to align with the new output format.