feat(chat): remember JSON output view mode (#3072)

* feat(chat): remember JSON output view mode

* perf(chat): skip JSON preference reads for text output

* fix(chat): persist JSON view in UI settings

* fix(chat): round-trip JSON view preference

---------

Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
Andrea V
2026-09-05 18:27:38 +03:00
committed by GitHub
co-authored by Bohdan Triapitsyn
parent 3a96c7ce64
commit a005215458
10 changed files with 168 additions and 85 deletions
@@ -88,6 +88,15 @@ describe('settings helpers', () => {
})).toEqual({});
});
it('persists valid tool JSON view modes', () => {
const helpers = createTestHelpers();
expect(helpers.sanitizeSettingsUpdate({ toolJsonViewMode: 'summary' })).toEqual({ toolJsonViewMode: 'summary' });
expect(helpers.sanitizeSettingsUpdate({ toolJsonViewMode: 'formatted' })).toEqual({ toolJsonViewMode: 'formatted' });
expect(helpers.sanitizeSettingsUpdate({ toolJsonViewMode: 'raw' })).toEqual({ toolJsonViewMode: 'raw' });
expect(helpers.sanitizeSettingsUpdate({ toolJsonViewMode: 'unknown' })).toEqual({});
});
it('accepts only booleans for wide chat layout', () => {
const helpers = createTestHelpers();