Adopts serverpod_offline_sync v0.0.8 (ADR 0001): its module (nickname offline_sync) and the experimental database: sync in generator.yaml, its server and client packages, and overrides that keep the four Serverpod core packages on v4.0.2, since the package pins v4.0.0 exactly and the spike showed it works on v4.0.2. The app's new dependencies come along because the workspace shares one lock file. Studyset is the first synced model. Its space owns it, so it has no owner column, and only the envelope is a column: keyId and nonce stay null (no end-to-end encryption; ADR 0002, rule 6), and payload holds the content as versioned UTF-8 JSON, so a new content field changes the payload's schema version instead of this table, whose every migration locks older app versions out of syncing (rule 3). The audience column of the original design is gone: it served key selection, and the engine's spaces decide who reads a row. The generated server and client code is included. The migration isn't: it is created together with the move to Serverpod v4.0.3 and reviewed first, like the client's local migration (the client's lib/migrations is still empty). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
13 lines
370 B
YAML
13 lines
370 B
YAML
type: server
|
|
|
|
client_package_path: ../halkyon_learn_client
|
|
server_test_tools_path: test/integration/test_tools
|
|
|
|
# Private and shared data sync through serverpod_offline_sync (ADR 0001): its module,
|
|
# and the experimental `database: sync` for the models it syncs.
|
|
modules:
|
|
serverpod_offline_sync:
|
|
nickname: offline_sync
|
|
|
|
experimental_features:
|
|
databaseSync: true
|