You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tracking issue for the sync work opened over the last two days, with a recommendation on what should and should not land in the imminent v0.14.0 desktop release.
Context: v0.14.0b6 is cut as a draft; aw-android v0.14.1 is already Play Store Latest. The desktop bundle ships aw-sync via the aw-server-rust submodule, so whatever is merged there before the final pin bump ships in v0.14.0.
Everything here either rewrites data or moves files inside a Syncthing mesh. That is not rollback-safe — downgrading the app does not un-replicate a rename to every peer — so it wants a beta cycle, not a final release:
aw-android#272 — ships on Android's own cadence anyway; involves migrating bucket hostnames.
Change how hostname/devices work #302 / aw-server-rust#649 stages 2–3 — making device_id authoritative for provenance. Worth doing, definitely not two days before a release.
aw-webui#982 — only becomes visible once data.device_id is populated, which is deferred anyway. Cheap to fix whenever.
Release-note item
After ActivityWatch/aw-server-rust#685, the first daemon cycle on an existing install performs a full backfill from every peer that has ever written to the sync folder. On my own mesh that is ~1M events / 273 MB from a single Android peer, plus several desktops. Expect sustained CPU and disk on first run after upgrading, and a large database growth. Worth a line in the release notes so it does not read as a regression — and a decent argument for shipping ActivityWatch/aw-server-rust#687 alongside, so users can run aw-sync status and see what is about to be imported.
Tracking issue for the sync work opened over the last two days, with a recommendation on what should and should not land in the imminent v0.14.0 desktop release.
Context: v0.14.0b6 is cut as a draft; aw-android v0.14.1 is already Play Store
Latest. The desktop bundle ships aw-sync via the aw-server-rust submodule, so whatever is merged there before the final pin bump ships in v0.14.0.Everything found
aw-sync daemon(the default) never pulls — two incompatible folder layoutsdevice_idsilently truncate historystatusdoctor, manifest, peers in Raw Data-synced-from-buckets, dot-dir walkingID: undefinedoncedata.device_idis populated; device-ID check is dead code!localhas zero callers, 0/32 buckets carry itRecommended for v0.14.0
All bug fixes against already-shipped behaviour, none of them migrations:
daemon(the default subcommand) never pulls — two incompatible sync-folder layouts aw-server-rust#682) — without it desktop sync is push-only into a directory nothing reads. This is the release-blocking one.isSyncEnabled()defaultsfalse) and needs an explicit SAF directory pick, so the blast radius is users who deliberately turned sync on — which is exactly the population that would hit aw-sync: duplicate folders for one device_id silently truncate history on pull aw-server-rust#683 hardest.Merge order matters: ActivityWatch/aw-server-rust#686 → ActivityWatch/aw-server-rust#687 → ActivityWatch/aw-server-rust#685 rebased. ActivityWatch/aw-server-rust#685 conflicts with both others in
util.rs; ActivityWatch/aw-server-rust#686 and ActivityWatch/aw-server-rust#687 compose cleanly. See the review comments on each PR.Land if ready, otherwise defer
statusdoctor command and fail-loud empty-pull warnings aw-server-rust#687 — additive: a new read-only subcommand plus extra warnings, no existing path changes shape. High support value for exactly the users who will hit sync trouble in this release. Not worth holding the release for.Defer past v0.14.0
Everything here either rewrites data or moves files inside a Syncthing mesh. That is not rollback-safe — downgrading the app does not un-replicate a rename to every peer — so it wants a beta cycle, not a final release:
statusshowing what will happen first, which argues for doing it after feat(aw-sync): addstatusdoctor command and fail-loud empty-pull warnings aw-server-rust#687 has shipped and been used.device_idauthoritative for provenance. Worth doing, definitely not two days before a release.aw-sync status, loud diagnostics, per-device manifest, and surface peers in Raw Data aw-server-rust#684 items 3–6 —manifest.json, Raw Data peer surfacing, walker unification,test.dbrename.data.device_idis populated, which is deferred anyway. Cheap to fix whenever.Release-note item
After ActivityWatch/aw-server-rust#685, the first daemon cycle on an existing install performs a full backfill from every peer that has ever written to the sync folder. On my own mesh that is ~1M events / 273 MB from a single Android peer, plus several desktops. Expect sustained CPU and disk on first run after upgrading, and a large database growth. Worth a line in the release notes so it does not read as a regression — and a decent argument for shipping ActivityWatch/aw-server-rust#687 alongside, so users can run
aw-sync statusand see what is about to be imported.cc @TimeToBuildBob — ActivityWatch/aw-server-rust#688, ActivityWatch/aw-server-rust#689, ActivityWatch/aw-server-rust#690 and aw-webui#982 are unclaimed; ActivityWatch/aw-server-rust#690 is the smallest and aw-android#272 is the one nothing currently addresses.