Commit Graph

  • 7649b897c4 feat(tariff): lab explains the sum — fee breakdown from the engine walk julian 2026-07-06 15:41:40 +02:00
  • ab968eb25e feat(web): composer states the billing unit — the 60→10 price trap closed julian 2026-07-06 15:41:40 +02:00
  • 5e1a885dcb feat(web): one date standard across the UI — "25 Qer 14:30" julian 2026-07-06 15:41:40 +02:00
  • 6cf3492bff chore(shift): Z-report slip label wording (Albanian) julian 2026-07-06 12:36:14 +02:00
  • ffe8c13a1c fix(web): setup wizard no longer forces printers to bind to a barrier julian 2026-07-06 12:36:14 +02:00
  • fcea992e1e refactor(devices): rename driver "cashino" → "escpos" (generic ESC/POS) julian 2026-07-06 12:36:14 +02:00
  • 81bc2e357c fix(devices): USB printing dropped the job tail — chunked write loop julian 2026-07-06 12:36:14 +02:00
  • 7ef332999e feat(reports): occupancy curve, hour×dow heatmap, stay histogram, fraud KPIs julian 2026-07-06 12:35:54 +02:00
  • a2e102f3dd bump(resources): update TAG to stage-14638c2 for deployment consistency julian 2026-07-05 16:53:32 +02:00
  • 14638c2e13 docs(wiki): industry survey of parking tariff systems + session log julian 2026-07-05 16:37:53 +02:00
  • 4f902d869e feat(web): published-versions sidebar on the composer page julian 2026-07-05 16:37:53 +02:00
  • a5e54a8b93 fix(devices): bucket camera health-check detail — stop per-frame log/status churn julian 2026-07-05 16:37:53 +02:00
  • 0180394c45 bump(resources): update TAG to stage-d905dd1 for deployment consistency julian 2026-07-05 16:09:35 +02:00
  • d905dd19b4 Merge branch 'dev' into stage julian 2026-07-05 15:56:39 +02:00
  • c5ed3f1308 feat(drawer): drawer hub — balance now, this-shift figure, daily activity, shift history; busy spinners julian 2026-07-05 15:56:30 +02:00
  • 0b7eb28dfa Merge branch 'dev' into stage julian 2026-07-05 15:24:09 +02:00
  • d5ff2097bd feat(web): currency becomes a closed select (ALL / EUR / USD) julian 2026-07-05 15:23:29 +02:00
  • 1de209be48 fix(shifts): operator filter — select over real operators, no more focus loss julian 2026-07-05 15:23:29 +02:00
  • dc2cdc0a91 feat(web): self-host Chakra Petch as the app's primary face julian 2026-07-05 15:23:15 +02:00
  • fd9885e9ec feat(tariff-lab): DB-backed draft tariffs + named published versions julian 2026-07-05 14:31:42 +02:00
  • 52a89bfa56 feat(web): move tariff lab under /setup/tariff as a sub-tab julian 2026-07-05 14:31:32 +02:00
  • d9e6c13831 feat(tariff): whole-window package pricing mode (packageMinor) julian 2026-07-05 14:31:25 +02:00
  • 493210bbb0 Merge branch 'dev' into stage julian 2026-07-05 10:41:04 +02:00
  • a9f18be700 feat(logging): extend log retention to 60 days and update log level options julian 2026-07-05 10:40:42 +02:00
  • 72ad504b8d deploy(park-buzi): pin TAG=stage-365b648 (supersedes 93f9ebe, adds anpr do-while fix) julian 2026-07-05 09:20:58 +02:00
  • 5cdf8f227b deploy(park-buzi): pin TAG=stage-365b648 (supersedes 93f9ebe, adds anpr do-while fix) julian 2026-07-05 09:20:58 +02:00
  • 365b648282 Merge branch 'dev' into stage julian 2026-07-04 20:17:00 +02:00
  • c03ef2a34b fix(anpr): guarantee at least one analyze attempt per vehicle detection julian 2026-07-04 20:16:52 +02:00
  • d9829eb61f deploy(park-buzi): pin TAG=stage-93f9ebe (press-gate + reader hardening + logging) julian 2026-07-04 20:03:01 +02:00
  • bafa3282c7 deploy(park-buzi): pin TAG=stage-93f9ebe (press-gate + reader hardening + logging) julian 2026-07-04 20:03:01 +02:00
  • 93f9ebea05 Merge branch 'dev' into stage julian 2026-07-04 20:02:33 +02:00
  • c21babf293 feat(logging): ~2-month container rotation, ISO timestamps, level names julian 2026-07-04 19:47:53 +02:00
  • 44f34d68c4 Merge branch 'dev' into stage julian 2026-07-04 19:35:42 +02:00
  • 43c1f45e29 feat(reader): channel tagging (clone defense) + structural filter for phantom scans julian 2026-07-04 19:34:48 +02:00
  • 35e593ab63 docs(wiki): DT-008 phantom-scan diagnosis + backfill bypass/relay-test concept pages julian 2026-07-04 19:00:49 +02:00
  • b4f1418858 fix(entry): enforce the camera press-gate + duplicate-ticket defenses julian 2026-07-04 18:41:06 +02:00
  • 9d73561855 deploy(park-buzi): pin TAG=stage-6505a4a (presence-bypass promotion) julian 2026-07-04 17:11:10 +02:00
  • 094e963e5e deploy(park-buzi): pin TAG=stage-6505a4a (presence-bypass promotion) julian 2026-07-04 17:11:10 +02:00
  • 6505a4a73b feat(entry): admin bypass of the presence gate for faulty radar/camera julian 2026-07-04 16:52:34 +02:00
  • 8b65e199a3 Merge branch 'dev' into stage julian 2026-07-04 13:42:51 +02:00
  • f486dcbbfc docs(wiki): vision-service hardening backlog + boot-migration data-seed note julian 2026-07-04 13:41:32 +02:00
  • c142166972 docs(wiki): ATECC608 is upcoming — retag ledger signing to the on-host reality julian 2026-07-04 13:41:11 +02:00
  • 306d136a08 feat(setup): operator-tested relay pulse, signed into the ledger julian 2026-07-04 13:40:58 +02:00
  • 61b9955160 deploy(park-buzi): pin TAG=stage-d2ab2e0 (keep dev in sync with stage) julian 2026-07-01 13:06:51 +02:00
  • b7e4037fbe deploy(park-buzi): pin TAG=stage-d2ab2e0 julian 2026-07-01 13:06:26 +02:00
  • d2ab2e022e Merge branch 'dev' into stage julian 2026-07-01 13:01:54 +02:00
  • 33c4ea1e91 feat(entry): operator-issued entry + exit plate-swap reconciliation julian 2026-07-01 12:17:52 +02:00
  • 114a32e6f2 feat(drawer): operator records cash movements, admin reviews after (own /drawer route) julian 2026-07-01 11:17:20 +02:00
  • 018328a877 feat(booth): disable card tender until a P2PE POS is on-site (cash-only) julian 2026-07-01 09:57:03 +02:00
  • 266e9b0027 docs(wiki): record session findings — snapshot fix, booth rework, db reset julian 2026-06-30 17:58:43 +02:00
  • d92b8d1e6a feat(db): gated training/demo database reset CLI julian 2026-06-30 17:58:34 +02:00
  • 61de1fe772 feat(booth): rework Active Sessions + pay/exit modal around barrier re-open julian 2026-06-30 17:58:24 +02:00
  • cfac14e09e fix(snapshots): normalize content-type on serve so stored images render julian 2026-06-30 17:58:06 +02:00
  • 1b86750b0d docs(wiki): firmware/dbx-vs-TPM hardening + create disk-os-hardening page julian 2026-06-30 15:21:32 +02:00
  • 9c6741a485 docs(wiki): record backup deploy gotchas (compose allowlist + host mount) julian 2026-06-29 17:38:24 +02:00
  • d0b609e375 Merge branch 'dev' into stage julian 2026-06-29 15:57:10 +02:00
  • 8f32d90d28 fix(compose): pass BACKUP_KEY through to the server container julian 2026-06-29 15:56:39 +02:00
  • 07295f8063 deploy(park-buzi): pin TAG=stage-39c778f julian 2026-06-29 15:27:31 +02:00
  • 652d6599d3 ci(build-images): trigger on komodo/** too julian 2026-06-29 15:19:20 +02:00
  • 39c778fbac ci(build-images): trigger on komodo/** too julian 2026-06-29 15:19:20 +02:00
  • e16bccc2f5 chore(deploy): park-buzi TAG is a placeholder, pinned at deploy time julian 2026-06-29 13:12:20 +02:00
  • 2ab001054d chore(deploy): park-buzi TAG is a placeholder, pinned at deploy time julian 2026-06-29 13:12:20 +02:00
  • 381046190b feat(deploy): add stage tier — park-buzi as the staging booth julian 2026-06-29 13:11:35 +02:00
  • 84f00db48b feat(backup): admin-tunable retention + BACKUP_KEY as a Komodo secret julian 2026-06-29 12:52:18 +02:00
  • d5e41500a8 feat(backup): admin UI with admin-chosen target directory julian 2026-06-29 12:21:26 +02:00
  • 0c218179c4 feat(backup): encrypted on-site DB backup engine + local target julian 2026-06-29 11:59:45 +02:00
  • 9e442586af docs(wiki): settle on-site encrypted backup + disaster-recovery design julian 2026-06-29 11:43:23 +02:00
  • 11567a417f docs(wiki): catch concept pages up to the booth-UX/shift/font-scale work julian 2026-06-29 11:43:12 +02:00
  • f6e35bbebf fix(reader): correct the QR reader's identity — Dingtian DT-008, not "GEE" julian 2026-06-28 17:39:15 +02:00
  • 96acd6b662 feat(snapshot): re-encode captures + disk-pressure retention julian 2026-06-28 17:15:15 +02:00
  • cce99aadfd fix(web): booth UI/UX pass — readable font scaling + booth layout/report clarity julian 2026-06-28 15:15:09 +02:00
  • f706726eeb feat(prefs): per-user UI font scale (A−/A+), saved to the profile julian 2026-06-28 12:25:04 +02:00
  • 6734e9815e fix(booth): backfill the live-feed plate + make plate search work julian 2026-06-28 12:24:46 +02:00
  • 38481f105f feat(booth): blink the Entry/Exit lights on radar presence (mirror relay 3) julian 2026-06-28 11:48:12 +02:00
  • 4418594af0 refactor(setup): unify controller I/O — event-driven relays[] + generic inputs[] julian 2026-06-28 11:23:15 +02:00
  • 25a72ff20a feat(anpr): per-camera auto-open toggle (anprAutoTrigger) for shared lanes julian 2026-06-27 23:52:16 +02:00
  • c2a861208f fix(anpr): sliding poll window so a car arriving mid-loop isn't lost julian 2026-06-27 23:30:41 +02:00
  • a888125eca docs(komodo): complete env reference — every server/vision var + defaults julian 2026-06-27 23:23:11 +02:00
  • 96fd97efa9 fix(web): VITE_API_BASE relative (empty) for the booth's same-origin SPA julian 2026-06-27 23:16:19 +02:00
  • 2a13b95da6 fix(anpr): abort the poll loop if the subscriber transacts by card/QR mid-poll julian 2026-06-27 23:05:31 +02:00
  • 513566c89e chore(debug): add test-post-camera-events.py — a dumb HTTP sink for camera pushes julian 2026-06-27 22:55:02 +02:00
  • f77ed11782 feat(anpr): poll snapshots until a confident plate, so auto-exit works julian 2026-06-27 22:54:49 +02:00
  • e4a17efd97 feat(setup): reveal toggle for secret fields (the device web password) julian 2026-06-27 17:51:32 +02:00
  • 6d32e0fc0f fix(i18n): correct translation for 'addAnother' in Albanian julian 2026-06-27 14:37:02 +02:00
  • 3a60367232 feat(setup): print a real test slip from the printer "Test connection" modal julian 2026-06-27 14:36:39 +02:00
  • 045892bc94 fix(deploy): group_add lp (gid 7) so the server can write the USB printer node julian 2026-06-27 14:23:02 +02:00
  • 916c147b4d fix(camera): drop debug console.log(c) leaking the camera password to logs julian 2026-06-27 14:13:45 +02:00
  • 1ea1aa4189 fix(deploy): pass the USB printer (usblp) into the host-net server container julian 2026-06-27 14:11:51 +02:00
  • 9c20faf8de fix(deploy): drop server sysctls under host net (runc rejects per-netns sysctl) julian 2026-06-27 12:59:10 +02:00
  • a68dc23393 fix(i18n): update placeholder text for park name in English and Albanian translations julian 2026-06-27 12:48:51 +02:00
  • c87dcb2253 fix(deploy): server on host network so it sees the booth LAN / device VLAN julian 2026-06-27 12:48:27 +02:00
  • 7eadf71a0b docs(wiki): appliance-provisioning — Komodo deploy is now the primary flow julian 2026-06-27 12:30:08 +02:00
  • 9918f278b2 feat(deploy): Komodo fleet deployment — resources.toml + decision julian 2026-06-27 12:14:04 +02:00
  • 83298bc0c5 fix(deploy): booth.sh works in the flat /opt layout; .env TAG=dev default julian 2026-06-27 08:42:11 +02:00
  • 898cf1953a docs(wiki): camera 503/stream, alarm URL helper, reader ICMP liveness julian 2026-06-26 16:47:19 +02:00
  • dd0f6e483a fix(reader): real ICMP liveness — QR reader status was a hardcoded "ready" julian 2026-06-26 16:47:12 +02:00
  • 40de8a7467 feat(setup): generate the camera's Alarm Server settings to paste julian 2026-06-26 16:47:02 +02:00
  • f0fd15bb88 fix(camera): selectable snapshot stream + retry transient 503 Device Busy julian 2026-06-26 16:46:46 +02:00
  • 40ffa90dac fix(vision): self-heal local real ANPR — dev scripts sync the alpr extra julian 2026-06-26 08:11:17 +02:00
  • b3cb67188e fix(anpr): share one camera snapshot across bridge + advisory paths julian 2026-06-26 08:10:56 +02:00