feat: accept wide chat layout setting in updates

Sanitizes wideChatLayoutEnabled when it is a boolean
Rejects non-boolean values for the setting
Covers the new behavior with tests
This commit is contained in:
Bohdan Triapitsyn
2026-07-25 11:21:21 +03:00
parent 57cfce9596
commit 248e403977
2 changed files with 11 additions and 0 deletions
@@ -558,6 +558,9 @@ export const createSettingsHelpers = (dependencies) => {
if (typeof candidate.expandedEditorToolbar === 'boolean') {
result.expandedEditorToolbar = candidate.expandedEditorToolbar;
}
if (typeof candidate.wideChatLayoutEnabled === 'boolean') {
result.wideChatLayoutEnabled = candidate.wideChatLayoutEnabled;
}
if (typeof candidate.showSplitAssistantMessageActions === 'boolean') {
result.showSplitAssistantMessageActions = candidate.showSplitAssistantMessageActions;
}
@@ -66,6 +66,14 @@ describe('settings helpers', () => {
expect(helpers.sanitizeSettingsUpdate({ draftStartersVisible: 'false' })).toEqual({});
});
it('accepts only booleans for wide chat layout', () => {
const helpers = createTestHelpers();
expect(helpers.sanitizeSettingsUpdate({ wideChatLayoutEnabled: true })).toEqual({ wideChatLayoutEnabled: true });
expect(helpers.sanitizeSettingsUpdate({ wideChatLayoutEnabled: false })).toEqual({ wideChatLayoutEnabled: false });
expect(helpers.sanitizeSettingsUpdate({ wideChatLayoutEnabled: 'true' })).toEqual({});
});
it('accepts messageStreamTransport as a persisted shared setting', () => {
const helpers = createTestHelpers();