webxdc/checklist
15
2
Fork
You've already forked checklist
3

WIP: Send full CRDT state with each update #51

Draft
jackaperkins wants to merge 5 commits from all-updates into master
pull from: all-updates
merge into: webxdc:master
webxdc:master
webxdc:fix-init-override
webxdc:adb/issue-8
webxdc:update-webxdc-js
webxdc:tweak-layout
webxdc:add-menu
webxdc:fix-title-linebreaks
webxdc:positive-icon
webxdc:update-icon
webxdc:adb/use-vite
webxdc:pages

This change force sends the full CRDT state each time there's an update, rather than just the sequential update. This does increase the message size but with the benefit that peers who missed messages due to transport dropping will re-synchronize after receiving future messages. Without this a device with missing messages often cannot recover.

Also included are some small UI tweaks like making the elements a little more sleek and responsive to window size and better click handling for editing the title.

This change force sends the full CRDT state each time there's an update, rather than just the sequential update. This does increase the message size but with the benefit that peers who missed messages due to transport dropping will re-synchronize after receiving future messages. Without this a device with missing messages often cannot recover. Also included are some small UI tweaks like making the elements a little more sleek and responsive to window size and better click handling for editing the title.
hpk approved these changes 2025年12月17日 16:18:16 +01:00
hpk left a comment
Copy link

lgtm

lgtm
Author
Owner
Copy link

unfortunately in testing its possible to get into a bad state even resending all updates. probably easiest alternative is to convert this into using yjs rather than automerge as it's less temperamental

unfortunately in testing its possible to get into a bad state even resending all updates. probably easiest alternative is to convert this into using yjs rather than automerge as it's less temperamental
jackaperkins changed title from (削除) Send full CRDT state with each update (削除ここまで) to WIP: Send full CRDT state with each update 2025年12月18日 12:19:20 +01:00
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin all-updates:all-updates
git switch all-updates

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch master
git merge --no-ff all-updates
git switch all-updates
git rebase master
git switch master
git merge --ff-only all-updates
git switch all-updates
git rebase master
git switch master
git merge --no-ff all-updates
git switch master
git merge --squash all-updates
git switch master
git merge --ff-only all-updates
git switch master
git merge all-updates
git push origin master
Sign in to join this conversation.
No reviewers
hpk
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
webxdc/checklist!51
Reference in a new issue
webxdc/checklist
No description provided.
Delete branch "all-updates"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?