fix(tui): persist global details mode sections

Pin all detail sections when /details sets a global mode so config sync does not restore built-in section defaults.
This commit is contained in:
Brooklyn Nicholson
2026-04-29 16:46:42 -05:00
parent b52b63396c
commit c2cb6d1071
4 changed files with 48 additions and 2 deletions

View File

@@ -141,6 +141,12 @@ describe('createSlashHandler', () => {
expect(createSlashHandler(ctx)('/details toggle')).toBe(true)
expect(getUiState().detailsMode).toBe('expanded')
expect(getUiState().detailsModeCommandOverride).toBe(true)
expect(getUiState().sections).toEqual({
thinking: 'expanded',
tools: 'expanded',
subagents: 'expanded',
activity: 'expanded'
})
expect(ctx.gateway.rpc).toHaveBeenCalledWith('config.set', {
key: 'details_mode',
value: 'expanded'

View File

@@ -266,7 +266,9 @@ export const coreCommands: SlashCommand[] = [
return transcript.sys(DETAILS_USAGE)
}
patchUiState({ detailsMode: next, detailsModeCommandOverride: true })
const sections = Object.fromEntries(SECTION_NAMES.map(section => [section, next]))
patchUiState({ detailsMode: next, detailsModeCommandOverride: true, sections })
gateway.rpc<ConfigSetResponse>('config.set', { key: 'details_mode', value: next }).catch(() => {})
transcript.sys(`details: ${next}`)
}