diff options
author | Eric Bailey <git@esb.lol> | 2024-05-08 17:41:10 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-08 17:41:10 -0500 |
commit | ce2eddca8e95113146e18281415365806088fd5d (patch) | |
tree | ea2b6a5c6f764944f18448678a3d4047557ba714 /src/state/messages/events/index.tsx | |
parent | 0c6bf276dd43762cb36541d278f95dceb1c35896 (diff) | |
download | voidsky-ce2eddca8e95113146e18281415365806088fd5d.tar.zst |
[🐴] Refactor event bus (#3919)
* Refactor to singleton class outside react * Fix retry, remove debug logs
Diffstat (limited to 'src/state/messages/events/index.tsx')
-rw-r--r-- | src/state/messages/events/index.tsx | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/state/messages/events/index.tsx b/src/state/messages/events/index.tsx index 2de6286e7..08ec77503 100644 --- a/src/state/messages/events/index.tsx +++ b/src/state/messages/events/index.tsx @@ -5,13 +5,13 @@ import {BskyAgent} from '@atproto-labs/api' import {useGate} from '#/lib/statsig/statsig' import {isWeb} from '#/platform/detection' import {MessagesEventBus} from '#/state/messages/events/agent' -import {MessagesEventBusState} from '#/state/messages/events/types' import {useAgent} from '#/state/session' import {useDmServiceUrlStorage} from '#/screens/Messages/Temp/useDmServiceUrlStorage' import {IS_DEV} from '#/env' -const MessagesEventBusContext = - React.createContext<MessagesEventBusState | null>(null) +const MessagesEventBusContext = React.createContext<MessagesEventBus | null>( + null, +) export function useMessagesEventBus() { const ctx = React.useContext(MessagesEventBusContext) @@ -37,12 +37,13 @@ export function Temp_MessagesEventBusProvider({ __tempFromUserDid: getAgent().session?.did!, }), ) - const service = React.useSyncExternalStore(bus.subscribe, bus.getSnapshot) - if (isWeb && IS_DEV) { - // @ts-ignore - window.messagesEventBus = service - } + React.useEffect(() => { + if (isWeb && IS_DEV) { + // @ts-ignore + window.bus = bus + } + }, [bus]) React.useEffect(() => { const handleAppStateChange = (nextAppState: string) => { @@ -61,7 +62,7 @@ export function Temp_MessagesEventBusProvider({ }, [bus]) return ( - <MessagesEventBusContext.Provider value={service}> + <MessagesEventBusContext.Provider value={bus}> {children} </MessagesEventBusContext.Provider> ) |