fix(queries): match Helium in the chrome bucket when no dedicated bucket exists - #989
TimeToBuildBob wants to merge 1 commit into
Conversation
…ket exists Helium can run the Chrome Web Store extension build, which reports the "Helium" app name into aw-watcher-web-chrome_* buckets instead of a dedicated Helium bucket. The chrome regex only matched google-chrome/chrome/chromium, so those events fell through the active-window filter and the Browser view (Top Domains/URLs/Titles) rendered empty. Reproduces aw-webui#898's semantics (approved, closed unmerged) on top of ActivityWatch#949's CHROME_FORK_ALTS mechanism: add helium as a fork alt so it's matched by default in the chrome stream, and automatically excluded when a dedicated aw-watcher-web-helium_* bucket participates (so that bucket owns its own events instead of double counting). Closes ActivityWatch#898 (superseded) Git-Session-Id: 5061
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #989 +/- ##
=======================================
Coverage 57.54% 57.54%
=======================================
Files 51 51
Lines 3208 3208
Branches 782 787 +5
=======================================
Hits 1846 1846
Misses 1286 1286
Partials 76 76 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
|
CI-green and mergeable — 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. |
🤖 AI code reviewAdds 'helium' to CHROME_FORK_ALTS so the chrome bucket regex matches Helium app names by default, and excludes Helium from the chrome stream when a dedicated aw-watcher-web-helium bucket is present. Updates unit tests to cover Helium matching, false positives, fork exclusion, and generated query behavior. Safe to merge — no P0/P1 findingsConfidence 5/5 ✅ No findings. The diff looks correct to me on this pass. Files changed (2) — the diff as I read it
Reviewed Maintainer commands
|
Summary
Helium can run the Chrome Web Store extension build, which reports the
"Helium" app name into
aw-watcher-web-chrome_*buckets instead of adedicated Helium bucket. The chrome regex only matched
google-chrome/chrome/chromium, so those events fell through theactive-window filter and the Browser view (Top Domains/URLs/Titles)
renders empty for those users.
Reproduces #898's semantics (approved, closed unmerged by its author after
going stale) on top of #949's
CHROME_FORK_ALTSmechanism: addheliumasa fork alt so it's matched by default in the chrome stream, and
automatically excluded when a dedicated
aw-watcher-web-helium_*bucketparticipates (so that bucket owns its own events instead of double
counting) — the same pattern already used for Arc.
Closes #898 (superseded).
Test plan
npx jest test/unit/queries.test.node.ts— 29/29 pass (added: known-namecoverage for
Helium/helium.exe, false-positive guard, fork-exclusionunit test, and two
fullDesktopQueryregression tests mirroring theexisting Arc/Dia ones — chrome-only bucket still matches Helium; a
dedicated Helium bucket excludes it from the chrome stream)
npx eslint src/queries.ts test/unit/queries.test.node.ts— cleannpx prettier --check src/queries.ts test/unit/queries.test.node.ts— clean