This is a collection of tasks for bringing collaboration via Yjs to OpenCloud. ## Tasks ### Groundwork - [ ] Bring https://github.com/opencloud-eu/web/pull/2785 into a mergable state, then review and merge it @JammingBen ### Direct follow-ups These should happen *before* we officially announce this as productized. - [ ] `appVersion` is `0.0.0` (private package placeholder), so both version gates are dead code in production - [ ] Container hygiene: floating `node:22-alpine` (type stripping needs > = 22.18), no `HEALTHCHECK`, no SIGTERM handler, no `depends_on` in compose - [ ] Add e2e tests - [ ] Add unit tests for `services/realtime` - [ ] Publish the hocuspocus Docker image and set up CI for future releases - [ ] Add the published image to the opencloud-compose setup (default?) ### Can happen later - [ ] Make "Show source" work for markdown files despite collaboration enabled on the system - [ ] Show avatars of users in the current session (toolbar top right, click opens sharing/members panel?) - [ ] Grab the Excalidraw extension from https://github.com/opencloud-eu/web/pull/2755/ and port it to web-extensions - [ ] Add dev docs on how to write an extension using collaboration - [ ] Check compatibility in vaults, i.e. can we make it work in vaults? ### Needs to be discussed - [ ] Version handling & auto saving - [ ] Known limits in `dev/docs/collaboration.md`
This is a collection of tasks for bringing collaboration via Yjs to OpenCloud.
Tasks
Groundwork
Direct follow-ups
These should happen before we officially announce this as productized.
appVersionis0.0.0(private package placeholder), so both version gates are dead code in productionnode:22-alpine(type stripping needs > = 22.18), noHEALTHCHECK, no SIGTERM handler, nodepends_onin composeservices/realtimeCan happen later
Needs to be discussed
dev/docs/collaboration.md