From e7d223455b6cc8d93707b95640e690a701ea1dd5 Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 18 Sep 2026 16:40:19 +0000 Subject: [PATCH 1/2] fix: don't autostart aw-sync by default 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 --- src-tauri/src/lib.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index c4cf4dc..e130a4f 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -503,10 +503,11 @@ impl Default for UserConfig { modules.push(ModuleEntry::Simple("aw-watcher-window".to_string())); } - modules.push(ModuleEntry::Full { - name: "aw-sync".to_string(), - args: "daemon".to_string(), - }); + // aw-sync is not autostarted by default: it is still under + // development/preview, and enabling it silently creates + // ~/ActivityWatchSync without the user opting into sync + // (ActivityWatch/activitywatch#1418). Users who want sync can add + // it via the module settings. UserConfig { port: 5600, From e9bb94b1c098bd14485d2c90a3043a6e0aef7b89 Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 18 Sep 2026 16:55:45 +0000 Subject: [PATCH 2/2] docs: update README to reflect aw-sync being opt-in, not default Git-Session-Id: 02af41ce-32e6-511c-b2fe-2404985addd8 --- README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e2d7ca5..eac2870 100644 --- a/README.md +++ b/README.md @@ -82,19 +82,22 @@ minimized = true modules = [ "aw-watcher-afk", "aw-watcher-window", - { name = "aw-sync", args = "daemon" }, ] [module_args] "aw-watcher-vscode" = "--poll-interval 30" ``` +`aw-sync` is not included by default — sync is still in preview, so add it to +`autostart.modules` (e.g. `{ name = "aw-sync", args = "daemon" }`) yourself to +opt in. + **Key settings:** - `port` — Server port (default: 5600) - `discovery_paths` — Additional directories to search for `aw-*` module binaries - `autostart.enabled` — Register for OS autostart on login. Also toggleable at runtime via **Start at login** in the tray menu, which updates the OS registration *and* writes the new value back here. Editing it by hand takes effect on the next launch, in both directions (setting it to `false` removes an already-registered login item) - `autostart.minimized` — Start minimized to tray (if `false`, opens dashboard on launch) -- `autostart.modules` — Modules to start automatically. Each entry can be a string (`"aw-watcher-afk"`) or an object with args (`{ name = "aw-sync", args = "daemon" }`) +- `autostart.modules` — Modules to start automatically. Each entry can be a string (`"aw-watcher-afk"`) or an object with args (`{ name = "aw-sync", args = "daemon" }`). `aw-sync` is opt-in, not included by default - `module_args` — Default args by module name, used when a module is launched from the tray menu or restarted after a crash. Lets you set args for a module *without* adding it to `autostart.modules` (e.g. `aw-watcher-vscode` above is launched manually from the tray, but still gets its args). If a module is listed in both places, the inline args on its `autostart.modules` entry take precedence. **Note:** On Linux with Wayland, the default modules are `aw-awatcher` instead of `aw-watcher-afk` + `aw-watcher-window` (auto-detected via `XDG_SESSION_TYPE` / `WAYLAND_DISPLAY`). @@ -140,10 +143,11 @@ Log rotation happens automatically at 32 MB, keeping the 5 most recent rotated l │ │ spawns child processes ▼ -┌──────────────┐ ┌──────────────────┐ ┌─────────┐ -│ aw-watcher- │ │ aw-watcher- │ │aw-sync │ -│ afk │ │ window │ │ daemon │ -└──────────────┘ └──────────────────┘ └─────────┘ +┌──────────────┐ ┌──────────────────┐ ┌─────────────┐ +│ aw-watcher- │ │ aw-watcher- │ │aw-sync │ +│ afk │ │ window │ │ daemon │ +│ │ │ │ │(opt-in) │ +└──────────────┘ └──────────────────┘ └─────────────┘ ``` ### Source layout