FRE-600: Fix code review blockers

- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-25 00:08:01 -04:00
parent 65b552bb08
commit 7c684a42cc
48450 changed files with 5679671 additions and 383 deletions

View File

@@ -0,0 +1,47 @@
import {
createContext,
createRenderEffect,
onCleanup,
useContext,
} from 'solid-js'
import type { QueryClient } from './QueryClient'
import type { JSX } from 'solid-js'
export const QueryClientContext = createContext<
(() => QueryClient) | undefined
>(undefined)
export const useQueryClient = (queryClient?: QueryClient) => {
if (queryClient) {
return queryClient
}
const client = useContext(QueryClientContext)
if (!client) {
throw new Error('No QueryClient set, use QueryClientProvider to set one')
}
return client()
}
export type QueryClientProviderProps = {
client: QueryClient
children?: JSX.Element
}
export const QueryClientProvider = (
props: QueryClientProviderProps,
): JSX.Element => {
createRenderEffect<() => void>((unmount) => {
unmount?.()
props.client.mount()
return props.client.unmount.bind(props.client)
})
onCleanup(() => props.client.unmount())
return (
<QueryClientContext.Provider value={() => props.client}>
{props.children}
</QueryClientContext.Provider>
)
}