elastic-arm-77c76b28: building 19bmpdf6j26czy2fhxygyqzdi3wa7j1l-horae-browser-checks.drv initdb: warning: enabling "trust" authentication for local connections 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. waiting for server to start.... done server started 2026-11-03T19:53:43.868234Z INFO horae: Running migrations... 2026-11-03T19:53:44.088112Z INFO horae: Migrations complete. 2026-11-03T19:53:44.106497Z INFO horae::seed: Seeding demo data… 2026-11-03T19:53:44.140338Z INFO horae::seed: Seed complete. 2026-11-03T19:53:44.145153Z INFO horae::seed: time_entries: 10 rows 2026-11-03T19:53:44.145918Z INFO horae::seed: clients: 2 rows admin 1440px light: text rows per total line: billable 1,1; cost 1 admin 1440px light text 32px: text rows per total line: billable 2,2; cost 2 admin 1440px dark: text rows per total line: billable 1,1; cost 1 admin 1440px dark text 32px: text rows per total line: billable 2,2; cost 2 admin 390px light: text rows per total line: billable 2,2; cost 2 admin 390px light text 32px: text rows per total line: billable 2,2; cost 2 admin 390px dark: text rows per total line: billable 2,2; cost 2 admin 390px dark text 32px: text rows per total line: billable 2,2; cost 2 admin 320px light: text rows per total line: billable 2,2; cost 2 admin 320px light text 32px: text rows per total line: billable 2,2; cost 2 admin 320px dark: text rows per total line: billable 2,2; cost 2 admin 320px dark text 32px: text rows per total line: billable 2,2; cost 2 restricted 1440px light: text rows per total line: billable 1,1; cost 1 restricted 1440px light text 32px: text rows per total line: billable 2,2; cost 1 restricted 1440px dark: text rows per total line: billable 1,1; cost 1 restricted 1440px dark text 32px: text rows per total line: billable 2,2; cost 1 restricted 390px light: text rows per total line: billable 2,2; cost 1 restricted 390px light text 32px: text rows per total line: billable 2,2; cost 1 restricted 390px dark: text rows per total line: billable 2,2; cost 1 restricted 390px dark text 32px: text rows per total line: billable 2,2; cost 1 restricted 320px light: text rows per total line: billable 2,2; cost 1 restricted 320px light text 32px: text rows per total line: billable 2,2; cost 1 restricted 320px dark: text rows per total line: billable 2,2; cost 1 restricted 320px dark text 32px: text rows per total line: billable 2,2; cost 1 PASS: legacy report currency totals EUR 1,330.00 / USD 1,475.00, groupings, filter, loading, retry, both themes with base and 32px root text at 1440/390/320px, and withheld cost; Chromium 148.0.7778.0 PASS: legacy report exports for no filter, project only, client only, client and project, teammate only: links, Time and Detailed rows, CSV bytes and XLSX downloads; Chromium 148.0.7778.0 PASS: archived own timer labels survive without granting catalog or global-rate access PASS: catalog/rate grants never enable unlinked or archived tasks for a new timer; valid start/stop persists PASS: rail popovers accept clicks and release the resize handle after closing PASS: scoped project list/detail expose workflow labels without directory access, private notes or rates PASS: edit and managed-project revocation remove current UI authority without legacy Administrator fallback PASS: inactive-account and changed-policy responses clear retained detail; retry recovers only the original binding PASS: keyboard manager removal preserves archived membership and withheld money/notes at desktop and narrow widths PASS: staged project task archive/restore, undo, cancellation and running-timer rejection preserve hidden configuration and restrictions PASS: financial read grants display disabled values and ordinary saves preserve stored fields PASS: explicit zero, cost reset and lost-acknowledgement replay preserve exact original intent PASS: current-authority revocation discards old editor state; explicit reload restores a fresh authorized form PASS: an explicit hours-only budget edit preserves inactive hidden money and recorded history PASS: scoped report paging, totals, four individual reports, four nested breakdowns, filtered exports, stale/invalid states and policy binding; Chromium 148.0.7778.0 ✔ permissions: pending navigation preserves history until the request is resolved (4.811763ms) ✔ permissions: dirty navigation requires an explicit discard (1.339623ms) ✔ client: pending navigation preserves history until the request is resolved (2.749527ms) ✔ client: dirty navigation requires an explicit discard (1.276181ms) ✔ invoice: pending navigation preserves history until the request is resolved (1.437985ms) ✔ invoice: dirty navigation requires an explicit discard (1.14298ms) ✔ project: pending navigation preserves history until the request is resolved (1.200461ms) ✔ project: dirty navigation requires an explicit discard (1.118139ms) ✔ timesheet: pending navigation preserves history until the request is resolved (1.200181ms) ✔ timesheet: dirty navigation requires an explicit discard (1.290502ms) ✔ permissions: scroll-only replacements preserve Dioxus coordinates without prompting (1.002017ms) ✔ timesheet: scroll-only replacements preserve Dioxus coordinates without prompting (0.922976ms) ✔ the legacy project opt-in and explicit release keep working (1.19746ms) ℹ tests 13 ℹ suites 0 ℹ pass 13 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 33.9773 ✔ store acknowledgement precedes a load from a new execution (5.215009ms) ✔ identical store is idempotent; another request cannot replace it (2.599444ms) ✔ clear requires the exact stored record and is idempotent (5.053886ms) ✔ storage errors never acknowledge a mutation or erase a request (3.258335ms) ✔ size limit counts UTF-8 bytes on both reads and writes (4.121511ms) ✔ other requesters and unrelated browser records are untouched (3.355657ms) ℹ tests 6 ℹ suites 0 ℹ pass 6 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 35.70533 Permission recovery browser: Chromium 148.0.7778.0 PASS: canonical People separates read scope, Administrator editing and legacy roles without legacy reads PASS: editor reload rejects a changed session and recovers only for the original requester PASS: real person save survives lost response/reload and replays exactly one receipt PASS: account changes isolate tab recovery; same-user reauthentication and restored authority recover the template PASS: a deleted template is recovered from its exact receipt without recreating it PASS: real permission history supports empty state, keyboard details, stable paging, deleted profiles, refresh/revocation and canonical access PASS: storage refusal prevents sends; acknowledged self-demotion cleanup issues no second mutation PASS: Export: semantics, keyboard, focus return, backdrop and short viewport PASS: Add entry: semantics, keyboard, focus return, backdrop and short viewport PASS: + Add row: semantics, keyboard, focus return, backdrop and short viewport PASS: pending save blocks dismissal; failure preserves input and allows retry PASS: row deletion is atomic after a stale-client lock and supports retry PASS: move failure is visible and reconciles with saved data PASS: resize failure is visible and reconciles with saved data PASS: reorder failure is visible and reconciles with saved data PASS: lost response failure is visible and reconciles with saved data PASS: historical move works without current tracking choices PASS: historical resize works without current tracking choices PASS: historical reorder works without current tracking choices PASS: day-view timer failure is visible PASS: project scope includes zero-entry active teammates without exposing unrelated hours PASS: changing person and browser history reload the correct sheet, including an empty teammate PASS: Day and Week edits carry the selected owner and preserve hidden work PASS: delegated creation uses the selected person and eligible project/task Browser state: http://127.0.0.1:8093/timesheet/calendar/2027-10-05?span=week&user=019f2900-0000-7000-8000-000000000001 Timesheet 2:30 this week Day Week Calendar + ← ▦ Week 04 Oct – 10 Oct 2027 → Week view ▾ Today Timesheet for Scoped browser teammate ▾ My timesheet Mon 4 1:00 Tue 5 1:30 Wed 6 0:00 Thu 7 0:00 Fri 8 0:00 Sat 9 0:00 Sun 10 0:00 WEEK TOTAL 2:30 1hr 2hr 3hr 4hr 5hr 6hr 7hr 8hr 9hr 10hr 11hr 12hr 13hr 14hr 15hr 16hr 17hr 18hr 19hr 20hr 21hr 22hr 23hr 24hr Scoped browser project 1:00 Scoped browser task Scoped browser client Scoped browser project 1:00 4:00–5:00 Scoped browser task Scoped browser client Scoped browser project 0:30 Scoped browser task Scoped browser client [] page.waitForResponse: Timeout 15000ms exceeded while waiting for event "response" at mutation (/nix/store/j7lfqysipxlriv9pq133n1isan2z2b01-horae/tests/browser/timesheet-permissions.cjs:76:27) at /nix/store/j7lfqysipxlriv9pq133n1isan2z2b01-horae/tests/browser/timesheet-permissions.cjs:236:11 { name: 'TimeoutError' } 2026-11-03T19:53:44.185853Z WARN horae: DEV_LOGIN=1: /auth/dev-login signs anyone in as an admin without a password. Use it for local development only. 2026-11-03 19:53:43.726 UTC [18] LOG: starting PostgreSQL 17.10 on aarch64-unknown-linux-gnu, compiled by clang version 21.1.8, 64-bit 2026-11-03 19:53:43.726 UTC [18] LOG: listening on Unix socket "/tmp/horae-browser.rINwdn/.s.PGSQL.5432" 2026-11-03 19:53:43.728 UTC [21] LOG: database system was shut down at 2026-11-03 19:53:43 UTC 2026-11-03 19:53:43.733 UTC [18] LOG: database system is ready to accept connections 2026-11-03 19:54:32.256 UTC [950] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.256 UTC [950] FATAL: connection to client lost 2026-11-03 19:54:32.286 UTC [960] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.286 UTC [960] FATAL: connection to client lost 2026-11-03 19:54:32.298 UTC [963] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.298 UTC [963] FATAL: connection to client lost 2026-11-03 19:54:32.339 UTC [964] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.339 UTC [964] FATAL: connection to client lost 2026-11-03 19:54:32.352 UTC [965] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.352 UTC [965] FATAL: connection to client lost 2026-11-03 19:54:32.380 UTC [966] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.380 UTC [966] FATAL: connection to client lost 2026-11-03 19:54:32.393 UTC [967] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.393 UTC [967] FATAL: connection to client lost 2026-11-03 19:54:32.427 UTC [968] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.427 UTC [968] FATAL: connection to client lost 2026-11-03 19:54:32.439 UTC [969] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.439 UTC [969] FATAL: connection to client lost 2026-11-03 19:54:32.467 UTC [971] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.467 UTC [971] FATAL: connection to client lost 2026-11-03 19:54:32.489 UTC [972] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.489 UTC [972] FATAL: connection to client lost 2026-11-03 19:54:32.517 UTC [973] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.517 UTC [973] FATAL: connection to client lost 2026-11-03 19:54:32.541 UTC [974] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.541 UTC [974] FATAL: connection to client lost 2026-11-03 19:54:32.590 UTC [976] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.590 UTC [976] FATAL: connection to client lost 2026-11-03 19:54:32.612 UTC [977] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.612 UTC [977] FATAL: connection to client lost 2026-11-03 19:54:32.642 UTC [978] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.642 UTC [978] FATAL: connection to client lost 2026-11-03 19:54:32.665 UTC [979] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.665 UTC [979] FATAL: connection to client lost 2026-11-03 19:54:32.690 UTC [980] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.690 UTC [980] FATAL: connection to client lost 2026-11-03 19:54:32.710 UTC [981] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.710 UTC [981] FATAL: connection to client lost 2026-11-03 19:54:32.731 UTC [982] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.731 UTC [982] FATAL: connection to client lost 2026-11-03 19:54:32.761 UTC [983] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.761 UTC [983] FATAL: connection to client lost 2026-11-03 19:54:32.783 UTC [984] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.783 UTC [984] FATAL: connection to client lost 2026-11-03 19:54:32.810 UTC [986] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.810 UTC [986] FATAL: connection to client lost 2026-11-03 19:54:32.827 UTC [970] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.827 UTC [970] FATAL: connection to client lost 2026-11-03 19:54:32.858 UTC [987] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.858 UTC [987] FATAL: connection to client lost 2026-11-03 19:54:32.915 UTC [989] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.915 UTC [989] FATAL: connection to client lost 2026-11-03 19:54:32.962 UTC [991] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.962 UTC [991] FATAL: connection to client lost 2026-11-03 19:54:32.984 UTC [992] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:32.984 UTC [992] FATAL: connection to client lost 2026-11-03 19:54:33.010 UTC [993] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:33.010 UTC [993] FATAL: connection to client lost 2026-11-03 19:54:33.031 UTC [994] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:33.031 UTC [994] FATAL: connection to client lost 2026-11-03 19:54:33.081 UTC [996] LOG: could not send data to client: Broken pipe 2026-11-03 19:54:33.081 UTC [996] FATAL: connection to client lost 2026-11-03 19:55:37.587 UTC [18] LOG: received fast shutdown request 2026-11-03 19:55:37.587 UTC [18] LOG: aborting any active transactions 2026-11-03 19:55:37.593 UTC [18] LOG: background worker "logical replication launcher" (PID 24) exited with exit code 1 2026-11-03 19:55:37.598 UTC [19] LOG: shutting down 2026-11-03 19:55:37.598 UTC [19] LOG: checkpoint starting: shutdown immediate 2026-11-03 19:55:37.609 UTC [19] LOG: checkpoint complete: wrote 1291 buffers (7.9%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.011 s, sync=0.001 s, total=0.012 s; sync files=0, longest=0.000 s, average=0.000 s; distance=7342 kB, estimate=7342 kB; lsn=0/1C18108, redo lsn=0/1C18108 2026-11-03 19:55:37.621 UTC [18] LOG: database system is shut down