Skip to content

Sync: tracking issue and v0.14.0 release triage #1445

Description

@ErikBjare

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

Repo What PR
aw-server-rust#682 rust aw-sync daemon (the default) never pulls — two incompatible folder layouts ActivityWatch/aw-server-rust#685
aw-server-rust#683 rust duplicate folders for one device_id silently truncate history ActivityWatch/aw-server-rust#686
aw-server-rust#684 rust sync failures are silent — status doctor, manifest, peers in Raw Data ActivityWatch/aw-server-rust#687 (items 1–2)
aw-server-rust#688 rust daemon exits the process on the first sync error instead of retrying
aw-server-rust#689 rust leftovers: orphaned 2-level staging db, stale -synced-from- buckets, dot-dir walking
aw-server-rust#690 rust README documents the non-working daemon path, claims Android unsupported
aw-android#272 android sanitized hostname forks sync identity; bucket hostnames never migrated
aw-webui#982 webui ID: undefined once data.device_id is populated; device-ID check is dead code
#302 bundle device_id exists but is inert — !local has zero callers, 0/32 buckets carry it

Recommended for v0.14.0

All bug fixes against already-shipped behaviour, none of them migrations:

Merge order matters: ActivityWatch/aw-server-rust#686ActivityWatch/aw-server-rust#687ActivityWatch/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

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:

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.

cc @TimeToBuildBobActivityWatch/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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions