mirror of
https://github.com/suitenumerique/docs.git
synced 2026-09-13 21:27:53 +02:00
Some networks refuse a websocket upgrade - corporate proxies, captive portals - and a browser is told nothing more than "the connection closed", so those users could not edit at all. The editor now runs a second transport next to the socket, polling the collaboration server's REST api on the same room, with the same session cookie and the same authorization, and only while the socket is down. Local changes go out about a second after the last keystroke and remote ones arrive within ten seconds, so editing works with visibly more latency rather than not at all. The socket keeps being retried underneath, so a client that fell back during an outage returns to it on its own, and nothing is lost in either direction - both transports publish from the same document. This makes /collaboration/ydoc/ a route browsers call, so COLLABORATION_SERVER_ORIGIN is now handed to yhub as its cors configuration and gates the http routes as well as the websocket. Signed-off-by: Kevin Jahns <kevin.jahns@protonmail.com>
Docs Documentation
Welcome to the official documentation for Docs.
This documentation is organized by topic and audience. Use the section below to quickly find what you are looking for.
Table of Contents
-
Getting started
-
Configuration
-
Architecture & design
-
Usage & operations
-
Project & product
-
Assets