Files
overleaf-cep/services/web/frontend/js/features/ide-react/hooks/use-is-network-stalled.ts
T
Kristina b53bfbe8a4 [web] analytics for flaky connections (#35916)
* emit connection-restored events
* emit post-offline sync success/failure events

GitOrigin-RevId: 3fce5f328d726aeb5edf39f14239ef6e5bda2f99
2026-09-17 11:44:19 +00:00

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
}