Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[stable27] fix(sync): push local changes on reconnect #5285

Merged
merged 8 commits into from
Jan 29, 2024

Commits on Jan 29, 2024

  1. fix(sync): push local changes on reconnect

    When an editing session is interrupted
    steps that were already pushed to the server
    may be cleared alongside the sync service session.
    
    Make sure to push all local state
    that is not part of the document state
    when (re-)connecting.
    
    Tests
    
    Yjs relies on a browser environment.
    Therefore we test it in a cypress test.
    Move these tests into component tests
    to separate them from 'normal' e2e tests.
    
    Signed-off-by: Max <max@nextcloud.com>
    max-nextcloud authored and mejo- committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    456f218 View commit details
    Browse the repository at this point in the history
  2. fix(sync): keep yjs file during sync session cleanup

    Even if all sessions have expired and been removed
    there may still be disconnected clients
    that hold state from the last editing session.
    
    When they reconnect they will send their yjs updates
    based on the old state they had.
    Preserve the yjs state accross editing sessions
    so updates send after a reconnect can still be processed.
    
    Signed-off-by: Max <max@nextcloud.com>
    max-nextcloud authored and mejo- committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    c9a1ee2 View commit details
    Browse the repository at this point in the history
  3. test(cy): components in CI

    Signed-off-by: Max <max@nextcloud.com>
    max-nextcloud authored and mejo- committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    b553586 View commit details
    Browse the repository at this point in the history
  4. enh(log): debug log when sending updateMessage

    Signed-off-by: Max <max@nextcloud.com>
    max-nextcloud authored and mejo- committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    a473b1e View commit details
    Browse the repository at this point in the history
  5. docs(js): add return type annotations

    Signed-off-by: Max <max@nextcloud.com>
    max-nextcloud authored and mejo- committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    28701ff View commit details
    Browse the repository at this point in the history
  6. fix(sync): yjs messages are Uint8Arrays in the queue

    Remove duplicate encoding for updateMessage
    
    Signed-off-by: Max <max@nextcloud.com>
    Signed-off-by: Jonas <jonas@freesources.org>
    max-nextcloud authored and mejo- committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    c363ffd View commit details
    Browse the repository at this point in the history
  7. chore: update relativeci workflow and webpack usage

    Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
    skjnldsv authored and mejo- committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    b9be515 View commit details
    Browse the repository at this point in the history
  8. chore(assets): Recompile assets

    Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
    nextcloud-command committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    5d00396 View commit details
    Browse the repository at this point in the history