fix(sync): a sync touching many cards no longer blocks the server

serverpod_offline_sync v0.0.10 compares byte payloads byte by byte, each
byte through a UUID parse that throws and is caught: 36 ms for two 2 KB
payloads. A sync whose projection loaded a few thousand card revisions
kept the server's isolate busy for minutes, answering no one, while the
client's method stream idled out after 40 s and sent everything again,
without end.

The shared package now comes from our fork (project-halkyon/
serverpod-offline-sync, branch halkyon/byte-payloads at a signed commit):
v0.0.10 with that comparison fixed, 25 µs for the same payloads. The
override sits in the root pubspec, which the server's Docker build keeps,
so production gets it too. The fix is offered upstream; drop the override
once a release has it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-12 13:31:22 +02:00
commit 8b9f3174a6
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1503,12 +1503,13 @@ packages:
source: hosted
version: "0.1.0"
serverpod_offline_sync:
dependency: transitive
dependency: "direct overridden"
description:
name: serverpod_offline_sync
sha256: "48d455bd8b361974b1072481872492658cf0ca22f1b43e58a0b390f738152783"
url: "https://pub.dev"
source: hosted
path: "packages/serverpod_offline_sync"
ref: "1dce863e72e57eb51222452dd9baf1bbd7c4384e"
resolved-ref: "1dce863e72e57eb51222452dd9baf1bbd7c4384e"
url: "https://code.halkyon.app/project-halkyon/serverpod-offline-sync.git"
source: git
version: "0.0.10"
serverpod_offline_sync_client:
dependency: transitive