[xwiki/xwiki-platform] 466dd6: XWIKI-25236: The realtime WYSIWYG editor remains s...
Branch: refs/heads/master Home: https://github.com/xwiki/xwiki-platform Commit: 466dd697c08786f95e7da443bd21011ef0ccf755 https://github.com/xwiki/xwiki-platform/commit/466dd697c08786f95e7da443bd210... Author: Marius Dumitru Florea <[email protected]> Date: 2026-10-12 (Mon, 12 Oct 2026) Changed paths: M xwiki-platform-core/xwiki-platform-node/src/main/node/core/autosave/autosave-api/etc/platform-autosave-api.api.md M xwiki-platform-core/xwiki-platform-node/src/main/node/core/autosave/autosave-api/src/__tests__/saver.test.ts M xwiki-platform-core/xwiki-platform-node/src/main/node/core/autosave/autosave-api/src/saveTransport.ts M xwiki-platform-core/xwiki-platform-node/src/main/node/core/autosave/autosave-api/src/saver.ts M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-test-pageobjects/src/main/java/org/xwiki/realtime/test/po/RealtimeEditToolbar.java M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-webjar/src/main/webjar/saver.js M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-wysiwyg/xwiki-platform-realtime-wysiwyg-test/xwiki-platform-realtime-wysiwyg-test-docker/src/test/it/org/xwiki/realtime/wysiwyg/test/ui/RealtimeWYSIWYGEditorIT.java Log Message: ----------- XWIKI-25236: The realtime WYSIWYG editor remains stuck on "Connecting" after reconnecting when it was the only one editing * Stop waiting for the ChainPad save transport to settle when the WebSocket connection is lost, when the transport is disposed or after a timeout, because the acknowledgement may never come and the editor waits for the auto-saver to stop before joining the new realtime session. * Abort ChainPad when the connection is lost, to stop it from resending the pending saver state over a closed connection. * Always dispose the save transport and target when stopping the auto-saver, even if the final push fails, and document that waiting for a transport to settle must always end. * Add a page object method to simulate a connection loss and use it to verify that the realtime editor reconnects when editing alone. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> Commit: a6747deb542c59a4bd80987212344b500983eeea https://github.com/xwiki/xwiki-platform/commit/a6747deb542c59a4bd80987212344... Author: Marius Dumitru Florea <[email protected]> Date: 2026-10-12 (Mon, 12 Oct 2026) Changed paths: M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-test-pageobjects/src/main/java/org/xwiki/realtime/test/RealtimeTestUtils.java M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-test-pageobjects/src/main/java/org/xwiki/realtime/test/po/RealtimeEditToolbar.java M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-webjar/src/main/webjar/loader.js M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-webjar/src/main/webjar/saver.js M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-webjar/src/main/webjar/userData.js M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-wiki/xwiki-platform-realtime-wiki-test/xwiki-platform-realtime-wiki-test-docker/src/test/it/org/xwiki/realtime/wiki/test/ui/RealtimeWikiEditorIT.java M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-wiki/xwiki-platform-realtime-wiki-webjar/src/main/webjar/wikiEditor.js M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-wysiwyg/xwiki-platform-realtime-wysiwyg-test/xwiki-platform-realtime-wysiwyg-test-docker/src/test/it/org/xwiki/realtime/wysiwyg/test/ui/RealtimeWYSIWYGEditorIT.java M xwiki-platform-core/xwiki-platform-realtime/xwiki-platform-realtime-wysiwyg/xwiki-platform-realtime-wysiwyg-webjar/src/main/webjar/wysiwygEditor.js Log Message: ----------- XWIKI-25236: The realtime WYSIWYG editor remains stuck on "Connecting" after reconnecting when it was the only one editing * Don't rejoin the user data channel after a reconnect if it doesn't exist anymore (the editor starts a new user data synchronization on the new channel), which was causing the ENOENT error. * Fetch the channels only once when the editor and the user data synchronization ask for them at the same time. * Leave the realtime session and continue editing alone, with an error notification, when we fail to join a realtime channel or to fetch the channels while reconnecting (e.g. when the user session has expired), for both the WYSIWYG and the wiki editor. * Catch the failure to notify the other users through the All Users channel, which can be missing right after a reconnect. * Add test utilities to simulate a connection loss without waiting for the reconnect and to simulate the expiration of the user session, and use them to verify the reconnect of the wiki editor and the fallback of the WYSIWYG editor. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> Compare: https://github.com/xwiki/xwiki-platform/compare/60ade2006e80...a6747deb542c To unsubscribe from these emails, change your notification settings at https://github.com/xwiki/xwiki-platform/settings/notifications
participants (1)
-
XWiki Notifications