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:
parent
b6e7a1df1b
commit
8b9f3174a6
1 changed files with 23 additions and 8 deletions
|
|
@ -17,8 +17,9 @@ COPY halkyon_learn_server halkyon_learn_server
|
|||
# The workspace root with only the server package: neither the client package nor the
|
||||
# curator is needed to build the server, and the Flutter app would need Flutter.
|
||||
# Everything else stays as the repository has it, above all the dependency overrides,
|
||||
# without which the offline sync package's exact Serverpod pin can't be resolved. The
|
||||
# check fails the build loudly if the root's member list changes shape.
|
||||
# which bring the server our fork of the offline sync package (fetched with the git
|
||||
# the Dart image has). The check fails the build loudly if the root's member list
|
||||
# changes shape.
|
||||
RUN sed -i -e '/^ - halkyon_learn_client$/d' -e '/^ - halkyon_learn_flutter$/d' \
|
||||
-e '/^ - halkyon_learn_curator$/d' pubspec.yaml \
|
||||
&& grep -q '^ - halkyon_learn_server$' pubspec.yaml \
|
||||
|
|
|
|||
Loading…
Reference in a new issue