2078c4b83e
feat: clear grace period on invoice.payment_succeeded
Ovidiu U
2026-04-23 10:37:50 +01:00
b9d457578c
feat: fold subscription deletion handling into HandleStripeWebhook
Ovidiu U
2026-04-23 10:34:05 +01:00
25b79f095b
feat: bust plan cache on customer.subscription.updated
Ovidiu U
2026-04-23 10:31:07 +01:00
a39d4b1b94
feat: consolidate stripe webhook handling into HandleStripeWebhook listener
Ovidiu U
2026-04-23 10:27:23 +01:00
f1c1a1c572
feat: add grace_period_until to users table
Ovidiu U
2026-04-23 10:23:27 +01:00
bf013926c0
docs: add stripe subscription lifecycle spec + implementation plan
Ovidiu U
2026-04-23 10:05:50 +01:00
19fc61a0a3
feat: accept ArcGIS ONSPD column aliases (PCD7/PCD8/PCDS) in postcodes:import
Ovidiu U
2026-04-22 13:31:27 +01:00
13fc227619
docs: link ONSPD attribution to source dataset page
Ovidiu U
2026-04-22 13:28:39 +01:00
d8f87f964d
Merge branch 'feat/self-hosted-postcodes'
Ovidiu U
2026-04-22 13:19:39 +01:00
975a1522cf
docs: plan for self-hosted UK postcodes
Ovidiu U
2026-04-22 13:19:33 +01:00
29ba2f3d86
docs: add ONS/Royal Mail/OS attribution required by OGL v3
Ovidiu U
2026-04-22 12:39:11 +01:00
3ec7cda790
feat: derive outcode centroids from postcodes during import
Ovidiu U
2026-04-22 12:36:39 +01:00
d01a634f0b
test: cover terminated + blank-coord skip paths for postcodes:import
Ovidiu U
2026-04-22 12:34:19 +01:00
9ad62538b9
fix: harden postcodes:import against duplicate headers and test collisions
Ovidiu U
2026-04-22 12:33:10 +01:00
4a60298606
feat: add postcodes:import command for loading ONSPD CSV
Ovidiu U
2026-04-22 12:28:08 +01:00
5426722c71
refactor: scope postcode cache to place names, DB is authoritative for postcodes
Ovidiu U
2026-04-22 12:23:50 +01:00
d460de1850
fix: guard malformed postcodes.io responses and isolate persist errors from HTTP success
Ovidiu U
2026-04-22 12:22:15 +01:00
45bf1c0d24
feat: persist postcodes.io fallback results into local DB
Ovidiu U
2026-04-22 12:18:20 +01:00
1e3b246172
feat: resolve outcodes from local DB before HTTP
Ovidiu U
2026-04-22 12:13:52 +01:00
9fa9ea7835
feat: resolve full postcodes from local DB before HTTP
Ovidiu U
2026-04-22 12:09:19 +01:00
55c81fab7b
style: align Postcode/Outcode models with house Fillable+casts convention
Ovidiu U
2026-04-22 12:07:23 +01:00
64a7cc3de5
feat: add Postcode and Outcode Eloquent models
Ovidiu U
2026-04-22 12:04:39 +01:00
7c114c72e4
style: add void return type to postcodes migration closures
Ovidiu U
2026-04-22 12:03:51 +01:00
2fe9c3ef77
feat: add postcodes and outcodes tables for self-hosted lookup
Ovidiu U
2026-04-22 12:00:53 +01:00
b4bd78ab4c
Rename SearchBar to PostSearchFilters, add sort controls and brand filter, relocate station count display
Ovidiu U
2026-04-22 11:50:59 +01:00
8335f49fd6
Redesign station cards with compact layout, improved typography, and expandable details
Ovidiu U
2026-04-22 11:23:05 +01:00
dd9bd95657
Redesign search UI with unified input, expandable filters, and integrated map controls
Ovidiu U
2026-04-22 09:38:23 +01:00
afe459f248
Lazy-load dashboard and settings views to reduce initial bundle size
Ovidiu U
2026-04-20 20:38:04 +01:00
d822b77fb0
feat: redesign homepage with responsive hero, verdict card preview, and modular landing components
Ovidiu U
2026-04-20 20:27:02 +01:00
831637380c
feat: expand station cards with detailed information and add live statistics endpoint
Ovidiu U
2026-04-20 18:58:13 +01:00
c2466e5a61
feat(tiers): add display-name layer, push.frequency entitlement, and rename pricing cards
Ovidiu U
2026-04-20 18:57:24 +01:00
7dc41ba9ee
feat: add location-based search, redesign station cards, and implement URL state management
Ovidiu U
2026-04-20 15:51:02 +01:00
d29f3e6487
Add tier feature design spec, annual billing, fuel type normalization, and admin subscription management
Ovidiu U
2026-04-20 14:13:03 +01:00