- 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.
- 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.
- 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.
- 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.
- 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.
- Added `artifact-bundle.mjs` for creating and verifying release bundles.
- Updated macOS and Windows release scripts to create and upload release bundles.
- Introduced `--package-e2e` flag to run end-to-end tests on packaged releases.
- Modified `package.json` scripts to remove deprecated commands and streamline release process.
- Enhanced E2E testing to utilize release bundles instead of building from source.
- Added unit tests for artifact bundle creation and verification.
- Removed obsolete `route-windows.mjs` script in favor of a unified `windows.mjs` script.
- Introduced E2EResourceScope for managing resources during E2E tests.
- Updated test cases to register resources and handle disposal in a structured manner.
- Enhanced error handling during resource disposal to capture and report errors.
- Modified workspace setup functions to ensure proper cleanup after tests.
- Adjusted imports and added necessary utility functions for resource management.
- Deleted the `update-real.mjs` and `update-real-windows.mjs` scripts as they are no longer needed.
- Updated `package.json` to remove references to the real update test commands.
- Adjusted documentation in `test.md`, `settings-test.md`, and `release.md` to reflect changes in the update testing process, focusing on simulated updates instead of real updates.
- Updated multiple e2e test files to replace 'launchMode: real' with 'serviceMode: real' for consistency in service mode configuration.
- Refactored the electronApp.ts to introduce E2EServiceMode and related types for better clarity and maintainability.
- Enhanced run-e2e-case.ts to accommodate the new service mode structure, ensuring proper handling of test cases.
- Created workspaceFixture.ts to manage temporary workspaces more efficiently during tests.
- Removed obsolete test script `test_crawl4ai_fit_markdown.py`.
- Deleted `verify-package-main-obfuscation.mjs` as it is no longer needed.
- Updated paths in `app-update-publish-config.test.ts` to reflect new script locations.
- Refactored `package-content-policy.test.ts` to use new paths for content policy scripts.
- Adjusted `package-main-obfuscation.test.ts` to point to the new obfuscation script locations.
- Modified `package-size-budget.test.ts` to use updated paths for size budget scripts.
- Changed `r2-update-metadata-contract.test.ts` to reference the new metadata script.
- Updated `release-fragment-contract.test.ts` to use the new fragment contract script.
- Refactored `release-storage-layout.test.ts` to point to the new storage layout script.
- Added `runtime-trace.test.ts` to test runtime tracing functionality.
- Updated `node-pty-native-release.test.ts` to reflect new paths for native release scripts.
- Add package-main-obfuscation.mjs to handle obfuscation of main process JavaScript files.
- Introduce obfuscatePackageMain function to obfuscate main files and generate a report.
- Implement verifyPackageMainObfuscation function to validate obfuscation reports.
- Create obfuscate-package-main.mjs script for command-line obfuscation execution.
- Add audit-packaged-app.mjs to check for protected plaintext exposure in packaged apps.
- Enhance tests to cover obfuscation and verification processes, including protected markers.
- Ensure obfuscation does not exceed specified growth limits and maintains original functionality.
- Introduced `normalizeUserFacingError` utility to standardize error messages for users, improving clarity and consistency.
- Updated `AppUpdateProvider` to utilize the new error normalization for update-related messages.
- Enhanced `ChatPage` to format run failure messages, providing more context to users.
- Created a new utility file for user-facing error normalization.
- Updated types to include structured output capabilities for models.
- Added tests for user-facing error normalization and model selection behavior.
- Implemented end-to-end tests to validate model selection and error handling in the workbench.
- Updated the test documentation in `doc/test.md` to clarify the purpose and structure of regression and unit tests, including changes to execution summaries and test file organization.
- Modified ESLint configuration in `eslint.config.mjs` to exclude specific directories and adjust rules for `.mjs` files.
- Removed unnecessary ESLint disable comments from various script files to enforce cleaner code practices.
- Introduced a new test case for image analysis in `tests/case/ai/tool/utility/image-analyze-contract.test.ts` to validate the behavior of the image recognition tool.
- Enhanced existing unit tests in `tests/case/unit/webCrawler/web-search-sidecar-retry.test.ts` and `tests/case/unit/workbench/assistant-markdown-memo.test.ts` for better reliability and clarity.
- Updated TerminalRunCommandResult type to use 'output' instead of 'stdout' and 'stderr'.
- Modified terminal tests to accommodate the new output structure.
- Introduced TerminalSessionManager for better session management in terminal commands.
- Enhanced e2e tests for terminal background service flow and browser interactions.
- Improved workspace setup functions to support IPC binding mode.
- Added new unit tests for workbench process copy and terminal session management.
- Ensured all tool specs provide schema-valid examples and improved prompt contracts.
- Removed app update section from settings and related constants.
- Introduced SidebarUpdateControl component for managing app updates in the sidebar.
- Updated AppUpdateContext and AppUpdateProvider to handle update logic.
- Added IPC channels for downloading updates and modified service contract tests.
- Updated E2E tests to reflect changes in app update handling and UI.