mirror of
https://github.com/nyakang/nyaterm.git
synced 2026-11-15 08:08:08 +00:00
Move preview decoding and translation HTTP clients into dedicated UI-independent crates. Move file operations, terminal algorithms and presentation helpers, TRZSZ execution, parsing and workspace algorithms to their authoritative crates. Split desktop session/settings state, terminal frame processing and the connection editor by responsibility without duplicating mutable state. Keep GPUI composition, task ownership and persistence adaptation in desktop, and register the new crates in architecture checks and CI. Preserve persisted formats and credential encryption contracts. Document the boundaries and validation in DESKTOP_SPLIT_PLAN.md. Bound ETXTBSY retries in temporary executable test fixtures without changing production behavior or assertions. Linux validation: workspace/app checks, formatting, workspace Clippy, architecture checks and 39 Python tests passed. Full workspace tests passed: 5,953 passed and 37 existing ignored, using a non-root runner with the desktop parent serialized and subprocess fixtures at eight threads.