Skip to content

Conversation

@tmortagne
Copy link
Member

@tmortagne tmortagne commented Oct 10, 2025

xwiki-platform side of things: xwiki/xwiki-platform#4656

Jira URL

https://jira.xwiki.org/browse/XCOMMONS-3451

Changes

Description

  • Remove leftovers from a previous implementation which did not really made sense anymore (mainly around the concept of "connected user")
  • Add the concept of Remote and Local users
  • Make modifications go through events (even locally) so that other cluster members know about them

TODO:

  • To limit conflicts, a single node should be the reference (for example the cluster leader) and other nodes receive all updates through it.

Clarifications

The general idea is to distribute everything that happens (user joining, leaving, updates) on all cluster nodes.

Screenshots & Video

Executed Tests

Expected merging strategy

  • Prefers squash: Yes
  • Backport on branches: 17.10.x

@tmortagne tmortagne force-pushed the feature-realtime-cluster branch 5 times, most recently from 7b23e1c to 651de05 Compare October 15, 2025 16:32
@tmortagne tmortagne force-pushed the feature-realtime-cluster branch 7 times, most recently from 4c568b3 to 04a7ae7 Compare October 27, 2025 10:32
@tmortagne tmortagne force-pushed the feature-realtime-cluster branch from 04a7ae7 to ad7f3f1 Compare October 29, 2025 12:18
@tmortagne tmortagne force-pushed the feature-realtime-cluster branch from ad7f3f1 to 1fbe7f8 Compare November 5, 2025 21:20
@tmortagne tmortagne force-pushed the feature-realtime-cluster branch 2 times, most recently from 8f48a71 to 12ba82c Compare November 26, 2025 16:40
Copy link
Member

@mflorea mflorea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@tmortagne tmortagne force-pushed the feature-realtime-cluster branch 3 times, most recently from 36f309a to 6f1a111 Compare December 1, 2025 14:33
@tmortagne tmortagne marked this pull request as ready for review December 1, 2025 14:51
@tmortagne tmortagne force-pushed the feature-realtime-cluster branch from 6f1a111 to 91294f2 Compare December 3, 2025 09:53
* Remove leftovers from a previous implementation which did not really made sense anymore (mainly around the concept of "connected user")
* Add the concept of Remote and Local users
* Reusing the websocket session id as local user id
* Make modifications go through events (even locally) so that other cluster members know about them
@tmortagne tmortagne force-pushed the feature-realtime-cluster branch from 91294f2 to 1236db9 Compare December 3, 2025 09:55
@tmortagne tmortagne merged commit 89518a3 into master Dec 3, 2025
2 checks passed
@github-actions
Copy link

github-actions bot commented Dec 3, 2025

The backport to stable-17.10.x failed:

The process '/usr/bin/git' failed with exit code 128

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-stable-17.10.x stable-17.10.x
# Navigate to the new working tree
cd .worktrees/backport-stable-17.10.x
# Create a new branch
git switch --create backport-1475-to-stable-17.10.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 89518a352b9e574f3f10876b17a4c6f05f8123fd
# Push it to GitHub
git push --set-upstream origin backport-1475-to-stable-17.10.x
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-stable-17.10.x

Then, create a pull request where the base branch is stable-17.10.x and the compare/head branch is backport-1475-to-stable-17.10.x.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants