halkyon/pubspec.yaml

39 lines
1.8 KiB
YAML
Raw Normal View History

# `_` is the conventional name of a pub workspace's root, which is never published or
# imported, so the naming lint doesn't apply to it.
name: _ # ignore: package_names
publish_to: none
environment:
sdk: '^3.13.0'
workspace:
- halkyon_learn_client
- halkyon_learn_server
- halkyon_learn_flutter
- halkyon_learn_curator
dev_dependencies:
# Referenced by analysis_options.yaml in this directory.
leancode_lint: ^27.0.0
dependency_overrides:
# The offline sync package's shared part from our fork: v0.0.10 with five
# changes. Byte payloads compared as bytes: v0.0.10 compares them byte by byte
# through a UUID parse that throws for each byte, so a sync touching a few thousand
# cards kept the server busy for minutes, answering nobody, while its client timed
# out and sent everything again (2026-10-12). onInboundMerge, called only when
# changes from the remote peer were merged: onMergeSuccess fires for a space this
# device only pushed to, so every repository read everything again after each
# save's sync (2026-10-17). A local delete, and a merge only inserting new rows,
# skip the foreign key projection pass when they can't change it: the pass loaded
# nearly every synced row, 8 s for one delete and 9.5 s for each rating another
# device made, in a library of 8,000 cards (2026-10-17). And projections are
# rebuilt once after the synced tables changed, not on every session and merge
# (upstream #150). Pinned to a signed commit of the fork's branch
# 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:
git:
url: https://code.halkyon.app/project-halkyon/serverpod-offline-sync.git
path: packages/serverpod_offline_sync
ref: f062725a16fffa1be8cf9141cdbfefae209598ea