···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
···44import {Provider as AlsoLikedFeedProvider} from './also-liked-feed-enabled'
55import {Provider as AltTextRequiredProvider} from './alt-text-required'
66import {Provider as AutoLikeOnRepostProvider} from './auto-like-on-repost'
77+import {Provider as SettingsSyncProvider} from './settings-sync'
78import {Provider as AutoplayProvider} from './autoplay'
89import {Provider as ConstellationProvider} from './constellation-enabled'
910import {Provider as ConstellationInstanceProvider} from './constellation-instance'
···7172 useRequireAltTextEnabled,
7273 useSetRequireAltTextEnabled,
7374} from './alt-text-required'
7575+export {useSettingsSyncEnabled, useSetSettingsSyncEnabled} from './settings-sync'
7476export {useAutoplayDisabled, useSetAutoplayDisabled} from './autoplay'
7577export {
7678 useDisableComposerPrompt,
···124126125127export function Provider({children}: PropsWithChildren<{}>) {
126128 return (
129129+ <SettingsSyncProvider>
127130 <LanguagesProvider>
128131 <AltTextRequiredProvider>
129132 <AutoLikeOnRepostProvider>
···243246 </AutoLikeOnRepostProvider>
244247 </AltTextRequiredProvider>
245248 </LanguagesProvider>
249249+ </SettingsSyncProvider>
246250 )
247251}