Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
74b5b94
fix(desktop): remove model and thinking-level success toasts
Sun-GLiang Aug 25, 2026
3686d2a
fix(desktop): make model setting changes instant
Sun-GLiang Aug 25, 2026
ee34dd0
fix(desktop): settle model settings across send paths
Sun-GLiang Aug 25, 2026
046484b
fix(desktop): close model-setting send races
Sun-GLiang Aug 25, 2026
a401931
fix(desktop): preserve latest model setting intent
Sun-GLiang Aug 25, 2026
001df6b
fix(desktop): close model-setting surface races
Sun-GLiang Aug 25, 2026
b1ae2a7
fix(desktop): retain model-setting settlement results
Sun-GLiang Aug 25, 2026
27f5ec7
refactor(desktop): drop renderer model-setting send ordering
Sun-GLiang Aug 25, 2026
b6d6493
refactor(desktop): reuse session setting intents for model controls
Sun-GLiang Aug 25, 2026
3b6ced5
refactor(desktop): unify permission setting intent
Sun-GLiang Aug 25, 2026
7bfcde5
fix(ui): expose selected model settings accessibly
Sun-GLiang Aug 25, 2026
3fdf585
test(desktop): guard unified session setting intents
Sun-GLiang Aug 25, 2026
597cfe7
fix(desktop): settle model settings before send
Sun-GLiang Aug 25, 2026
1809f94
fix(desktop): add stable setting settlement helper
Sun-GLiang Aug 25, 2026
06c41c4
fix(desktop): version session setting requests
Sun-GLiang Aug 25, 2026
e415879
fix(desktop): stabilize model settlement before send
Sun-GLiang Aug 25, 2026
910aeb1
chore: retrigger CI
Sun-GLiang Aug 25, 2026
7b85ced
chore: retrigger CI
Sun-GLiang Aug 25, 2026
8bc2408
merge: resolve main conflicts for model settings
Sun-GLiang Aug 26, 2026
a8f5d27
test(ui): assert thinking-level radio state
Sun-GLiang Aug 26, 2026
7a857b7
fix(desktop): correct optimistic setting intent ownership
Sun-GLiang Aug 26, 2026
e2a47d4
fix(desktop): keep latest setting overlay visible
Sun-GLiang Aug 26, 2026
9953bbc
fix(desktop): keep intent settlement independent of refresh
Sun-GLiang Aug 26, 2026
9a20b96
fix(desktop): converge model configuration intents
Sun-GLiang Aug 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,6 @@ function seededState(): AppShellSessionUiState {
drop: [boundaryRequest('drop')],
keep: [boundaryRequest('keep')],
},
pendingPermissionModeBySession: { drop: true, keep: true },
pendingSessionModelBySession: { drop: true, keep: true },
};
}

Expand All @@ -91,6 +89,13 @@ describe('session live run display state', () => {
});

describe('app shell session UI state controller', () => {
it('does not mirror session-setting writes into UI pending state', () => {
assert.equal(
'pendingPermissionModeBySession' in createInitialAppShellSessionUiState(),
false,
);
});

it('selects background terminal sessions without cutting off the active handoff', () => {
const sessions = [
{ id: 'running', status: 'running' },
Expand Down Expand Up @@ -183,8 +188,6 @@ describe('app shell session UI state controller', () => {
assert.deepEqual(Object.keys(next.stopPendingBySession), ['keep']);
assert.deepEqual(Object.keys(next.liveTurnBySession), ['keep']);
assert.deepEqual(Object.keys(next.interactionBySession), ['keep']);
assert.deepEqual(Object.keys(next.pendingPermissionModeBySession), ['keep']);
assert.deepEqual(Object.keys(next.pendingSessionModelBySession), ['keep']);
});

it('keeps state identity for no-op map updates and only replaces the selected map', () => {
Expand Down
Loading