Projektbeschreibung
ÜbersetztIm Inneren muss die Zusammenführung konfliktfrei sein, daher erwarten wir eine Engine, die auf CRDT oder operationellen Transformationen basiert, nicht ein naives 'Last Write Wins'-Schema. Gleichzeitige Bearbeitungen von verschiedenen Clients müssen auf jedem Gerät genau denselben Endzustand erreichen, unabhängig von der Reihenfolge der Paketlieferung und Netzwerkverzögerungen. Offline-Arbeit ist uns wichtig: Ein Benutzer, der die Verbindung verliert, sollte in der Lage sein, lokal weiterzuarbeiten, und seine Änderungen sollten automatisch abgeglichen werden, wenn die Verbindung wiederhergestellt wird, ohne ein Zusammenführungsdialogfeld und ohne verlorene eingegebene Zeichen. Wir benötigen auch eine vollständige Versionshistorie mit benannten Snapshots, einen visuellen Bearbeitungsfeed und die Möglichkeit, jede vorherige Revision wiederherzustellen oder zu vergleichen.
Der Transport sollte auf WebSocket mit automatischer Wiederverbindung und Backpressure-Handling basieren, und das gesamte System muss über mehrere Dokumente und mehrere gleichzeitige Editoren skalieren, damit der Server nicht zum Engpass wird. Wir bitten Sie, dies als Produktionsarbeit zu betrachten: uns liegen saubere APIs, Tests zur Zusammenführungslogik und klare Dokumentation am Herzen, damit unser Team das Projekt in Zukunft pflegen kann.
— Live-Cursor, Auswahlen und Anwesenheitsanzeige für jeden Benutzer
— CRDT/OT-Zusammenführungsengine mit Konvergenzgarantie
— Offline-Bearbeitung mit automatischer Rekonsolidierung bei Wiederverbindung
— Eingebettete Kommentare, Diskussionsthreads und vollständige Versionshistorie