2078c4b83efeat: clear grace period on invoice.payment_succeeded
Ovidiu U
2026-04-23 10:37:50 +01:00
b9d457578cfeat: fold subscription deletion handling into HandleStripeWebhook
Ovidiu U
2026-04-23 10:34:05 +01:00
25b79f095bfeat: bust plan cache on customer.subscription.updated
Ovidiu U
2026-04-23 10:31:07 +01:00
a39d4b1b94feat: consolidate stripe webhook handling into HandleStripeWebhook listener
Ovidiu U
2026-04-23 10:27:23 +01:00
f1c1a1c572feat: add grace_period_until to users table
Ovidiu U
2026-04-23 10:23:27 +01:00
bf013926c0docs: add stripe subscription lifecycle spec + implementation plan
Ovidiu U
2026-04-23 10:05:50 +01:00
19fc61a0a3feat: accept ArcGIS ONSPD column aliases (PCD7/PCD8/PCDS) in postcodes:import
Ovidiu U
2026-04-22 13:31:27 +01:00
13fc227619docs: link ONSPD attribution to source dataset page
Ovidiu U
2026-04-22 13:28:39 +01:00
d8f87f964dMerge branch 'feat/self-hosted-postcodes'
Ovidiu U
2026-04-22 13:19:39 +01:00
975a1522cfdocs: plan for self-hosted UK postcodes
Ovidiu U
2026-04-22 13:19:33 +01:00
29ba2f3d86docs: add ONS/Royal Mail/OS attribution required by OGL v3
Ovidiu U
2026-04-22 12:39:11 +01:00
3ec7cda790feat: derive outcode centroids from postcodes during import
Ovidiu U
2026-04-22 12:36:39 +01:00
d01a634f0btest: cover terminated + blank-coord skip paths for postcodes:import
Ovidiu U
2026-04-22 12:34:19 +01:00
9ad62538b9fix: harden postcodes:import against duplicate headers and test collisions
Ovidiu U
2026-04-22 12:33:10 +01:00
4a60298606feat: add postcodes:import command for loading ONSPD CSV
Ovidiu U
2026-04-22 12:28:08 +01:00
5426722c71refactor: scope postcode cache to place names, DB is authoritative for postcodes
Ovidiu U
2026-04-22 12:23:50 +01:00
d460de1850fix: guard malformed postcodes.io responses and isolate persist errors from HTTP success
Ovidiu U
2026-04-22 12:22:15 +01:00
45bf1c0d24feat: persist postcodes.io fallback results into local DB
Ovidiu U
2026-04-22 12:18:20 +01:00
1e3b246172feat: resolve outcodes from local DB before HTTP
Ovidiu U
2026-04-22 12:13:52 +01:00
9fa9ea7835feat: resolve full postcodes from local DB before HTTP
Ovidiu U
2026-04-22 12:09:19 +01:00
55c81fab7bstyle: align Postcode/Outcode models with house Fillable+casts convention
Ovidiu U
2026-04-22 12:07:23 +01:00
64a7cc3de5feat: add Postcode and Outcode Eloquent models
Ovidiu U
2026-04-22 12:04:39 +01:00
7c114c72e4style: add void return type to postcodes migration closures
Ovidiu U
2026-04-22 12:03:51 +01:00
2fe9c3ef77feat: add postcodes and outcodes tables for self-hosted lookup
Ovidiu U
2026-04-22 12:00:53 +01:00
b4bd78ab4cRename SearchBar to PostSearchFilters, add sort controls and brand filter, relocate station count display
Ovidiu U
2026-04-22 11:50:59 +01:00
8335f49fd6Redesign station cards with compact layout, improved typography, and expandable details
Ovidiu U
2026-04-22 11:23:05 +01:00
dd9bd95657Redesign search UI with unified input, expandable filters, and integrated map controls
Ovidiu U
2026-04-22 09:38:23 +01:00
afe459f248Lazy-load dashboard and settings views to reduce initial bundle size
Ovidiu U
2026-04-20 20:38:04 +01:00
d822b77fb0feat: redesign homepage with responsive hero, verdict card preview, and modular landing components
Ovidiu U
2026-04-20 20:27:02 +01:00
831637380cfeat: expand station cards with detailed information and add live statistics endpoint
Ovidiu U
2026-04-20 18:58:13 +01:00
c2466e5a61feat(tiers): add display-name layer, push.frequency entitlement, and rename pricing cards
Ovidiu U
2026-04-20 18:57:24 +01:00
7dc41ba9eefeat: add location-based search, redesign station cards, and implement URL state management
Ovidiu U
2026-04-20 15:51:02 +01:00
d29f3e6487Add tier feature design spec, annual billing, fuel type normalization, and admin subscription management
Ovidiu U
2026-04-20 14:13:03 +01:00
5acb99c9e3Remove obsolete Livewire fuel search components and consolidate pricing tiers
Ovidiu U
2026-04-20 14:12:15 +01:00
aec547cd86refactor: restructure Stripe pricing config to support monthly and annual tiers
Ovidiu U
2026-04-14 19:26:01 +01:00
486f0e689crefactor: split oil price ingestion and prediction into separate services + commands
Ovidiu U
2026-04-14 16:59:43 +01:00
1a0381265erefactor: extract Brent price sources into dedicated classes
Ovidiu U
2026-04-14 16:29:52 +01:00
a7ee9f4557feat: use EIA as primary Brent crude source with FRED fallback
Ovidiu U
2026-04-14 16:23:06 +01:00
4220b1b86aAdd subscription tiers, notification preferences, and logging infrastructure
Ovidiu U
2026-04-14 16:20:51 +01:00
3cd3467178config: add EIA API key for Brent crude price source
Ovidiu U
2026-04-14 16:20:07 +01:00
d25883ead4feat: add geolocation support with Near Me button and user location marker on map
Ovidiu U
2026-04-11 21:27:11 +01:00
a969c1b347feat: add fuel price classification markers and responsive search UI improvements
Ovidiu U
2026-04-11 20:51:07 +01:00
951bb0b98dfeat: add sort select to homepage SearchBar
Ovidiu U
2026-04-11 18:57:03 +01:00
b8adc98669feat: add brand and reliable sort options to StationList
Ovidiu U
2026-04-11 18:55:21 +01:00
2747047f53fix: correct default fuelType in useStations from 'petrol' to 'e10'
Ovidiu U
2026-04-11 18:50:29 +01:00
5fe9f9dc6dfix: empty results state and validation error display on homepage
Ovidiu U
2026-04-11 18:48:25 +01:00
276f9bf612feat: wire up homepage search with map and station list
Ovidiu U
2026-04-11 18:46:34 +01:00
6f52f3f0d7feat: add defaultOpen prop to LeafletMap
Ovidiu U
2026-04-11 18:45:26 +01:00
d11d500a35fix: accessibility and Enter key handling in SearchBar
Ovidiu U
2026-04-11 18:44:34 +01:00
b5ee25db67feat: add fuel type and radius selects to SearchBar
Ovidiu U
2026-04-11 17:23:56 +01:00
66c662f471docs: add homepage search implementation plan
Ovidiu U
2026-04-11 17:23:03 +01:00