Repository navigation
Conversation
…dle step Linux deb/rpm/AppImage contain only the aw-tauri binary today because nothing copies aw-awatcher or aw-sync into aw-tauri/src-tauri/modules/ before the Tauri bundle step runs. aw-tauri@931e56d (included in the pinned 1d52445 pointer) already conditionally injects those modules via bundle.resources when src-tauri/modules/aw-* is present. This is the activitywatch side: - Reorder SUBMODULES on Linux TAURI_BUILD so awatcher builds before aw-tauri - Stage awatcher -> aw-awatcher and aw-sync -> aw-sync into aw-tauri/src-tauri/modules/ immediately before aw-tauri's make build runs After this change, the Tauri bundle step sees the staged binaries and includes them in the .deb, .rpm, and .AppImage via bundle.resources. aw-tauri's runtime discovery already knows where to look (../lib/aw-tauri/ for deb/rpm, APPDIR for AppImage). Closes ActivityWatch/aw-tauri#232 Git-Session-Id: 98cf
|
…mands Git-Session-Id: c1f61f50-7d00-5c08-bf06-29c448dc9529
|
@greptileai review |
🤖 AI code reviewSafe to merge — no P0/P1 findings on latest reviewUpdated after inline dispositions on finding threads — this is the current state; the verdict below is frozen at review time and is kept as the historical record of that pass. Finding disposition
The PR reorders the Linux TAURI_BUILD submodule list so awatcher builds before aw-tauri, and adds a staging step in the build loop that copies aw-sync and awatcher binaries into aw-tauri/src-tauri/modules/ before aw-tauri's make build runs. The staging is guarded by TAURI_BUILD=true, OS=Linux, and file existence checks. Needs a look — P2 onlyConfidence 4/5 1 finding ·
|
…aries Address AI-review P2: the staging block only guarded copies for the current run, so stale aw-sync/aw-awatcher binaries from a previous Linux TAURI_BUILD could leak into a later non-Linux or SKIP_SERVER_RUST bundle (Tauri injects src-tauri/modules/aw-* whenever present). - rm -rf aw-tauri/src-tauri/modules before staging on every TAURI_BUILD (all OSes), so no run inherits another run's staged binaries - error out when expected binaries are missing on Linux (aw-sync unless SKIP_SERVER_RUST=true, awatcher always) instead of silently bundling an incomplete set Git-Session-Id: 20602d75-5208-578f-b332-d8bc421547ac
A '#' line without a trailing backslash ended the logical recipe line, so bash got a truncated for-loop (syntax error: unexpected end of file).
|
687779f: 86dc343 put two |
|
@greptileai review |
|
Thanks for fixing my broken recipe in 687779f. Confirmed the regression and your correction by parsing each Make recipe separately with |
…es.sh, README The Tauri AppImage is meant to be self-contained and run from anywhere (awatcher + aw-sync bundled inside, #1499), so drop move-to-aw-modules.sh, which copied everything into ~/aw-modules as a workaround. Rewrite README.txt: the other folders in the zip are optional extra modules to copy into ~/.local/share/activitywatch/aw-tauri/modules/. Ship the awatcher folder as aw-awatcher/, since module discovery only descends into aw-* dirs, so a copied awatcher/ would never be found.
…es.sh, README The Tauri AppImage is meant to be self-contained and run from anywhere (awatcher + aw-sync bundled inside, #1499), so drop move-to-aw-modules.sh, which copied everything into ~/aw-modules as a workaround. Rewrite README.txt: the other folders in the zip are optional extra modules to copy into ~/.local/share/activitywatch/aw-tauri/modules/. Ship the awatcher folder as aw-awatcher/, since module discovery only descends into aw-* dirs, so a copied awatcher/ would never be found.
|
@greptileai review |
…es.sh, README The Tauri AppImage is meant to be self-contained and run from anywhere (awatcher + aw-sync bundled inside, #1499), so drop move-to-aw-modules.sh, which copied everything into ~/aw-modules as a workaround. Rewrite README.txt: the other folders in the zip are optional extra modules to copy into ~/.local/share/activitywatch/aw-tauri/modules/. Ship the awatcher folder as aw-awatcher/, since module discovery only descends into aw-* dirs, so a copied awatcher/ would never be found.
…es.sh, README The Tauri AppImage is meant to be self-contained and run from anywhere (awatcher + aw-sync bundled inside, #1499), so drop move-to-aw-modules.sh, which copied everything into ~/aw-modules as a workaround. Rewrite README.txt: the other folders in the zip are optional extra modules to copy into ~/.local/share/activitywatch/aw-tauri/modules/. Ship the awatcher folder as aw-awatcher/, since module discovery only descends into aw-* dirs, so a copied awatcher/ would never be found.
…se awatcher, rewrite README The Tauri AppImage is meant to be self-contained and run from anywhere (awatcher + aw-sync bundled inside, #1499), so drop move-to-aw-modules.sh, which copied everything into ~/aw-modules as a workaround, and the zip's loose awatcher/ (also a dir name module discovery skips). Rewrite README.txt: the other folders are optional extra modules to copy into the user modules dir.
Problem
Linux deb/rpm/AppImage packages contain only the
aw-tauribinary. A fresh install launches the tray + server + web UI but records nothing — no window watcher, no AFK watcher, no sync. The root cause: nothing in the bundle build copiesaw-awatcheroraw-syncintoaw-tauri/src-tauri/modules/beforecargo tauri bundleruns.Solution
aw-tauri@931e56d(in the pinned1d52445submodule pointer) already handles the bundle side: it conditionally injectssrc-tauri/modules/aw-*viabundle.resourceswhen that directory is present at build time, anddirs.rsknows how to find them at runtime (../lib/aw-tauri/for deb/rpm,$APPDIR/usr/lib/aw-tauri/for AppImage). This PR is the activitywatch side:SUBMODULESon Linux withTAURI_BUILD=truesoawatcherbuilds beforeaw-tauri(it was appended after aw-tauri, which is too late).make buildin the module loop:aw-server-rust/target/release/aw-sync→aw-tauri/src-tauri/modules/aw-syncawatcher/target/release/awatcher→aw-tauri/src-tauri/modules/aw-awatcherBoth copies are guarded by
[ -f ... ], soSKIP_SERVER_RUST=trueand non-Linux (macOS, Windows) builds are unaffected.What changes
Makefile: +16 lines, -2 lines — reorder and staging only, no new steps in CITesting
The change is exercised by the existing
build-tauriCI matrix onubuntu-24.04andubuntu-24.04-arm. After this lands, the produced.debsize should grow from ~16 MB to ~40–50 MB (matching the.zipminus PyInstaller trees).Closes ActivityWatch/aw-tauri#232 (already closed; this is the activitywatch side)