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

Conversation

backportbot[bot]
Copy link

@backportbot backportbot bot commented Jan 19, 2024

Backport of #5279

Warning, This backport's changes differ from the original and might be incomplete ⚠️

Todo

  • Review and resolve any conflicts
  • Amend HEAD commit to remove [skip ci] tag

Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.

@backportbot backportbot bot added bug Something isn't working 3. to review labels Jan 19, 2024
@backportbot backportbot bot added this to the Nextcloud 27.1.6 milestone Jan 19, 2024
@Altahrim Altahrim mentioned this pull request Jan 22, 2024
3 tasks
@max-nextcloud max-nextcloud marked this pull request as ready for review January 29, 2024 10:16
@mejo- mejo- force-pushed the backport/5279/stable27 branch 2 times, most recently from 40ef1aa to 4e533af Compare January 29, 2024 10:30
max-nextcloud and others added 7 commits January 29, 2024 11:44
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>
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>
Signed-off-by: Max <max@nextcloud.com>
Signed-off-by: Max <max@nextcloud.com>
Signed-off-by: Max <max@nextcloud.com>
Remove duplicate encoding for updateMessage

Signed-off-by: Max <max@nextcloud.com>
Signed-off-by: Jonas <jonas@freesources.org>
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
@mejo-
Copy link
Member

mejo- commented Jan 29, 2024

/compile

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
@mejo- mejo- merged commit 5f8a3a3 into stable27 Jan 29, 2024
35 of 37 checks passed
@mejo- mejo- deleted the backport/5279/stable27 branch January 29, 2024 12:28
This was referenced Feb 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. to review bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants