Fix CLI subagent task routing, Ctrl+C cancellation, and session restore reliability
- Construct ServerTask directly for Bedrock CLI subagents so messages route correctly without needing a server CreateTask upgrade - Handle CliAgentUserQuery input type in both request translators, including running command context and terminal output - Add force_cancel_all_streaming_exchanges fallback for when Ctrl+C finds no in-flight streams (stuck subagent / unexpected stream end) - Cancel active conversation on Ctrl+C in agent view compose state - Skip agent view entry when agent is tagged-in for a running command - Set root_task_id on Bedrock requests for proper optimistic task upgrade - Persist app state on will_terminate to avoid losing sessions - Trust persisted CWD without is_dir() recheck (fixes network mount restore) - Log warning instead of silently dropping tabs with unreadable root nodes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
148c97eab1
commit
57c843d1de
@@ -1866,6 +1866,11 @@ fn app_callbacks(is_integration_test: bool) -> galaxyui::platform::AppCallbacks
|
||||
);
|
||||
})),
|
||||
on_will_terminate: Some(Box::new(move |ctx| {
|
||||
// Persist the final app state before tearing down the writer.
|
||||
// This ensures the latest session (tabs, CWD, conversations) is saved
|
||||
// even if the termination bypassed individual window-close events.
|
||||
ctx.dispatch_global_action("workspace:save_app", &());
|
||||
|
||||
NotebookManager::handle(ctx).update(ctx, |manager, ctx| {
|
||||
// Notebooks are only saved periodically, so ensure that any pending changes have
|
||||
// been sent to the writer thread before terminating.
|
||||
|
||||
Reference in New Issue
Block a user