From 43c640ed594189a15c9b5019630efb28f97d957c Mon Sep 17 00:00:00 2001 From: Jimmy Domagala-Tang Date: Tue, 5 Aug 2025 12:15:07 -0400 Subject: [PATCH] Add event when the connection lost modal is shown for users who have internet, but doc saves aren't successful (#25960) * adding naive event send for case where realtime is disconnected, but user has internet connection for events * using reportError and moving ops length summation to getUnsavedOpsSize GitOrigin-RevId: 7c1c8e31ddbaa21fbc299703c69cf07ab46df925 --- .../unsaved-docs/unsaved-docs-locked-alert.tsx | 14 +++++++++++++- .../features/ide-react/editor/open-documents.ts | 16 ++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/services/web/frontend/js/features/ide-react/components/unsaved-docs/unsaved-docs-locked-alert.tsx b/services/web/frontend/js/features/ide-react/components/unsaved-docs/unsaved-docs-locked-alert.tsx index 3630cc5dab..18d5952435 100644 --- a/services/web/frontend/js/features/ide-react/components/unsaved-docs/unsaved-docs-locked-alert.tsx +++ b/services/web/frontend/js/features/ide-react/components/unsaved-docs/unsaved-docs-locked-alert.tsx @@ -1,9 +1,21 @@ -import { FC } from 'react' +import { FC, useEffect } from 'react' import { useTranslation } from 'react-i18next' import OLNotification from '@/features/ui/components/ol/ol-notification' +import { useEditorManagerContext } from '@/features/ide-react/context/editor-manager-context' +import { useIdeReactContext } from '@/features/ide-react/context/ide-react-context' export const UnsavedDocsLockedAlert: FC = () => { const { t } = useTranslation() + const { openDocs } = useEditorManagerContext() + const { reportError } = useIdeReactContext() + + useEffect(() => { + const { pendingOpsLength, inflightOpsLength } = openDocs.getUnsavedOpsSize() + reportError('connection-lost-with-unsaved-changes', { + pendingOpsLength, + inflightOpsLength, + }) + }, [reportError, openDocs]) return (