From f6633dc1265acf8e6cf4c59925ea90ebdc040df9 Mon Sep 17 00:00:00 2001 From: Wolfgang Ginolas Date: Wed, 20 May 2026 11:13:30 +0200 Subject: [PATCH 1/6] Revert "Init content.debug in onDocumentReady" This reverts commit d2a4e53a3e8cd7c03b4057147f28e2376382f5c4. --- www/common/onlyoffice/inner.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/www/common/onlyoffice/inner.js b/www/common/onlyoffice/inner.js index a6fcb61f4..ca6d3c59f 100644 --- a/www/common/onlyoffice/inner.js +++ b/www/common/onlyoffice/inner.js @@ -103,6 +103,9 @@ define([ ids: {}, mediasSources: {}, version: privateData.ooForceVersion ? Number(privateData.ooForceVersion) : OOCurrentVersion.currentVersionNumber, + debug: { + idCollision: false, + }, }; var oldHashes = {}; var oldIds = {}; @@ -2207,11 +2210,6 @@ define([ }]; common.checkTrimHistory(channels); } - - content.debug = content.debug ?? {}; - content.debug.idCollision = content.debug.idCollision ?? false; - APP.onLocal(); - console.log("OO ready"); }; @@ -2640,7 +2638,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null if (content?.debug?.idCollision !== undefined // No feedback for old documents && content?.debug?.idCollision === false) { // Send feedback only once Feedback.send(`channel=${content.channel}&OFFICE_DOCUMENT_ID_COLLISION`, true); - content.debug = content.debug ?? {}; + content.debug = content.debug || {}; content.debug.idCollision = true; APP.onLocal(); } From 17cf6e1ae7c3a675828339942ad2bf6f8b6c5279 Mon Sep 17 00:00:00 2001 From: Wolfgang Ginolas Date: Wed, 20 May 2026 11:13:41 +0200 Subject: [PATCH 2/6] Revert "Send idCollision feedback only once per new doc" This reverts commit ea004e3f0b16992f2f8f5ab6d87d84c7373a1670. --- www/common/onlyoffice/inner.js | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/www/common/onlyoffice/inner.js b/www/common/onlyoffice/inner.js index ca6d3c59f..697437039 100644 --- a/www/common/onlyoffice/inner.js +++ b/www/common/onlyoffice/inner.js @@ -102,10 +102,7 @@ define([ hashes: {}, ids: {}, mediasSources: {}, - version: privateData.ooForceVersion ? Number(privateData.ooForceVersion) : OOCurrentVersion.currentVersionNumber, - debug: { - idCollision: false, - }, + version: privateData.ooForceVersion ? Number(privateData.ooForceVersion) : OOCurrentVersion.currentVersionNumber }; var oldHashes = {}; var oldIds = {}; @@ -2635,13 +2632,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null const onCorruptionWarning = Util.once((id) => { console.log('id collision in document', id); - if (content?.debug?.idCollision !== undefined // No feedback for old documents - && content?.debug?.idCollision === false) { // Send feedback only once - Feedback.send(`channel=${content.channel}&OFFICE_DOCUMENT_ID_COLLISION`, true); - content.debug = content.debug || {}; - content.debug.idCollision = true; - APP.onLocal(); - } + Feedback.send('OFFICE_DOCUMENT_ID_COLLISION', true); }); APP.docEditor.connectMockServer({ From 924db1b4f11cfeb23d9293e67d5bc74fa9ce03a3 Mon Sep 17 00:00:00 2001 From: Wolfgang Ginolas Date: Wed, 20 May 2026 11:13:54 +0200 Subject: [PATCH 3/6] Revert "Fix ID collison and add feedback if it happens again" This reverts commit 2ed07f1c26430f1ad6a81f002e2a79a1cc6373a3. --- www/common/onlyoffice/inner.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/www/common/onlyoffice/inner.js b/www/common/onlyoffice/inner.js index 697437039..3df20c2ce 100644 --- a/www/common/onlyoffice/inner.js +++ b/www/common/onlyoffice/inner.js @@ -565,7 +565,7 @@ define([ isLockedModal.modal = UI.openCustomModal(isLockedModal.content); } myUniqueOOId = undefined; - myIndex = undefined; + // myIndex = undefined; TODO enable fix setMyId(); if (APP.docEditor) { APP.docEditor.destroyEditor(); } // Kill the old editor @@ -2630,10 +2630,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null return; } - const onCorruptionWarning = Util.once((id) => { - console.log('id collision in document', id); - Feedback.send('OFFICE_DOCUMENT_ID_COLLISION', true); - }); + const onCorruptionWarning = Util.once((id) => console.log('XXX id collision', id)); APP.docEditor.connectMockServer({ onMessage: fromOOHandler, From d4e94daa6fca294aa31f5f951855b786085f4acd Mon Sep 17 00:00:00 2001 From: Wolfgang Ginolas Date: Wed, 20 May 2026 11:14:15 +0200 Subject: [PATCH 4/6] Revert "Log an error when a Office document is corrupted" This reverts commit 19341fc6c551d912f0f9823ead23df6d421f2fab. --- install-onlyoffice.sh | 2 +- www/common/onlyoffice/inner.js | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/install-onlyoffice.sh b/install-onlyoffice.sh index ab38d1593..69d935150 100755 --- a/install-onlyoffice.sh +++ b/install-onlyoffice.sh @@ -98,7 +98,7 @@ main() { rm -rf "$OO_DIR/v8/web-apps/apps/spreadsheeteditor/main/resources/help" rm -rf "$OO_DIR/v8/web-apps/apps/common/main/resources/help/" ;; - v9) install_version v9 v9.3.0.140+2 fedf1af4c3b061f6afadbc231cee7f06d15dd1a5e82db3c5f1e9739b7ddf5b5b38825f3ec3da5e92d7ed6ad1d944c11b9f83875cc5fb67bde4f9c9b1434579d8 ;; + v9) install_version v9 v9.2.0.119+5 1f1184fb04cf72a7eb2a49a9740074b5419486c79e1fd713e1f8c09b8594a826050ae941fed6ac6a96807ba73cc751d7c807bd7e6b73de9e4f8e74cd5ed04cfa ;; x2t) install_x2t v7.3+1 ab0c05b0e4c81071acea83f0c6a8e75f5870c360ec4abc4af09105dd9b52264af9711ec0b7020e87095193ac9b6e20305e446f2321a541f743626a598e5318c1 ;; *) echo "Unknown version: $version" diff --git a/www/common/onlyoffice/inner.js b/www/common/onlyoffice/inner.js index 3df20c2ce..f0792aaea 100644 --- a/www/common/onlyoffice/inner.js +++ b/www/common/onlyoffice/inner.js @@ -2629,16 +2629,12 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null makeChannel(); return; } - - const onCorruptionWarning = Util.once((id) => console.log('XXX id collision', id)); - APP.docEditor.connectMockServer({ onMessage: fromOOHandler, getParticipants: getParticipants, onAuth: onAuth, getImageURL: getImageURL, getInitialChanges: getInitialChanges, - onCorruptionWarning: onCorruptionWarning, }); }; From 78473cd816b3c41823a1bded34d75bca70ed1621 Mon Sep 17 00:00:00 2001 From: Wolfgang Ginolas Date: Wed, 20 May 2026 11:14:54 +0200 Subject: [PATCH 5/6] Revert "Prepare Office history corruption fix" This reverts commit fd9c19b6e683794ac715518f913397acea88ee97. --- www/common/onlyoffice/inner.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/www/common/onlyoffice/inner.js b/www/common/onlyoffice/inner.js index f0792aaea..0829277ee 100644 --- a/www/common/onlyoffice/inner.js +++ b/www/common/onlyoffice/inner.js @@ -565,7 +565,6 @@ define([ isLockedModal.modal = UI.openCustomModal(isLockedModal.content); } myUniqueOOId = undefined; - // myIndex = undefined; TODO enable fix setMyId(); if (APP.docEditor) { APP.docEditor.destroyEditor(); } // Kill the old editor @@ -2999,7 +2998,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null pinImages(); }; - const loadCheckpoint = async function (cp, keepQueue) { + const loadCp = async function (cp, keepQueue) { if (!isLockedModal.modal) { isLockedModal.modal = UI.openCustomModal(isLockedModal.content); } @@ -3019,7 +3018,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null var loadHistoryCp = function (cp, keepQueue) { APP.history = true; APP.stopHistory = false; - loadCheckpoint(cp, keepQueue); + loadCp(cp, keepQueue); }; var loadTemplate = function (href, pw, parsed) { @@ -3069,7 +3068,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null }); ooChannel.historyLastHash = ooChannel.lastHash; ooChannel.currentIndex = ooChannel.cpIndex; - loadCheckpoint(lastCp, true); + loadCp(lastCp, true); }); }; @@ -3240,7 +3239,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null }; var onCheckpoint = function (cp) { // We want to load a checkpoint: - loadCheckpoint(cp, true); + loadCp(cp, true); }; var onPatchBack = function (cp, msgs) { APP.history = true; @@ -3260,10 +3259,10 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null }); ooChannel.queue = msgsFormatted; setTimeout(function () { - loadCheckpoint(cp, true); + loadCp(cp, true); }, 200); } else { - loadCheckpoint(cp); + loadCp(cp); } }; var docType = function() { @@ -3284,7 +3283,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null // Fill the queue and then load the last CP rtChannel.getHistory(function () { var lastCp = getLastCp(); - loadCheckpoint(lastCp, true); + loadCp(lastCp, true); }); }; @@ -3342,7 +3341,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null onPatch: onPatch, onPatchBack: onPatchBack, docType: docType, - loadCp: loadCheckpoint, + loadCp: loadCp, loadHistoryCp: loadHistoryCp, onCheckpoint: onCheckpoint, onRevert: commit, From 387225b27b5f4172b496b1d670bcda0337e78963 Mon Sep 17 00:00:00 2001 From: Wolfgang Ginolas Date: Wed, 20 May 2026 11:18:18 +0200 Subject: [PATCH 6/6] Small fix for history corruption bug --- www/common/onlyoffice/inner.js | 1 + 1 file changed, 1 insertion(+) diff --git a/www/common/onlyoffice/inner.js b/www/common/onlyoffice/inner.js index 0829277ee..3711c587b 100644 --- a/www/common/onlyoffice/inner.js +++ b/www/common/onlyoffice/inner.js @@ -565,6 +565,7 @@ define([ isLockedModal.modal = UI.openCustomModal(isLockedModal.content); } myUniqueOOId = undefined; + myIndex = undefined; setMyId(); if (APP.docEditor) { APP.docEditor.destroyEditor(); } // Kill the old editor