Fix notification provider order, add comments (#1905)

* Fix notification provider order, add comments

* Remove log
This commit is contained in:
Eric Bailey
2023-11-14 16:54:02 -06:00
committed by GitHub
parent ab6e3f2c5d
commit 68767d597e
3 changed files with 61 additions and 45 deletions
+10 -2
View File
@@ -72,7 +72,12 @@ const InnerApp = observer(function AppImpl() {
return null return null
} }
/*
* Session and initial state should be loaded prior to rendering below.
*/
return ( return (
<UnreadNotifsProvider>
<ThemeProvider theme={colorMode}> <ThemeProvider theme={colorMode}>
<analytics.Provider> <analytics.Provider>
<RootStoreProvider value={rootStore}> <RootStoreProvider value={rootStore}>
@@ -88,6 +93,7 @@ const InnerApp = observer(function AppImpl() {
</RootStoreProvider> </RootStoreProvider>
</analytics.Provider> </analytics.Provider>
</ThemeProvider> </ThemeProvider>
</UnreadNotifsProvider>
) )
}) })
@@ -102,19 +108,21 @@ function App() {
return null return null
} }
/*
* NOTE: only nothing here can depend on other data or session state, since
* that is set up in the InnerApp component above.
*/
return ( return (
<QueryClientProvider client={queryClient}> <QueryClientProvider client={queryClient}>
<SessionProvider> <SessionProvider>
<ShellStateProvider> <ShellStateProvider>
<PrefsStateProvider> <PrefsStateProvider>
<MutedThreadsProvider> <MutedThreadsProvider>
<UnreadNotifsProvider>
<InvitesStateProvider> <InvitesStateProvider>
<ModalStateProvider> <ModalStateProvider>
<InnerApp /> <InnerApp />
</ModalStateProvider> </ModalStateProvider>
</InvitesStateProvider> </InvitesStateProvider>
</UnreadNotifsProvider>
</MutedThreadsProvider> </MutedThreadsProvider>
</PrefsStateProvider> </PrefsStateProvider>
</ShellStateProvider> </ShellStateProvider>
+10 -2
View File
@@ -60,7 +60,12 @@ const InnerApp = observer(function AppImpl() {
return null return null
} }
/*
* Session and initial state should be loaded prior to rendering below.
*/
return ( return (
<UnreadNotifsProvider>
<ThemeProvider theme={colorMode}> <ThemeProvider theme={colorMode}>
<analytics.Provider> <analytics.Provider>
<RootStoreProvider value={rootStore}> <RootStoreProvider value={rootStore}>
@@ -76,6 +81,7 @@ const InnerApp = observer(function AppImpl() {
</RootStoreProvider> </RootStoreProvider>
</analytics.Provider> </analytics.Provider>
</ThemeProvider> </ThemeProvider>
</UnreadNotifsProvider>
) )
}) })
@@ -90,19 +96,21 @@ function App() {
return null return null
} }
/*
* NOTE: only nothing here can depend on other data or session state, since
* that is set up in the InnerApp component above.
*/
return ( return (
<QueryClientProvider client={queryClient}> <QueryClientProvider client={queryClient}>
<SessionProvider> <SessionProvider>
<ShellStateProvider> <ShellStateProvider>
<PrefsStateProvider> <PrefsStateProvider>
<MutedThreadsProvider> <MutedThreadsProvider>
<UnreadNotifsProvider>
<InvitesStateProvider> <InvitesStateProvider>
<ModalStateProvider> <ModalStateProvider>
<InnerApp /> <InnerApp />
</ModalStateProvider> </ModalStateProvider>
</InvitesStateProvider> </InvitesStateProvider>
</UnreadNotifsProvider>
</MutedThreadsProvider> </MutedThreadsProvider>
</PrefsStateProvider> </PrefsStateProvider>
</ShellStateProvider> </ShellStateProvider>
+1 -1
View File
@@ -32,6 +32,7 @@ export const usePreferencesQueryKey = ['getPreferences']
export function usePreferencesQuery() { export function usePreferencesQuery() {
const {agent, hasSession} = useSession() const {agent, hasSession} = useSession()
return useQuery({ return useQuery({
enabled: hasSession,
queryKey: usePreferencesQueryKey, queryKey: usePreferencesQueryKey,
queryFn: async () => { queryFn: async () => {
const res = await agent.getPreferences() const res = await agent.getPreferences()
@@ -83,7 +84,6 @@ export function usePreferencesQuery() {
} }
return preferences return preferences
}, },
enabled: hasSession,
}) })
} }