Commit Graph
12 Commits
Author SHA1 Message Date
FuelBoard Contributor 75506b48b7 Telemetry: tag relay fetches with X-Client (app/widget) — app via RelayFuelProvider, widget focused/fuel-only fetches + diag beacon; Siri untouched (cached-only). Purely observational for relay admin /stats. 2026-08-14 23:23:06 +01:00
FuelBoard Contributor fccd0c07ef Settings About: data source section (connection, station count, GOV.UK update time)
- Relay envelope now carries source (api|csv), stations_count, and
  data_updated (freshest price_last_updated the GOV.UK server reports,
  independent of relay sync time).
- App decodes the new envelope metadata (RelayMeta), persists it after
  each full fetch, and shows it in Settings → About → Data source:
  Connection (API/CSV), Stations count, Data updated (local-formatted).
- Older relays without the fields decode cleanly (nil meta → em-dash).
- 2 new tests for meta decode + absent-meta tolerance; 37/37 pass.
2026-08-12 16:23:41 +01:00
FuelBoard Contributor a5a95cbb03 Point relay baseURL at API relay :8789 for live test
The API relay (fuelboard-relay-api, official Fuel Finder source) passed
contract verification and live health (source=api, 8010 stations).
Switching the app's single relay URL to :8789; original CSV relay stays
running on :8788 if we need to roll back.
2026-08-12 16:04:51 +01:00
FuelBoard Contributor 2ed18d81a3 Backlog, tests, logo compression, security audit, App Store icon
- BACKLOG.md: P0-P3 roadmap incl. govuk API switch (blocked on credentials)
- APPSTORE.md: review-gate analysis (2 blockers: LAN data source, Always-location notes)
- SECURITY.md: audit - no secrets, no ATS holes, one MEDIUM (relay IP in binary, planned fix)
- FuelBoardTests/: SPM package, 28 tests on real Shared/ sources (sanitizer, price guard, RAG, sort, distance, brands)
- Logos: proper 2x/3x pairs, palette-quantized, 75% smaller (315KB -> 79KB)
- App icon: 1024px fuelpump on gradient (was missing entirely -> instant rejection)
- decodeStations(from:) exposed for testability; relay fetch reuses it
2026-08-11 23:14:28 +01:00
FuelBoard Contributor c1edd4d52d App-side defensive price guard: drop grades outside 50-500p at decode (belt-and-braces vs relay regression) 2026-08-11 21:28:19 +01:00
FuelBoard Contributor cf9765be7b Fetch full-UK dump (no radius/limit); stations in app-group defaults only; alert path keeps focused radius fetch 2026-08-11 19:30:02 +01:00
FuelBoard Contributor 213f93aa04 Results filter is now search radius in miles (5/10/15); relay fetch scoped to radius, limit 500; changing miles re-fetches; caption shows stations within N miles 2026-08-11 18:02:23 +01:00
FuelBoard Contributor cde51622a3 All fuel prices per station (E10/E5/Diesel from one fetch); re-fetch on fuel switch; fuel tabs populate instantly 2026-08-11 17:16:55 +01:00
FuelBoard Contributor 75629b39b5 Price right-aligned on second row; word-capitalise station titles (keep BP/MFG/ASDA) 2026-08-11 15:40:19 +01:00
FuelBoard Contributor 7304d99fd8 England-wide: relay-backed provider (full-UK data), regional sample fallback replaces Halifax-only 2026-08-11 14:34:04 +01:00
FuelBoard Contributor 4f5f1999a9 Location-driven results: widget fetches its own location (async, cache fallback), app auto-requests on first launch, Halifax sample stations 2026-08-11 14:03:41 +01:00
FuelBoard Contributor b0a5b5a326 Scaffold FuelBoard: petrol price widget + app (sample data, Maps deep-links, provider seam for Fuel Finder API) 2026-08-11 13:54:56 +01:00