Fix wrong defaults in `normalizeSettings`

easy
By FrontendAtlas Editorial · Updated Oct 5, 2026
A teammate used || while hydrating UI settings, and the bug stayed invisible until real saved values showed up. Now 0, an intentionally blank subtitle, and false keep getting overwritten by defaults. Fix the helper so only truly missing values fall back.

Solution idea

export default function normalizeSettings(settings){

return {

retryCount: settings.retryCount ?? 3,

subtitle: settings.subtitle ?? 'Untitled',

emailOptIn: settings.emailOptIn ?? true

};

}

Examples
normalizeSettings({ retryCount: 0, subtitle: '', emailOptIn: false }) // { retryCount: 0, subtitle: '', emailOptIn: false }

normalizeSettings({ retryCount: undefined, subtitle: null, emailOptIn: undefined }) // { retryCount: 3, subtitle: 'Untitled', emailOptIn: true }