mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-12 21:23:45 +01:00
* emit connection-restored events * emit post-offline sync success/failure events GitOrigin-RevId: 3fce5f328d726aeb5edf39f14239ef6e5bda2f99
20 lines
892 B
TypeScript
20 lines
892 B
TypeScript
import { useFeatureFlag } from '@/shared/context/split-test-context'
|
|
import { useUnsavedDocsContext } from '@/features/ide-react/context/unsaved-docs-context'
|
|
import { useIdeReactContext } from '@/features/ide-react/context/ide-react-context'
|
|
import { useConnectionContext } from '../context/connection-context'
|
|
|
|
export function useIsNetworkStalledState(): boolean {
|
|
const { isSavingStalled } = useUnsavedDocsContext()
|
|
const { outOfSync } = useIdeReactContext()
|
|
const { isConnected, connectionState } = useConnectionContext()
|
|
const websocketDisconnected =
|
|
!isConnected || connectionState.reconnectAt !== null
|
|
return isSavingStalled || outOfSync || websocketDisconnected
|
|
}
|
|
|
|
export default function useIsNetworkStalled(): boolean {
|
|
const enabled = useFeatureFlag('intermittent-connection-improvements')
|
|
const stalled = useIsNetworkStalledState()
|
|
return enabled && stalled
|
|
}
|