this derivation will be built: /nix/store/lxq92ss9miq7b58sx105vn2dgnip9cp2-horae-browser-checks.drv building '/nix/store/lxq92ss9miq7b58sx105vn2dgnip9cp2-horae-browser-checks.drv' horae-browser-checks> initdb: warning: enabling "trust" authentication for local connections horae-browser-checks> initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. horae-browser-checks> waiting for server to start.... done horae-browser-checks> server started horae-browser-checks> 2026-10-12T13:23:10.718494Z INFO horae: Running migrations... horae-browser-checks> 2026-10-12T13:23:10.836100Z INFO horae: Migrations complete. horae-browser-checks> 2026-10-12T13:23:10.851847Z INFO horae::seed: Seeding demo data… horae-browser-checks> 2026-10-12T13:23:10.862401Z INFO horae::seed: Seed complete. horae-browser-checks> 2026-10-12T13:23:10.862720Z INFO horae::seed: time_entries: 10 rows horae-browser-checks> 2026-10-12T13:23:10.865621Z INFO horae::seed: clients: 2 rows horae-browser-checks> PASS: archived own timer labels survive without granting catalog or global-rate access horae-browser-checks> PASS: catalog/rate grants never enable unlinked or archived tasks for a new timer; valid start/stop persists horae-browser-checks> PASS: rail popovers accept clicks and release the resize handle after closing horae-browser-checks> PASS: scoped project list/detail expose workflow labels without directory access, private notes or rates horae-browser-checks> PASS: edit and managed-project revocation remove current UI authority without legacy Administrator fallback horae-browser-checks> PASS: inactive-account and changed-policy responses clear retained detail; retry recovers only the original binding horae-browser-checks> PASS: keyboard manager removal preserves archived membership and withheld money/notes at desktop and narrow widths horae-browser-checks> PASS: staged project task archive/restore, undo, cancellation and running-timer rejection preserve hidden configuration and restrictions horae-browser-checks> PASS: financial read grants display disabled values and ordinary saves preserve stored fields horae-browser-checks> PASS: explicit zero, cost reset and lost-acknowledgement replay preserve exact original intent horae-browser-checks> PASS: current-authority revocation discards old editor state; explicit reload restores a fresh authorized form horae-browser-checks> PASS: an explicit hours-only budget edit preserves inactive hidden money and recorded history horae-browser-checks> PASS: scoped report paging, totals, four individual reports, four nested breakdowns, filtered exports, stale/invalid states and policy binding; Chromium 148.0.7778.96 horae-browser-checks> ✔ permissions: pending navigation preserves history until the request is resolved (6.395185ms) horae-browser-checks> ✔ permissions: dirty navigation requires an explicit discard (1.049628ms) horae-browser-checks> ✔ client: pending navigation preserves history until the request is resolved (5.580119ms) horae-browser-checks> ✔ client: dirty navigation requires an explicit discard (0.838478ms) horae-browser-checks> ✔ invoice: pending navigation preserves history until the request is resolved (0.708863ms) horae-browser-checks> ✔ invoice: dirty navigation requires an explicit discard (0.625123ms) horae-browser-checks> ✔ project: pending navigation preserves history until the request is resolved (0.651451ms) horae-browser-checks> ✔ project: dirty navigation requires an explicit discard (0.62209ms) horae-browser-checks> ✔ timesheet: pending navigation preserves history until the request is resolved (0.701809ms) horae-browser-checks> ✔ timesheet: dirty navigation requires an explicit discard (1.342522ms) horae-browser-checks> ✔ permissions: scroll-only replacements preserve Dioxus coordinates without prompting (0.617487ms) horae-browser-checks> ✔ timesheet: scroll-only replacements preserve Dioxus coordinates without prompting (0.702847ms) horae-browser-checks> ✔ the legacy project opt-in and explicit release keep working (0.733122ms) horae-browser-checks> ℹ tests 13 horae-browser-checks> ℹ suites 0 horae-browser-checks> ℹ pass 13 horae-browser-checks> ℹ fail 0 horae-browser-checks> ℹ cancelled 0 horae-browser-checks> ℹ skipped 0 horae-browser-checks> ℹ todo 0 horae-browser-checks> ℹ duration_ms 30.390914 horae-browser-checks> ✔ store acknowledgement precedes a load from a new execution (3.103603ms) horae-browser-checks> ✔ identical store is idempotent; another request cannot replace it (1.389479ms) horae-browser-checks> ✔ clear requires the exact stored record and is idempotent (5.344276ms) horae-browser-checks> ✔ storage errors never acknowledge a mutation or erase a request (1.854391ms) horae-browser-checks> ✔ size limit counts UTF-8 bytes on both reads and writes (2.707963ms) horae-browser-checks> ✔ other requesters and unrelated browser records are untouched (1.763611ms) horae-browser-checks> ℹ tests 6 horae-browser-checks> ℹ suites 0 horae-browser-checks> ℹ pass 6 horae-browser-checks> ℹ fail 0 horae-browser-checks> ℹ cancelled 0 horae-browser-checks> ℹ skipped 0 horae-browser-checks> ℹ todo 0 horae-browser-checks> ℹ duration_ms 23.251688 horae-browser-checks> Permission recovery browser: Chromium 148.0.7778.96 horae-browser-checks> PASS: canonical People separates read scope, Administrator editing and legacy roles without legacy reads horae-browser-checks> PASS: editor reload rejects a changed session and recovers only for the original requester horae-browser-checks> PASS: real person save survives lost response/reload and replays exactly one receipt horae-browser-checks> PASS: account changes isolate tab recovery; same-user reauthentication and restored authority recover the template horae-browser-checks> PASS: a deleted template is recovered from its exact receipt without recreating it horae-browser-checks> PASS: real permission history supports empty state, keyboard details, stable paging, deleted profiles, refresh/revocation and canonical access horae-browser-checks> PASS: storage refusal prevents sends; acknowledged self-demotion cleanup issues no second mutation