From 713460735c77a2f089b30155726b92294cf1af1c Mon Sep 17 00:00:00 2001 From: Eugene Blikh Date: Mon, 27 Apr 2026 10:38:42 +0300 Subject: [PATCH] web: map tool-call setting to boolean attribute --- web/src/lib/toolCalls.test.ts | 22 +++++++++++----------- web/src/lib/toolCalls.ts | 6 +++--- web/src/styles/session.css | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/web/src/lib/toolCalls.test.ts b/web/src/lib/toolCalls.test.ts index 8a36282c74bcca84360ded821e65b0f8931357be..c3afb744e742b012a3502b53dea2100a0fc133b1 100644 --- a/web/src/lib/toolCalls.test.ts +++ b/web/src/lib/toolCalls.test.ts @@ -50,15 +50,15 @@ describe('getToolCallsPreference', () => { }) describe('bootstrapToolCalls', () => { - it('no stored value → data-show-toolcalls="yes"', () => { + it('no stored value → data-show-toolcalls="true"', () => { bootstrapToolCalls() - expect(document.documentElement.dataset['showToolcalls']).toBe('yes') + expect(document.documentElement.dataset['showToolcalls']).toBe('true') }) - it('stored "no" → data-show-toolcalls="no"', () => { + it('stored "no" → data-show-toolcalls="false"', () => { lsStub.setItem('showToolCalls', 'no') bootstrapToolCalls() - expect(document.documentElement.dataset['showToolcalls']).toBe('no') + expect(document.documentElement.dataset['showToolcalls']).toBe('false') }) it('does not register a matchMedia listener', () => { @@ -69,23 +69,23 @@ describe('bootstrapToolCalls', () => { }) describe('setToolCalls', () => { - it('setToolCalls("no") stores and sets data-show-toolcalls', () => { + it('setToolCalls("no") stores and sets data-show-toolcalls="false"', () => { setToolCalls('no') expect(lsStub.getItem('showToolCalls')).toBe('no') - expect(document.documentElement.dataset['showToolcalls']).toBe('no') + expect(document.documentElement.dataset['showToolcalls']).toBe('false') }) - it('setToolCalls("yes") stores and sets data-show-toolcalls', () => { + it('setToolCalls("yes") stores and sets data-show-toolcalls="true"', () => { setToolCalls('yes') expect(lsStub.getItem('showToolCalls')).toBe('yes') - expect(document.documentElement.dataset['showToolcalls']).toBe('yes') + expect(document.documentElement.dataset['showToolcalls']).toBe('true') }) - it('setToolCalls(null) removes key and applies default "yes"', () => { + it('setToolCalls(null) removes key and applies default data-show-toolcalls="true"', () => { lsStub.setItem('showToolCalls', 'no') - document.documentElement.dataset['showToolcalls'] = 'no' + document.documentElement.dataset['showToolcalls'] = 'false' setToolCalls(null) expect(lsStub.getItem('showToolCalls')).toBeNull() - expect(document.documentElement.dataset['showToolcalls']).toBe('yes') + expect(document.documentElement.dataset['showToolcalls']).toBe('true') }) }) diff --git a/web/src/lib/toolCalls.ts b/web/src/lib/toolCalls.ts index c1c60681d575100a684e7311d5d66776b78e26f6..fbf7a7dab8822631d6dfdd440c1903e990c783d2 100644 --- a/web/src/lib/toolCalls.ts +++ b/web/src/lib/toolCalls.ts @@ -11,15 +11,15 @@ export function getToolCallsPreference(): ToolCallsPreference { export function bootstrapToolCalls(): void { const val = getToolCallsPreference() - document.documentElement.dataset['showToolcalls'] = val + document.documentElement.dataset['showToolcalls'] = val === 'yes' ? 'true' : 'false' } export function setToolCalls(value: ToolCallsPreference | null): void { if (value === null) { localStorage.removeItem('showToolCalls') - document.documentElement.dataset['showToolcalls'] = 'yes' + document.documentElement.dataset['showToolcalls'] = 'true' } else { localStorage.setItem('showToolCalls', value) - document.documentElement.dataset['showToolcalls'] = value + document.documentElement.dataset['showToolcalls'] = value === 'yes' ? 'true' : 'false' } } diff --git a/web/src/styles/session.css b/web/src/styles/session.css index 7c8672db925ac874e258db3eae95b48a6accbe92..71a8ddd7feea3e4f48d45a2b7f4e5645a1a88552 100644 --- a/web/src/styles/session.css +++ b/web/src/styles/session.css @@ -46,7 +46,7 @@ cursor: pointer; } -[data-show-toolcalls="no"] .turn[data-tool="1"] { display: none; } +[data-show-toolcalls="false"] .turn[data-tool="1"] { display: none; } .turn.user { background: var(--turn-user); border-left-color: var(--ink-4); } .turn.assistant { background: var(--turn-asst); border-left-color: var(--accent); }