2e5ae66662Telemetry contract: a session the app never saw end
main
Claude2026-09-13 21:25:53 +0200
db50af0c69Sources page: one set of sources for every profile on the accountClaude2026-09-13 01:33:09 +0200
4c8e02f48bTesty: patch the page instead of redrawing it, one line per deviceClaude2026-09-10 15:32:30 +0200
886e2643cfGive a run a timestamp for when it last movedClaude2026-09-10 11:44:07 +0200
5a4d0e1c91Show a run while it is runningClaude2026-09-10 11:37:20 +0200
679ab38424Say the right thing beside a case that did not runClaude2026-09-10 01:38:41 +0200
17d3be8892Match a screenshot to its case the way PocketBase actually stores itClaude2026-09-10 01:36:49 +0200
96f346f775Show what the release gate found, run by runClaude2026-09-10 01:04:54 +0200
9daf638c49Document source_pick, the row that says why a source wonClaude2026-09-09 21:58:18 +0200
73a86d3e23Show which provider's bytes were slowClaude2026-09-07 22:26:28 +0200
7a40dd908dShow on the dashboard which outside services are aliveClaude2026-09-07 22:05:42 +0200
bc6ab04673Hold the decode ladder the benchmark playsClaude2026-09-05 20:58:14 +0200
2d6782780aSay why the direct password field is there, accuratelyClaude2026-09-05 19:56:14 +0200
0fdbd86badTake the long dashes out of the copyClaude2026-09-05 19:53:30 +0200
9ee36181cbStop a harmless verification link reading as an errorClaude2026-09-05 19:33:52 +0200
f72c9e7986Finish confirming an email address on our own siteClaude2026-09-05 19:31:51 +0200
eaff4abbcaMake the reset link look like it belongsClaude2026-09-05 19:08:37 +0200
fb59f504feCzech account emails, and a reset that finishes on our own domainClaude2026-09-05 19:04:50 +0200
2b458fb9f6Let people ask for a new password on the website, and stop capitals breaking itClaude2026-09-05 19:01:02 +0200
5b69b9ec6aSet a password from the dashboardClaude2026-09-05 18:34:57 +0200
ad38989f00notices: add the created/updated fields everything sorts byClaude2026-09-02 22:10:31 +0200
5a4112f41fDashboard writes were silently GETsClaude2026-09-02 21:50:21 +0200
271c423918Drop the nsfwEnabled clause from the releases read ruleClaude2026-08-30 04:15:50 +0200
55444ee55eStop choosing an update variant, and drop the 18+ controlsClaude2026-08-30 04:09:10 +0200
1b38ce9d73Keep a television signed in across a holidayClaude2026-08-29 02:09:55 +0200
7f6a72dd43Let the owner tell the family what is brokenClaude2026-08-15 20:12:57 +0200
dd37b36f6eMint the download token when the button is pressedClaude2026-08-12 22:18:33 +0200
874eab21dcDon't tell an account about 18+ when it hasn't got anyClaude2026-08-12 22:04:36 +0200
79b615a02cThe dashboard edits any group, not whichever one it foundClaude2026-08-12 21:54:12 +0200
8f2cb994ecThe code has to choose the template, not the clockClaude2026-08-12 21:35:46 +0200
9dd677b442Seed with the token production is actually reachable withClaude2026-08-12 19:24:25 +0200
57585d8ad2Tell a new viewer what to buy before asking them to fill in a formClaude2026-08-12 18:36:55 +0200
27ce0f5b60Dashboard: the family config, set once and handed to new accountsClaude2026-08-09 01:23:53 +0200
80c4bd498cThe accounts table needed the whole widthClaude2026-08-08 23:33:22 +0200
449b1e75e0Dashboard: read the reports, and create accounts without the admin UIClaude2026-08-08 23:29:51 +0200
447cb85346client_logs.tester: mark our own sessions, not the family'sClaude2026-08-08 20:54:12 +0200
8d3cefa3f5Telemetry contract: the real session_summary shape, and the duplicate warningClaude2026-08-07 12:40:49 +0200
dc4f85fd4fThe TV instructions stop naming an app that may not be installedClaude2026-08-07 09:33:28 +0200
5bfc45cd23The sources form no longer insists on prehraj.toClaude2026-08-07 09:09:56 +0200
36d7bb11b0Shadow the stale pb_public pages the deploy leaves behindClaude2026-08-07 02:13:31 +0200
12e7f4103fThe unified page becomes the site; retire the two it replacedClaude2026-08-07 02:10:48 +0200
00b20550c2Accounts are owner-created, and one page manages the whole accountClaude2026-08-07 01:54:25 +0200
06a87824bfclient_logs: add flavor, which PocketBase was silently discardingClaude2026-08-06 06:45:48 +0200
48a88e6936Dashboard: error history, and which publish owns itClaude2026-08-05 21:34:42 +0200
cd5d7138d9Dashboard reads COOLIFY_READ_TOKEN, and the name is the pointClaude2026-08-05 21:28:28 +0200
7a4f0d91f3Pretty URL for the dashboard: /status -> /status.htmlClaude2026-08-05 21:23:54 +0200
cb3f1407ffOperator status dashboard at /status.htmlClaude2026-08-05 21:17:05 +0200
9e6901505dContract: Windows publishes the installer, and where its flavour gate livesClaude2026-08-01 15:58:13 +0200
4faac4c280check-flavor: accept a build directory, refuse a .exe explicitlyClaude2026-08-01 15:57:37 +0200
4bf6523ab3Add check-flavor.py: verify an artifact's flavour without installing itClaude2026-08-01 13:12:33 +0200
1d50e5a680Phase 2: /api/amber/whoami token introspection for amber-apiClaude2026-07-25 17:52:43 +0200
a98f52e3bcMerge pull request 'Add /settings web editor for the encrypted addon config' (#9) from feature/web-settings-editor into mainrichiexec2026-07-23 16:21:15 +0000
e781557694Add /settings web editor for the encrypted addon configClaude2026-07-23 18:20:24 +0200
2c1c4dde0bMerge pull request 'client_logs: background device diagnostics collection' (#8) from feature/client-logs-telemetry into mainrichiexec2026-07-23 11:19:42 +0000
a1982fd760Merge pull request 'Device approve page: manual code-entry for the QR-less path' (#5) from fix/device-approve-code-entry into mainrichiexec2026-07-20 09:08:52 +0000
15be3bd5e5device approve page: manual code-entry for the QR-less path (#55)Claude2026-07-20 11:06:51 +0200
3c8d60e614Merge pull request 'fix(device-auth): inline helpers into each hook handler (JSVM scope)' (#4) from fix/device-auth-jsvm-scope into mainrichiexec2026-07-19 17:48:46 +0000
0d29431734fix(device-auth): inline helpers into each hook handler (JSVM scope)Claude2026-07-19 19:48:03 +0200
4cc5279842Merge pull request 'feat: device-auth backend for codeless sign-in (app #12)' (#3) from feat/device-auth into mainrichiexec2026-07-19 17:34:35 +0000
f9300ceec5Merge pull request 'Schema: fields the client needs to sync watch state / watchlist / prefs' (#1) from feature/sync-fields into mainrichiexec2026-07-17 16:40:27 +0000
ac1c983dddfeat(schema): fields the client needs to sync watch state / watchlist / prefsClaude2026-07-17 16:20:38 +0200
cf299e06ddfix: run PocketBase as root so it can write Coolify's persistent mountClaude2026-07-15 21:08:12 +0200