Skip to content

fix: don't autostart aw-sync by default - #263

Merged
0xbrayo merged 2 commits into
ActivityWatch:masterfrom
TimeToBuildBob:fix/dont-autostart-aw-sync-by-default
Sep 18, 2026
Merged

0xbrayo merged 2 commits into
ActivityWatch:masterfrom
TimeToBuildBob:fix/dont-autostart-aw-sync-by-default

Conversation

@TimeToBuildBob

Copy link
Copy Markdown
Contributor

Problem

A stock ActivityWatch install runs aw-sync daemon from the very first
launch, even though the user never enabled sync. This creates
~/ActivityWatchSync/<uuid>/test.db unprompted — see
ActivityWatch/activitywatch#1418.

Root cause: UserConfig::default() unconditionally pushes aw-sync (with
daemon args) into the autostart module list on every platform.

What changed

Removed the unconditional aw-sync autostart entry from
UserConfig::default(). Sync is still under development/preview
(ActivityWatch/aw-server-rust#667 (comment)), so it shouldn't run by default.
Users who want sync can still add aw-sync via the module settings; the
--sync-dir / AW_SYNC_DIR overrides and the documented default sync
location are unaffected by this change.

Closes ActivityWatch/activitywatch#1418

Related

A companion PR (ActivityWatch/aw-server-rust#667) proposed changing
aw-sync's default sync directory instead — closed per @ErikBjare's
feedback that ~/ActivityWatchSync needs to stay easy to find/point
Syncthing/Dropbox/rsync at. This PR fixes the actual root cause (autostart)
without touching the default directory.

Testing

cargo fmt --check, cargo clippy --all-targets, cargo check all pass
locally (icons/webui dist generated locally as placeholders to satisfy the
build — CI has the real prebuilt assets). The diff only removes 4 lines and
adds a comment, no logic branches touched elsewhere.

aw-sync is still under development/preview, but UserConfig::default()
unconditionally added it to the autostart module list on every
platform. A stock install therefore ran aw-sync's daemon and created
~/ActivityWatchSync without the user ever opting into sync.

Users who want sync can still enable aw-sync via the module settings;
--sync-dir and AW_SYNC_DIR are unaffected.

Closes ActivityWatch/activitywatch#1418

Git-Session-Id: 574f41a7-60fb-5a8b-98bd-6bb2ceb9651f
@greptile-apps

greptile-apps Bot commented Sep 18, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

The PR appears safe to merge; the behavioral change is narrowly scoped and its documentation is now consistent.

Findings

  1. P2 Default documentation is stale

Summary

This PR makes sync explicitly opt-in by removing aw-sync daemon from the default module list.

  • Prevents fresh installations from creating ~/ActivityWatchSync without user consent.
  • Preserves the ability to enable sync through autostart.modules.
  • Updates the default configuration example, settings reference, and architecture diagram to match the new behavior.

Reviews (2) · Last reviewed commit: "docs: update README to reflect aw-sync b..."

Comment thread src-tauri/src/lib.rs
Git-Session-Id: 02af41ce-32e6-511c-b2fe-2404985addd8
@TimeToBuildBob

Copy link
Copy Markdown
Contributor Author

@greptileai review

@TimeToBuildBob

TimeToBuildBob commented Sep 18, 2026

Copy link
Copy Markdown
Contributor Author

🤖 AI code review

Removes the unconditional aw-sync module entry from UserConfig::default()'s autostart list, so fresh installs and configs regenerated from defaults no longer start aw-sync automatically. Updates README to document aw-sync as opt-in, dropping it from the example autostart.modules and marking it as opt-in in the architecture diagram.

Safe to merge — no P0/P1 findings

Confidence 5/5

No thread-worthy findings. Advisory notes follow; they are retained without opening review threads.

1 advisory finding (summary-only, not scored)

These P2 guard, heuristic, trade-off, or documentation claims are retained for judgment without opening review threads.

⚠️ P2 mediumREADME.md

This is a fix(...) PR but no test files are included in the diff. Erik's feedback: 'where is the repro & fixes they are supposed to catch' (gptme#3441), 'that measurement should come with a regression test' (gptme#3446). Add a test that would have caught this bug. (Advisory: Erik merged all such PRs but consistently requested tests.)

Add a test file that reproduces the bug before the fix and passes after it.

How this was verified: static preflight: fix-commit + touched-files scan (rule 7)

Files changed (2) — the diff as I read it
  • README.md — Removes aw-sync from the example autostart modules, adds a note that it is opt-in, and marks it as '(opt-in)' in the architecture diagram.
  • src-tauri/src/lib.rs — Deletes the modules.push(ModuleEntry::Full { name: "aw-sync", args: "daemon" }) line from UserConfig::default() and replaces it with an explanatory comment.

Reviewed e9bb94b1c098 · openrouter/deepseek/deepseek-v4-flash-0731 · llm engine · 13s · about this reviewer

Maintainer commands

@TimeToBuildBob review (own line) — fresh review · @TimeToBuildBob fix — a worker acts on the findings. Once per comment; 👀 = received.

Comment thread src-tauri/src/lib.rs
@TimeToBuildBob

Copy link
Copy Markdown
Contributor Author

CI-green and mergeable (Greptile 5/5) — waiting only on a maintainer click.

This PR is ready to merge, but the bot has pull-only access to this repo and can't self-merge — surfacing it here so it isn't lost. The monitoring loop will stop re-flagging it now that this note is posted.

@0xbrayo
0xbrayo merged commit 2fc82c8 into ActivityWatch:master Sep 18, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Folder created in home directory (clashes with documented location)

2 participants