Repository navigation
v0.38.0
This release indexes every locator your tests use — a Locators tab shows which tests share each one — lets you keep a run forever, exempt from retention, and tightens who can open which settings and how OAuth sign-ins link to existing accounts.
Full diff: v0.37.0…v0.38.0
✨ Highlights
- 🔍 Locator usage index — Piwi parses the locator chains out of stored Playwright steps and indexes which tests use each one; a Locators tab lists who uses what, and a test's page shows its own locators.
- 📌 Keep a run forever — Mark a run to keep and retention never deletes it, from the dashboard or at ingest with the reporter's
keepoption orPIWI_KEEP. - 🧭 Timeline type filter — The evidence timeline gains a type filter.
- 🔐 Settings by role — Settings pages enforce role-based access, and non-admin users get their own settings.
- 🔗 Safer OAuth linking — An OAuth sign-in links only to an account whose email is verified on both sides, and changing an email clears its verified flag.
Features
Locators
- add a locator usage index that tracks which tests use each locator (11f9674)
- app: parse locator chains from stored Playwright steps (c58615d)
- db: index which tests use each locator chain (ddfb5a6)
- ui: add a Locators tab that shows who uses each locator (415997c)
- ui: show a test's locators on its page and move the tab forward (47fda71)
Keeping runs
- keep test runs forever, exempt from retention (3b1bb34, 09cf80e)
- reporter: keep a run at ingest with
keep/PIWI_KEEP(4171d2f) - reporter: send the working directory with each run (7825e41)
Evidence & access
- ui: add a type filter to the evidence timeline (88c4eab, 1475499)
- auth: enforce role-based access control for settings pages (115d3b9)
Bug Fixes
Accounts & access
- app: give non-admin users their settings, and tighten settings access (#619) (7655789)
- app: replace the sidebar GitHub link with a Documentation link (#619) (6460118)
- auth: link an OAuth sign-in only to an account that verified the email, and require verification on both sides (1bcb822, 15da24c)
- app: clear the verified flag when an account's email changes (af6648b)
- db, users: clear scenario gap triage references before deleting a user (fcc4bce, 2951fcc)
Locators
- app: read locator text exactly as Playwright prints it (2d29cac)
- db: index locator uses per Playwright project, off the request path (2503cd1)
- ui: drop stale locator answers and share the usage query checks (06a53c6)
Live runs & timeline
- reporter: stream expect steps live (40dc259, 17b703a)
- app: publish live step events in batch order (28660aa, 6c4d667)
- ui: keep the timeline filter from hiding every type or the mark key (256f70a)