Commit Graph
16 Commits
Author SHA1 Message Date
Kang 15908b7204 refactor(external_process): restructure child process management and enhance cleanup
- Introduced `AgentChild` to manage the lifecycle of external agent processes, ensuring proper cleanup of child processes and their associated resources.
- Updated `ExternalAgentChild` to utilize `AgentChild`, improving the handling of process termination and output capturing.
- Added tests for descendant cleanup behavior on Windows to ensure that child processes are properly terminated and resources are released.
- Refactored related code in `claude_code_runtime` and `codex_runtime` to use the new `spawn` method for process initialization.
- Enhanced shutdown logic in `app_state` to cancel all running agents and chats when closing terminals, improving resource management.
2026-11-04 15:04:27 +08:00
Kang 74ba8984eb chore(desktop): document the session dialog scroll handle exception 2026-10-27 15:01:12 +08:00
Kang cdead1d343 fix(tests): resolve symlink handling in verified_move_keeps_source_if_it_changes_during_copy test
- Updated the test to use canonical paths for source and target directories, ensuring compatibility with macOS symlink behavior.
- Enhanced the assertion to provide clearer error messages when the copy operation does not reach the source mutation, improving test reliability.
2026-10-23 17:58:57 +08:00
Kang a6c04cfd08 feat(tests): enhance PowerShell execution tests with improved timeout handling and prompt verification
- Updated the PowerShell test to include a custom prompt function, ensuring accurate readiness detection.
- Implemented a more robust timeout mechanism for PowerShell execution, allowing for better handling of execution delays.
- Added assertions to verify that PowerShell execution completes successfully and does not time out unexpectedly.
- Refactored the test logic to improve clarity and maintainability, ensuring consistent behavior across test runs.

Validated on Windows with workspace checks, tests, formatting, and all-target clippy.
2026-10-18 19:52:54 +08:00
Kang 567934ba38 feat(threading): introduce BackgroundCleanup for executor-managed task cleanup
- Added `BackgroundCleanup` struct to manage cleanup tasks in a background executor, ensuring that dropped workers do not block the main thread.
- Refactored existing threading logic to utilize `spawn_joinable` for thread creation, enhancing task management and cleanup during shutdown.
- Updated various components to integrate background cleanup, including external editor watchers and transfer state management.
- Added tests to verify the functionality of cleanup tasks and their execution order during shutdown.
2026-10-16 21:49:52 +08:00
Kang c3a6f3f44b fix(ci): restore macOS plugin tests and architecture gate 2026-10-05 19:28:38 +08:00
Kang e11cf9de64 fix(ci): update SSH disconnect worker baseline 2026-10-03 21:52:23 +08:00
Kang 2cbec5110b fix(ci): approve AI scroll and workspace test baselines 2026-10-03 17:05:50 +08:00
Kang 3c7ebd60a3 ci: update architecture allowlist baselines 2026-10-02 19:17:23 +08:00
Kang 5789b8fa16 ci: remove stale remote editor scroll allowlist 2026-09-27 09:52:42 +08:00
Kang 68d8d86f84 fix(ci): allow managed asset table scroll 2026-09-21 23:11:33 +08:00
Kang 81c6bf6198 fix(ci): allow owned xymodem worker thread 2026-09-18 16:56:04 +08:00
Kang 97401bddac refactor(tests): update test imports for clarity and organization
- Replaced wildcard imports with explicit imports in test modules across multiple files, enhancing code readability and maintainability.
- This change improves the clarity of dependencies in test cases, making it easier to understand which components are being utilized in each test.
2026-09-01 12:04:42 +08:00
Kang 8fe05f6050 refactor(desktop): centralize background job execution
Route short-lived blocking work through a bounded scheduler with cooperative cancellation, typed outcomes, panic containment, and shutdown metrics. Own and join long-lived desktop workers, including transfer watchers and protocol pipelines, and enforce the remaining thread constructors through the architecture allowlist.
2026-08-30 09:39:45 +08:00
Kang 5e0b1dfcd4 fix(ui): conform scroll containers to UI contracts
Keep absolutely positioned popup geometry on non-scrolling shells and move scrolling into in-flow NyaScrollable children. Expose horizontal overflow in the app menu and session tabs, preserve dedicated editor scrollbars, and retire the wildcard-import and popup-scroll architecture exceptions.
2026-08-30 01:15:32 +08:00
Kang cd5c925676 chore(ci): enforce warnings and architecture boundaries
Clear the existing workspace Clippy warnings and make warnings fatal in CI. Add a budgeted architecture check that prevents new crate-boundary, raw-thread, raw-scroll, module-path, and wildcard-import debt while requiring every temporary exception to stay justified and current.
2026-08-30 00:58:09 +08:00