Skip to content

Yjs collaboration e2e tests #3064

Closed

Description

@JammingBen

Scenario list for future Playwright coverage on the new yjs collaboration feature (this is not about WOPI apps such as Collabora). It doesn't claim to be complete, extend it if you think certain scenarios are missing. Also, it might make sense to combine some of these scenarios in to bigger ones.

Yjs must be setup in CI to run, which means the yjs container must run and be specified on the OpenCloud server via WEB_OPTION_YJS_SERVER_URL: 'wss://<OC_URL>/yjs'.

Maybe it makes sense to have all editor tests (new and existing ones) in their own dedicated pipeline in CI.

Feature: Edit a file in the editor as a solo user

  • Scenario: open a file, edit it, save it and see the change survive a reload
  • Scenario: the save button reflects the dirty state of the document
  • Scenario: closing the editor with unsaved changes prompts to save, discard or cancel

Feature: Collaborate on a file with other users

  • Scenario: three or more users edit the same shared file at the same time
  • Scenario: a peer caret is rendered with a valid color
  • Scenario: a save by one peer clears the dirty state for all peers
  • Scenario: a late joiner receives the current room content and can make edits
  • Scenario: the same user editing a file in two browser tabs stays in sync
  • Scenario: collaborate on a file inside a project space
  • Scenario: collaborate on a file inside a shared folder

Feature: Collaborative editing respects permissions

  • Scenario: a viewer opens a shared file read-only and cannot make edits or save
  • Scenario: an editor joins a session that was initiated by a viewer and can make edits both users see
  • Scenario: a viewer opens a shared file that is already opened by an editor and can see the editor's edits
  • Scenario: a file in a project space opens read-only for viewers

Feature: External conflicts

  • Scenario: an external write while editing alone shows a conflict dialog and does not overwrite on save
  • Scenario: an external write while editing with peers shows each one a conflict dialog and does not overwrite on save
  • Scenario: an external write while editing and having another peer join afterwards show them the external change and updates the content for the first peer as well

Feature: Collaboration stays usable when the realtime service fails or is not configured at all

  • Scenario: an unreachable realtime service falls back to standalone editing > no good way to test this and no happy path
  • Scenario: unconfigured realtime collaboration falls back to standalone editing

Feature: Public links

  • Scenario: a "view" public link opens the file read-only without a realtime connection and shows content
  • Scenario: an "edit" public link opens the file without a realtime connection and allows editing the content

Activity

  1. changed the title [-]Collaboration e2e tests[/-] [+]Yjs collaboration e2e tests[/+] on Aug 11, 2026
  2. moved this from Qualification to Backlog in OpenCloud Team Boardon Aug 14, 2026
  3. self-assigned this
    on Aug 17, 2026
  4. self-assigned this
    on Aug 24, 2026
  5. moved this from Backlog to In Progress in OpenCloud Team Boardon Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions