multiple chats must be able to work in parallel #33
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
chats that are active must have an indicator in the session list in the sidebar that they are active. and the user must be able to switch to different sessions or start new sessions while that session is handled in its own thread and the user must be able to start multiple sessions this way and multiple sessions must be able to run in parallel. every active session gets its own thread, so that it is not blocking.
if any session is marked as active still, the user is asked for confirmation when they try to quit the app, either by cmd-q, menu item or closing the last window.
Implemented in
7d865df. Active chats now retain complete independent state when switched away: transcript streaming, queued prompts, generation/compaction/title receivers, context counters, KV checkpoint identity, agent tools and approvals, A2UI state, images, and errors. All foreground/background pipelines are polled independently; tools run on their own workers while model inference stays on the single shared model runtime, avoiding an impossible duplicate 80–197 GiB model allocation and matching DS4's shared-engine/independent-session ownership model. The sidebar shows a green active indicator, switching and New Chat remain enabled during work, active sessions cannot be deleted/rebuilt, async exports/images stay bound to their originating chat, and close-window/File Quit/Cmd-Q all show an active-chat confirmation. Added focused activity/polling/quit/shortcut tests and documented the behavior. Verified with cargo fmt --all -- --check, cargo clippy --all-targets --all-features -- -D warnings, make bundle, and cargo test --all-features (126 passed, 12 hardware-dependent tests ignored).