perf(sync): the fork's signed commit with fast merged deletes and batched inserts

The offline sync package's shared part now comes from the fork's branch
halkyon/batch-inserts (949a664, signed), adding two changes to the pin.
A merge only deleting rows skips the projection pass when every visible
row below them goes with them (a card deleted on one device, in a
library of 8,000 cards: 5.4 s for the server to merge, now about 35 ms;
4 s on each other device, now about 0.1 s). And a merge the pass leaves
out writes its new rows up to 1,000 to a statement, its proof also
taking nested studysets (a first push of that library: 35 to 41 s on
the server, now about 5; a device receiving it, 60 s, now 44).

A new sync test deletes a card on one device while another rates it:
the merged delete declines the shortcut there, and both devices end
without the card or its rating.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-17 22:24:30 +02:00
commit fd69719652
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1578,8 +1578,8 @@ packages:
dependency: "direct overridden"
description:
path: "packages/serverpod_offline_sync"
ref: f062725a16fffa1be8cf9141cdbfefae209598ea
resolved-ref: f062725a16fffa1be8cf9141cdbfefae209598ea
ref: "949a6645e08af27bb61c96d7ddc2b6d145fed554"
resolved-ref: "949a6645e08af27bb61c96d7ddc2b6d145fed554"
url: "https://code.halkyon.app/project-halkyon/serverpod-offline-sync.git"
source: git
version: "0.0.10"