Branch: refs/heads/main Home: https://github.com/xwiki-contrib/cristal Commit: 81b8b85b95f6bf926a00b344a02a3f61db09a398 https://github.com/xwiki-contrib/cristal/commit/81b8b85b95f6bf926a00b344a02a... Author: Marius Dumitru Florea <[email protected]> Date: 2024-08-20 (Tue, 20 Aug 2024) Changed paths: M editors/tiptap/package.json A editors/tiptap/src/extensions/autoSaver.ts A editors/tiptap/src/extensions/collaboration.ts A editors/tiptap/src/vue/c-connection-status.vue M editors/tiptap/src/vue/c-edit-tiptap.vue A editors/tiptap/src/vue/c-save-status.vue M package.json A patches/avvvatars-vue.patch M pnpm-lock.yaml M web/package.json M web/src/server.js M web/vite.config.ts Log Message: ----------- CRISTAL-95: Support realtime editing even if the backend doesn't support it * Add the collaboration extension to the TipTap editor to enable realtime editing * Create our own TipTap extension that configures and packages the TipTap standard collaboration and collaboration-cursor extensions * Run the Hocuspocus WebSocket server to broadcast the changes to all the editing users * Implement auto-save * Modify the page edit menu to show only the Close action (Save & View) * Show the auto-saver status (unsaved, saving, saved) and the realtime connection status (offline, connecting, list of users editing) on the page edit menu * Use random user names and colors for now to indicate the user caret, until we add support for user authentication * Use avvvatars-vue for now to display random user avatars (had to patch its package.json) * Use eventemitter3 to trigger events (e.g. auto-saver status update) To unsubscribe from these emails, change your notification settings at https://github.com/xwiki-contrib/cristal/settings/notifications