Commit Graph
10 Commits
Author SHA1 Message Date
lzt404 18a9bfbaa9 fix(ui): unify bottom-right notifications and improve dialog interactions
- Move operation feedback into a shared floating stack to prevent layout shifts
- Allow identical errors to reappear after dismissal
- Support keyboard navigation, scrolling, and focus restoration in dialogs
- Add notification interaction regression tests
- Remove code comments throughout the project
2026-09-15 02:39:03 +08:00
lzt404 9042421292 fix(config): prevent API provider loss during alias updates and migration
- Validate provider integrity before saving alias changes
- Reject rendered YAML that differs from the expected configuration
- Abort migration when existing config cannot be read or parsed
- Remove lossy config recovery fallback
- Add regression tests for provider loss, locked files, malformed config, and repeated updates
2026-09-11 16:25:14 +08:00
lzt404 be2461befd fix(core): prevent orphaned Windows core processes from blocking updates
- Stop live core processes before updates, regardless of port availability
- Wait for process termination before replacing files
- Block new core operations and cancel startup during shutdown
- Attach the Windows Job immediately after spawning
- Abort updates and restarts when stopping the core fails
- Add lifecycle and file-lock regression tests; all 33 related tests pass
2026-09-09 12:13:57 +08:00
lzt404 53ef4dc264 fix(core): prevent startup failures after core updates
Atomically replace core files, recover from macOS SIGKILLs, and capture startup output for diagnostics.

Fixes #224
2026-09-08 13:35:08 +08:00
lzt404 08c915b18b fix(linux): prevent core shutdown when worker threads exit
- Spawn Linux core processes on a dedicated, persistent thread instead of temporary background workers.
- Preserve parent-death signaling to stop the core when the GUI exits.
- Keep existing process management and Windows/macOS launch behavior unchanged.
- Add regression tests for launcher thread exit, runtime shutdown, spawn failure recovery, and parent-process termination.
2026-09-06 13:18:44 +08:00
lzt404 647806386b fix: isolate core processes per installation directory
- Match core processes by their actual executable paths
- Prevent different EasyCLIProxyAPI installations from interfering
- Adopt orphaned core processes from the current cpa-core directory
- Rescan and terminate owned core processes during shutdown
- Enforce a single app instance per installation directory
- Clean up core processes that fail to enter the Windows job object
- Add multi-directory process isolation and instance lock tests
2026-08-26 01:56:46 +08:00
lzt404 32b47575b5 feat: redesign version management and restore core after updates
- Add a dedicated version management page
- Improve app, core, and model catalog status displays
- Preserve the core runtime state during updates
- Automatically restart the core after successful, failed, or cancelled updates
- Add tests for version management and core runtime restoration
2026-08-26 01:56:46 +08:00
lzt404 11b1ea23a5 fix(core): preserve installed plugins during core updates
Overlay extracted core files onto the existing installation instead of
replacing the entire cpa-core directory, preserving plugins and user data.
2026-08-15 13:31:58 +08:00
lzt404 dbd97d862f fix(core): show processing state during automatic startup
- track automatic core startup in shared runtime state
- expose the starting state through CoreStatus
- disable core controls while startup is in progress
- clear the processing state after startup succeeds or fails
- add regression tests for startup state handling
2026-08-14 01:37:35 +08:00
lzt404 906f68f566 refactor: modularize backend architecture and test suite
- split Tauri business logic out of main.rs by domain
- separate agent and core configuration submodules
- organize Rust tests by feature with shared test support
- split frontend locale resources
2026-08-10 13:30:45 +08:00