···6868 writeToStorage(_state)
6969 broadcast.postMessage({event: {type: UPDATE_EVENT, key}})
7070 broadcast.postMessage({event: UPDATE_EVENT}) // Backcompat while upgrading
7171+ // Also notify listeners in the current tab directly — BroadcastChannel
7272+ // only reaches other tabs, so without this, onUpdate() is silent for the
7373+ // tab that made the write (which breaks bulk writes like settings sync pull).
7474+ _emitter.emit('update:' + key)
7175}
7276write satisfies PersistedApi['write']
7377
···33import {Provider as AlsoLikedFeedProvider} from './also-liked-feed-enabled'
44import {Provider as AltTextRequiredProvider} from './alt-text-required'
55import {Provider as AutoLikeOnRepostProvider} from './auto-like-on-repost'
66+import {Provider as SettingsSyncProvider} from './settings-sync'
67import {Provider as AutoplayProvider} from './autoplay'
78import {Provider as ConstellationProvider} from './constellation-enabled'
89import {Provider as ConstellationInstanceProvider} from './constellation-instance'
···6667 useRequireAltTextEnabled,
6768 useSetRequireAltTextEnabled,
6869} from './alt-text-required'
7070+export {useSettingsSyncEnabled, useSetSettingsSyncEnabled} from './settings-sync'
6971export {useAutoplayDisabled, useSetAutoplayDisabled} from './autoplay'
7072export {
7173 useDisableComposerPrompt,
···119121120122export function Provider({children}: PropsWithChildren<{}>) {
121123 return (
124124+ <SettingsSyncProvider>
122125 <LanguagesProvider>
123126 <AltTextRequiredProvider>
124127 <AutoLikeOnRepostProvider>
···236239 </AutoLikeOnRepostProvider>
237240 </AltTextRequiredProvider>
238241 </LanguagesProvider>
242242+ </SettingsSyncProvider>
239243 )
240244}