-
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