From 774f2c8f061f916eb7c6c616c1121c64907546ae Mon Sep 17 00:00:00 2001 From: Mathias Jakobsen Date: Fri, 31 Jul 2026 09:50:59 +0100 Subject: [PATCH] Merge pull request #36028 from overleaf/mj-fatal-op-long [web] Stop arming FATAL_OP_TIMEOUT timer GitOrigin-RevId: f0b98d6fb5d2312d3b5137ebba0775a88cb01b72 --- .../frontend/js/features/ide-react/editor/share-js-doc.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/web/frontend/js/features/ide-react/editor/share-js-doc.ts b/services/web/frontend/js/features/ide-react/editor/share-js-doc.ts index dd16c1a570..90d28cc76d 100644 --- a/services/web/frontend/js/features/ide-react/editor/share-js-doc.ts +++ b/services/web/frontend/js/features/ide-react/editor/share-js-doc.ts @@ -522,6 +522,14 @@ export class ShareJsDoc extends EventEmitter { } private startFatalTimeoutTimer(update: Update) { + if ( + intermittentConnectionImprovementsEnabled && + this.type === 'sharejs-text-ot' + ) { + // We're storing ops locally as a backup, so no need to panic if they + // don't reach the server this time. + return + } // If an op doesn't get acked within FATAL_OP_TIMEOUT, something has // gone unrecoverably wrong (the op will have been retried multiple times) if (this._timeoutTimer != null) {