Ade Thompson apt
apt pushed to main at apt/fuelboard 2026-08-13 18:02:54 +01:00
926317236a Widget config sheets: unify row layout across both widgets — Fuel type first, then Sort by, then Favourite (Favourites sort only). Small widget's Favourites branch reordered from Sort/Fuel/Favourite to Fuel/Sort/Favourite, and the favourites-scoped fuel param retitled 'Fuel' so the row reads identically in every mode. Medium widget was already Fuel-first. No parameter type changes, so no stored-config reset beyond the normal reinstall.
apt pushed to main at apt/fuelboard 2026-08-13 17:48:35 +01:00
3e2d3775f2 Widget config sheet: revert WidgetSort to String-backed AppEnum. parameterSummary When(\.$sort, .equalTo, …) silently falls back to the otherwise branch for AppEntity parameters (iOS 17+ bug FB13263902), which hid the Favourite/Favourite Fuel rows on the small widget — the metadata compared against a literal 'WidgetSort.favourites' string instead of the enum case. String AppEnums match reliably (the d8506a0 form). Tradeoff: the Sort picker always offers Favourites; picking it with no favourites shows the empty state. FavouriteFuel entity + IntentParameterDependency filtering unchanged.
apt pushed to main at apt/fuelboard-editor 2026-08-13 17:34:19 +01:00
174cbb26a9 Packaging: sign appex (Widget.entitlements) then app (App.entitlements). Bare --deep -s - left the appex unsigned and embedded no entitlements, so SideStore re-signed without application-groups and the widget could not read favourites from the shared container
apt pushed to main at apt/fuelboard 2026-08-13 17:14:15 +01:00
d0bd4e7a8e Small widget favourites config: fuel dictates the favourite list (@IntentParameterDependency filters picker options by the chosen fuel), fuel picker shows only fuels with favourites (FavouriteFuel entity), Favourites sort hidden when no favourites exist (WidgetSort → dynamic AppEntity), fuel tags removed from favourite rows
apt pushed to main at apt/fuelboard 2026-08-13 17:00:18 +01:00
d8506a035f Small widget favourite picker: embed station name + multi-fuel flag in the WidgetFavourite entity so picker rows render with no storage read (config-sheet resolution can run without keychain/app-group access, which made every row show the 'Favourite' placeholder)
apt pushed to main at apt/fuelboard 2026-08-13 16:51:23 +01:00
7357eb98c3 Small widget favourites: fuel row returns to the config sheet (picks the default favourite); pinned favourite wins, fuel-tagged picker rows when favourites span >1 fuel; fallback = selected fuel's cheapest favourite
apt pushed to main at apt/fuelboard 2026-08-13 15:49:20 +01:00
1bdef59d78 Small widget: Favourites gains a picker to pin which favourite to show (separate FuelPriceWidgetSmall kind + AppEntity picker; medium keeps the list, no picker). Backlog: dual-unit widget picker labels
apt pushed to main at apt/fuelboard 2026-08-13 15:33:25 +01:00
26e724f48a Widget config: Distance picker as AppEntity so labels resolve dynamically from the app's units (AppEnum labels are static)
apt pushed to main at apt/fuelboard 2026-08-13 15:25:21 +01:00
64330f96a8 Widget config: Distance picker mirrors the app's units setting (5 mi = 8 km) via dynamic AppEnum displayRepresentation
apt pushed to main at apt/fuelboard 2026-08-13 15:10:24 +01:00
2409b71f2f Labels: pluralize miles (1 mile) and show true distances in the chosen unit (5 mi = 8 km) across Alerts/Stations pickers + captions
apt pushed to main at apt/fuelboard 2026-08-13 15:00:54 +01:00
490c343fd5 Alerts: mile-friendly radius 1/2/3/5/8 + Follow search (capped 8 mi); Live Activity Follow search; legacy radii clamped
apt pushed to main at apt/fuelboard 2026-08-13 14:22:14 +01:00
bb48995fac Onboarding copy: tighten values (daily refresh, widget line, alert line)
apt pushed to main at apt/fuelboard-editor 2026-08-13 14:11:31 +01:00
b371acbc43 Form view: multiline auto-growing value textareas (cap 180px)
apt pushed to main at apt/fuelboard-editor 2026-08-13 14:09:20 +01:00
f06cd833c0 Form view: structured key/value editor (keys read-only, values editable; side-by-side desktop, stacked mobile) + testable strings-format.js
apt pushed to main at apt/fuelboard 2026-08-13 14:04:58 +01:00
61bb61d802 Backlog: add GitHub production-data mirror (P3); mark API switch, unit tests, backoff done
apt pushed to main at apt/fuelboard-relay-api 2026-08-13 14:01:15 +01:00
6a5827561b Sync retry with exponential backoff (15s→15min cap); health exposes retry state
apt pushed to main at apt/fuelboard 2026-08-13 13:09:23 +01:00
2d070fa3ba Fuel colours: align with wheel palette — Unleaded #30D158, Premium #FFD60A, Diesel #64D2FF
apt pushed to main at apt/fuelboard 2026-08-13 13:02:52 +01:00
3fe2a7f03c Onboarding copy: drop premium fuel mention, 'updated daily'
apt pushed to main at apt/fuelboard-editor 2026-08-13 13:00:54 +01:00
4b3f7365cf Fix 404 on /?key=… (route matching must strip the query string)
apt pushed to main at apt/fuelboard-editor 2026-08-13 12:57:45 +01:00
9136a138de Editor: token from ?key= URL param (survives per-origin/per-browser storage)