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:
committed by
GitHub
co-authored by
Bohdan Triapitsyn
parent
3a96c7ce64
commit
a005215458
@@ -687,6 +687,13 @@ export const createSettingsHelpers = (dependencies) => {
|
||||
result.gitChangesViewMode = mode;
|
||||
}
|
||||
}
|
||||
switch (candidate.toolJsonViewMode) {
|
||||
case 'summary':
|
||||
case 'formatted':
|
||||
case 'raw':
|
||||
result.toolJsonViewMode = candidate.toolJsonViewMode;
|
||||
break;
|
||||
}
|
||||
if (typeof candidate.directoryShowHidden === 'boolean') {
|
||||
result.directoryShowHidden = candidate.directoryShowHidden;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user