perf: sync fork streams what a device lacks, and writes in shared spaces
The sync fork moves to the signed tip of halkyon/space-writes, which brings two branches: - halkyon/streamed-collection: the server hands each change a device lacks out as it is read, so a device hears from it at once; a large first sync had outlasted the client's 40 s before the server sent anything, and started over each time. - halkyon/space-writes (ADR 0044, D24): a write without a transaction acts in the space it touches, and the host names where a new row goes (`newRowSpace`), each through transactionForUser, which checks membership and role. Nothing names one yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
358d983011
commit
4befd98d2f
2 changed files with 12 additions and 8 deletions
|
|
@ -1888,8 +1888,8 @@ packages:
|
||||||
dependency: "direct overridden"
|
dependency: "direct overridden"
|
||||||
description:
|
description:
|
||||||
path: "packages/serverpod_offline_sync"
|
path: "packages/serverpod_offline_sync"
|
||||||
ref: "741e334d6ac4ca89f99945dda2e444152ee32994"
|
ref: "845fb557db3e21cf78b152f9e39ba6a26947bab9"
|
||||||
resolved-ref: "741e334d6ac4ca89f99945dda2e444152ee32994"
|
resolved-ref: "845fb557db3e21cf78b152f9e39ba6a26947bab9"
|
||||||
url: "https://code.halkyon.app/project-halkyon/serverpod-offline-sync.git"
|
url: "https://code.halkyon.app/project-halkyon/serverpod-offline-sync.git"
|
||||||
source: git
|
source: git
|
||||||
version: "0.0.10"
|
version: "0.0.10"
|
||||||
|
|
|
||||||
16
pubspec.yaml
16
pubspec.yaml
|
|
@ -90,16 +90,20 @@ dependency_overrides:
|
||||||
# 500 to a statement per table, not one statement each: a new device's first sync
|
# 500 to a statement per table, not one statement each: a new device's first sync
|
||||||
# of a library of 56,000 rows kept halkyon.li's server busy some 100 s, sending
|
# of a library of 56,000 rows kept halkyon.li's server busy some 100 s, sending
|
||||||
# nothing, so the client closed the stream after 40 s and started over
|
# nothing, so the client closed the stream after 40 s and started over
|
||||||
# (2026-11-09). Pinned to a signed commit of the fork's branch
|
# (2026-11-09). The server hands each change out as it is read, so a device hears
|
||||||
# halkyon/batched-row-reads (on halkyon/batch-inserts, on
|
# from it before the whole collection is read (2026-11-11). A write without a
|
||||||
# halkyon/fast-merge-deletes, on halkyon/fast-merges, on halkyon/fast-deletes, on
|
# transaction acts in the space it touches, and a host names where a new row goes
|
||||||
# halkyon/inbound-merges, on halkyon/byte-payloads); drop each change once a
|
# (`newRowSpace`), for spaces people share (ADR 0044, D24; 2026-11-11). Pinned to a
|
||||||
# release of the package has it.
|
# signed commit of the fork's branch halkyon/space-writes (on
|
||||||
|
# halkyon/streamed-collection, on halkyon/batched-row-reads, on
|
||||||
|
# halkyon/batch-inserts, on halkyon/fast-merge-deletes, on halkyon/fast-merges, on
|
||||||
|
# halkyon/fast-deletes, on halkyon/inbound-merges, on halkyon/byte-payloads); drop
|
||||||
|
# each change once a release of the package has it.
|
||||||
serverpod_offline_sync:
|
serverpod_offline_sync:
|
||||||
git:
|
git:
|
||||||
url: https://code.halkyon.app/project-halkyon/serverpod-offline-sync.git
|
url: https://code.halkyon.app/project-halkyon/serverpod-offline-sync.git
|
||||||
path: packages/serverpod_offline_sync
|
path: packages/serverpod_offline_sync
|
||||||
ref: 741e334d6ac4ca89f99945dda2e444152ee32994
|
ref: 845fb557db3e21cf78b152f9e39ba6a26947bab9
|
||||||
|
|
||||||
# Melos (https://melos.invertase.dev): its scripts run across the workspace's packages,
|
# Melos (https://melos.invertase.dev): its scripts run across the workspace's packages,
|
||||||
# `dart run melos run <name>`, and take Melos' filters, such as
|
# `dart run melos run <name>`, and take Melos' filters, such as
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue