Compare commits

...

14 commits

Author SHA1 Message Date
David Kiania
dc6404a114 fix(grafana): raise geomap maxZoom from 12 to 22 for full-resolution drill-in
Some checks failed
Static Analysis / static (push) Has been cancelled
Tests / test (push) Has been cancelled
Carto basemap tiles render up to ~19-20; OpenLayers caps at 28. 22 leaves
no practical ceiling for street-level inspection while keeping the EAC-
bounded minZoom in place.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-27 18:32:21 +03:00
David Kiania
03ceeb4d2d fix(grafana): tighten Active Vehicles map to Kenya, Uganda and Tanzania
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
Recentred geomap view from lat -2.0/lon 35.5/zoom 5 to lat -3.0/lon 34.5/
zoom 5.5 (Lake Victoria area, the geographic intersection of the three
countries) and raised minZoom to 5.5 so the dashboard can't be panned out
to show neighbouring countries.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-27 18:31:08 +03:00
David Kiania
d6fd8cf0cf fix(grafana): stop SI auto-scaling on km/hours stats; bound geomap to East Africa
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
Grafana's lengthkm and h units auto-scale with SI prefixes — fleet km
totals rendered as "Mm" (megametres) and drive-hour totals as days/weeks,
which read as "millions" and "weeks" on the Daily Ops dashboard. Switched
the affected panels (Fleet km today, Drive/Idle hours today, the per-vehicle
roll-up table, the driver leaderboard, and the 7-day distance trend) to
unit "none" with decimals: 1 so values stay in km/h with units carried by
panel titles and column displayNames.

Geomap view recentred to lat -2.0, lon 35.5, zoom 5 with minZoom 5 /
maxZoom 12 so the Active Vehicles map opens on the East African Community
region and cannot zoom out past it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-27 17:39:14 +03:00
4b738fbcb7 Merge PR #11: backup TZ → Africa/Nairobi
Some checks failed
Tests / test (push) Has been cancelled
Static Analysis / static (push) Has been cancelled
2026-04-24 08:31:24 +00:00
f0de4057b3 Merge PR #10: persistence fix + multi-schedule backups
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
2026-04-24 08:12:09 +00:00
e5c9d0f4c4 Merge pull request 'fix: auto-register devices + refresh CSV (140 new rows)' (#9) from quality-program-2026-04-12 into main
Some checks failed
Static Analysis / static (push) Has been cancelled
Tests / test (push) Has been cancelled
2026-04-21 09:30:14 +00:00
6371967f8d Merge pull request 'fix: parse real Jimi push format (msgType+data)' (#8) from quality-program-2026-04-12 into main
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
2026-04-21 09:10:21 +00:00
f42eef6653 Merge pull request 'diag: log raw push body to identify Jimi format' (#7) from quality-program-2026-04-12 into main
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
2026-04-21 09:05:09 +00:00
809dbb165c Merge pull request 'fix: webhook handles JSON body push format from Jimi' (#6) from quality-program-2026-04-12 into main
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
2026-04-21 08:57:04 +00:00
5f24c158e2 Merge pull request #5: Daily Operations dashboard + tracksolid analytics views
Some checks failed
Static Analysis / static (push) Has been cancelled
Tests / test (push) Has been cancelled
2026-04-19 10:47:52 +00:00
8d1f40de1c Merge pull request 'quality-program: deploy-ready stack (Apr 2026)' (#4) from quality-program-2026-04-12 into main
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
2026-04-18 21:30:06 +00:00
f2222593a3 Merge pull request 'fix: DB port 5888→5433 (port conflict)' (#3) from quality-program-2026-04-12 into main
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
2026-04-18 12:43:57 +00:00
6b4e09670a Merge pull request 'docs: update CLAUDE.md with session learnings (18 Apr 2026)' (#2) from quality-program-2026-04-12 into main
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
2026-04-18 11:14:40 +00:00
5fa87a712e Merge pull request 'feat: business analytics expansion, driver CSV import, live DB state docs' (#1) from quality-program-2026-04-12 into main
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
2026-04-18 06:04:10 +00:00

View file

@ -111,7 +111,7 @@
}, },
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
"unit": "lengthkm", "unit": "none",
"decimals": 1, "decimals": 1,
"color": { "mode": "fixed", "fixedColor": "blue" } "color": { "mode": "fixed", "fixedColor": "blue" }
} }
@ -133,7 +133,7 @@
"reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false } "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false }
}, },
"fieldConfig": { "fieldConfig": {
"defaults": { "unit": "h", "decimals": 1, "color": { "mode": "fixed", "fixedColor": "green" } } "defaults": { "unit": "none", "decimals": 1, "color": { "mode": "fixed", "fixedColor": "green" } }
}, },
"targets": [ "targets": [
{ "datasource": { "type": "postgres", "uid": "tracksolid_pg" }, { "datasource": { "type": "postgres", "uid": "tracksolid_pg" },
@ -154,7 +154,7 @@
}, },
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
"unit": "h", "decimals": 1, "unit": "none", "decimals": 1,
"color": { "mode": "thresholds" }, "color": { "mode": "thresholds" },
"thresholds": { "thresholds": {
"mode": "absolute", "mode": "absolute",
@ -256,7 +256,7 @@
} }
], ],
"tooltip": { "mode": "details" }, "tooltip": { "mode": "details" },
"view": { "allLayers": true, "id": "coords", "lat": -1.5, "lon": 36.5, "zoom": 6 } "view": { "allLayers": true, "id": "coords", "lat": -3.0, "lon": 34.5, "zoom": 5.5, "minZoom": 5.5, "maxZoom": 22 }
}, },
"fieldConfig": { "fieldConfig": {
"defaults": { "color": { "mode": "palette-classic-by-name" } }, "defaults": { "color": { "mode": "palette-classic-by-name" } },
@ -335,11 +335,11 @@
"defaults": { "custom": { "align": "auto", "filterable": true } }, "defaults": { "custom": { "align": "auto", "filterable": true } },
"overrides": [ "overrides": [
{ "matcher": { "id": "byName", "options": "km_today" }, { "matcher": { "id": "byName", "options": "km_today" },
"properties": [{ "id": "unit", "value": "lengthkm" }, { "id": "decimals", "value": 1 }] }, "properties": [{ "id": "unit", "value": "none" }, { "id": "decimals", "value": 1 }, { "id": "displayName", "value": "km today" }] },
{ "matcher": { "id": "byName", "options": "drive_hours" }, { "matcher": { "id": "byName", "options": "drive_hours" },
"properties": [{ "id": "unit", "value": "h" }, { "id": "decimals", "value": 1 }] }, "properties": [{ "id": "unit", "value": "none" }, { "id": "decimals", "value": 1 }, { "id": "displayName", "value": "Drive h" }] },
{ "matcher": { "id": "byName", "options": "idle_hours" }, { "matcher": { "id": "byName", "options": "idle_hours" },
"properties": [{ "id": "unit", "value": "h" }, { "id": "decimals", "value": 1 }] }, "properties": [{ "id": "unit", "value": "none" }, { "id": "decimals", "value": 1 }, { "id": "displayName", "value": "Idle h" }] },
{ "matcher": { "id": "byName", "options": "did_not_move" }, { "matcher": { "id": "byName", "options": "did_not_move" },
"properties": [ "properties": [
{ "id": "custom.cellOptions", "value": { "type": "color-background" } }, { "id": "custom.cellOptions", "value": { "type": "color-background" } },
@ -378,7 +378,7 @@
"defaults": { "custom": { "align": "auto", "filterable": true } }, "defaults": { "custom": { "align": "auto", "filterable": true } },
"overrides": [ "overrides": [
{ "matcher": { "id": "byName", "options": "km" }, { "matcher": { "id": "byName", "options": "km" },
"properties": [{ "id": "unit", "value": "lengthkm" }, { "id": "decimals", "value": 0 }] }, "properties": [{ "id": "unit", "value": "none" }, { "id": "decimals", "value": 0 }, { "id": "displayName", "value": "km" }] },
{ "matcher": { "id": "byName", "options": "speeding_per_100km" }, { "matcher": { "id": "byName", "options": "speeding_per_100km" },
"properties": [ "properties": [
{ "id": "custom.cellOptions", "value": { "type": "color-background" } }, { "id": "custom.cellOptions", "value": { "type": "color-background" } },
@ -424,8 +424,9 @@
"options": { "legend": { "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "multi" } }, "options": { "legend": { "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "multi" } },
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
"unit": "lengthkm", "unit": "none",
"custom": { "drawStyle": "bars", "fillOpacity": 60, "lineWidth": 1 } "decimals": 1,
"custom": { "drawStyle": "bars", "fillOpacity": 60, "lineWidth": 1, "axisLabel": "km" }
} }
}, },
"targets": [ "targets": [