feat(dirs): testing-root fallback with legacy artifacts - #152
feat(dirs): testing-root fallback with legacy artifacts#152TimeToBuildBob wants to merge 1 commit into
Conversation
AW_PROFILE=testing now follows the #1399 resolution rule: use activitywatch-testing/ when it exists or the setup is fresh; stay on the shared activitywatch root (and -testing filenames) only when legacy testing artifacts are present and the new root is not. Bare filenames inside isolated profile roots; suffixed names remain legacy-only so existing peewee-sqlite-testing.v2.db files are not orphaned.
Greptile SummaryThe PR adds a compatibility-aware testing-profile root resolver that preserves legacy shared-root artifacts while using isolated roots for fresh installations.
Confidence Score: 5/5The PR appears safe to merge, with the directory, datastore, migration, and logging changes consistently implementing the documented compatibility rule. No concrete changed-code failure remains after checking legacy filename coverage, root precedence, migration naming, and reachable log-discovery behavior. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[AW_PROFILE=testing] --> B{Any activitywatch-testing root exists?}
B -- Yes --> C[Use isolated activitywatch-testing roots]
B -- No --> D{Legacy testing artifacts exist?}
D -- Yes --> E[Use shared activitywatch roots]
D -- No --> C
C --> F[Bare datastore and log filenames]
E --> G[Legacy -testing filenames]
F --> H[Open datastore and write logs]
G --> H
Reviews (1): Last reviewed commit: "feat(dirs): testing-root fallback with l..." | Re-trigger Greptile |
|
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. |
Amends the merged #149 dirs contract with the testing-root resolution rule from ActivityWatch/activitywatch#1399.
Rule (identical contract for python and rust):
activitywatch-testing/already exists → use it.activitywatch/root (peewee-sqlite-testing.v2.db,sqlite-testing.db,config-testing.toml,settings-testing.json, …) → stay in legacy mode (old paths, old-testingfilenames).activitywatch-testing/.Inside isolated profile roots (including new-style testing), datastore and log filenames are bare. Suffixed names remain only in legacy mode so existing
peewee-sqlite-testing.v2.dbfiles are not orphaned.This is the first item in the merge order: aw-core fix + release → aw-server-rust#652 → aw-server#167 → aw-client#118 → aw-tauri#241.
Not in this PR: cutting a PyPI release (needs a maintainer). Downstream PRs cannot pick this up until that lands.