Commit Graph
107 Commits
Author SHA1 Message Date
Yoan Huang fd09e47210 fix(tests): prepare Node SQLite binding for package e2e 2026-07-26 13:50:44 +08:00
Yoan Huang 95118ea6a0 feat(tests): warm vector cache before parallel e2e 2026-07-26 12:24:26 +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 b48859389d feat: implement structured output strategy and retry mechanism with exponential backoff 2026-07-23 13:46:58 +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 6b36672b2a refactor(docs): update README structure and remove obsolete scripts documentation 2026-07-22 12:07:32 +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
Yoan Huang 4ddc364528 feat(release): implement artifact bundle creation and verification
- 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.
2026-07-22 11:31:12 +08:00
Yoan Huang bc7794813f Refactor E2E tests to improve resource management and cleanup
- 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.
2026-07-21 22:56:50 +08:00
hy 8b1b619e04 feat: implement workspace knowledge cache with hit/miss tracking and update related tests 2026-07-20 19:26:56 +08:00
hy fb0c157809 refactor: remove real update test scripts and related commands
- 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.
2026-07-20 18:43:46 +08:00
hy 6e5332670a refactor: change launchMode to serviceMode in e2e tests
- 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.
2026-07-20 18:10:50 +08:00
hy 7b057c05f8 refactor: reorganize scripts and update paths for build and release processes
- 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.
2026-07-20 17:03:38 +08:00
hy 7fb3e2bc25 feat: implement main process obfuscation and verification
- 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.
2026-07-20 14:44:32 +08:00
hy b7720eb10f refactor: streamline function definitions and improve readability in node-pty scripts 2026-07-20 12:57:12 +08:00
hy 2de70f403f feat: enhance error handling and user feedback across application
- 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.
2026-07-20 12:50:38 +08:00
hy 7baa82912d fix(release): isolate macOS launch verification port 2026-07-20 10:59:35 +08:00
hy 6a7f4725bc fix(release): restore Chinese macOS app name 2026-07-20 10:40:25 +08:00
Yoan Huang 53ff40b127 fix(release): preserve sidecar source hash across packaging 2026-07-19 17:02:06 +08:00
Yoan Huang d6fdf50e45 refactor(release): publish platforms independently on R2 2026-07-19 16:43:32 +08:00
Yoan Huang 024a6aa3d9 feat: implement silent installer for Windows updates and enhance related tests 2026-07-19 09:51:36 +08:00
Yoan Huang 2645e5b5d5 feat: remove GitHub Release creation from the release process and update related tests 2026-07-18 22:19:49 +08:00
Yoan Huang ee9b8e0d8a feat: enhance package auditing with path normalization and add related tests 2026-07-18 22:01:31 +08:00
Yoan Huang c40a7d1ea0 Refactor test documentation and improve testing structure
- 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.
2026-07-18 13:54:43 +08:00
Yoan Huang 2cc7598af3 feat: update node-pty to version 1.1.0 and add prebuild support 2026-07-17 21:32:50 +08:00
hy 03cdb47b45 feat: implement macOS package size budget auditing and validation 2026-07-17 18:34:15 +08:00
hy 4cd96edddf feat(ai): add PDF reading skill 2026-07-16 19:16:08 +08:00
hy 7a1db10048 Merge main and integrate persistent terminal sessions 2026-07-16 15:00:48 +08:00
hy b8c6de42b7 Refactor terminal command handling and enhance test coverage
- 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.
2026-07-16 10:18:43 +08:00
hy 5e4d1cd98c refactor: remove app update settings and integrate sidebar update control
- 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.
2026-07-15 17:31:34 +08:00
hy 5487324c26 fix: preserve native dependencies for release targets 2026-07-15 15:01:49 +08:00
hy 3bc06dde08 fix: make signed mac releases launchable 2026-07-15 13:31:00 +08:00
hy 9b3127392f release: prepare v0.1.4 mac update test 2026-07-15 10:46:36 +08:00
hy cbb6a04fb3 Merge branch 'main' of github.com:Yoan98/Ncurator-Desktop 2026-07-15 10:34:10 +08:00
hy a6bf082e0a feat: enhance web crawler sidecar build process and add package content policy
- Updated the build_web_crawler_sidecar.py script to remove full Chromium from bundled browsers and added a function to prune non-runtime files.
- Enhanced create-release-fragment.mjs to validate package security audit data.
- Introduced package-content-policy.mjs to enforce restrictions on forbidden file types and directories in packages.
- Added prepare-package-stage.mjs for staging package preparation, including runtime dependency installation and resource pruning.
- Implemented print-package-audit-summary.mjs to generate a summary of package security audits.
- Created runtime-bundle-graph.mjs to analyze runtime dependencies and collect package names.
- Refactored verify-runtime-bundles.mjs to utilize the new runtime-bundle-graph module for better dependency management.
- Updated release-fragment-contract.test.ts to include tests for package audit integration and validation.
2026-07-15 09:39:19 +08:00
Yoan 11ab367dec feat: enhance Windows release scripts with reuse option and update tests 2026-07-14 22:58:27 +08:00
Yoan 1ab186717d feat: implement local Windows release management and inspection scripts
- Add `release-doctor.mjs` for inspecting local Windows release environment.
- Enhance `release-environment.mjs` to resolve AWS CLI executable on Windows.
- Create `release-status.mjs` for checking public release status across platforms.
- Introduce `release-windows-local.mjs` for building and uploading Windows releases locally.
- Implement `route-windows-release.mjs` to route release processes between local and GitHub Actions.
- Add `windows-release-common.mjs` for shared functions related to Windows releases.
- Update preload scripts to remove E2E fixture mode for app updates.
- Adjust CSS for draggable regions in Windows titlebars.
- Remove outdated E2E tests related to app updates.
- Update tests to reflect new local-first Windows release strategy and ensure proper handling of update scenarios.
2026-07-14 22:41:09 +08:00
hy ceb94d9418 fix: read complete mac signing details 2026-07-14 17:53:14 +08:00