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
Decision by Erik for v0.14.0b8: with #710 merged the daemon can pull, but it must not pull by default. 0.14 is push-only everywhere unless the user opts in — Android by design (ActivityWatch/aw-android#291), desktop because #711 (boundary re-import every pass) is unfixed and because sync v2 will replace pull with "read from the sync folder". Erik opts in on his own machine to test sync v1, the multidevice query, etc.
Requirement
One setting, one place: the daemon's pull is controlled by aw-sync's own config, not by aw-qt/aw-tauri launch arguments (they would drift). dirs::get_config_dir() already exists ({config}/activitywatch/aw-sync/, profile-aware, "TODO: add proper config support") — add the first config.toml there, e.g.
# aw-sync configpull = false# default; set true to import peers from the sync folder every pass
Default off ⇒ the daemon's pass is push-only (SyncMode::Push); pull = true ⇒ SyncMode::Both. An explicit --mode on the command line still wins.
aw-sync sync (the one-shot) is unaffected — it stays pull+push, that is how testers verify an import.
A missing file is created with the commented default on first daemon start, so users find the switch.
Tests: daemon pass with no config ⇒ Push; with pull = true ⇒ Both; --mode pull overrides a pull = false config.
Sequence agreed on ActivityWatch/activitywatch#1445: #712 → this → #711 → v2 (manifest + segment writer). The default flips when #711 is fixed, or is superseded by v2's read-from-staging.
Decision by Erik for v0.14.0b8: with #710 merged the daemon can pull, but it must not pull by default. 0.14 is push-only everywhere unless the user opts in — Android by design (ActivityWatch/aw-android#291), desktop because #711 (boundary re-import every pass) is unfixed and because sync v2 will replace pull with "read from the sync folder". Erik opts in on his own machine to test sync v1, the multidevice query, etc.
Requirement
dirs::get_config_dir()already exists ({config}/activitywatch/aw-sync/, profile-aware, "TODO: add proper config support") — add the firstconfig.tomlthere, e.g.SyncMode::Push);pull = true⇒SyncMode::Both. An explicit--modeon the command line still wins.aw-sync sync(the one-shot) is unaffected — it stays pull+push, that is how testers verify an import.aw-sync statusprints the effective mode and where the config was read from, and the feat(aw-sync): addstatusdoctor command and fail-loud empty-pull warnings #687 "zero peers … layout problem" warning is suppressed when pull is off (there was no pull).Tests: daemon pass with no config ⇒ Push; with
pull = true⇒ Both;--mode pulloverrides apull = falseconfig.Sequence agreed on ActivityWatch/activitywatch#1445: #712 → this → #711 → v2 (manifest + segment writer). The default flips when #711 is fixed, or is superseded by v2's read-from-staging.
cc @TimeToBuildBob