stan
e1e2bee590
groceries/picnic: label the Picnic Family member discount
Deploy production / deploy (push) Successful in 1m22s
2026-10-27 09:19:40 +00:00
stan
c094754c5b
groceries: add Picnic store (picnic.app storefront API, full range via category pages)
...
Deploy production / deploy (push) Successful in 1m24s
- picnic.ts: crawls the category tree, subcategory and overview pages (RSC), maps
Picnic categories to the shared list; no EANs, so matching is by name/brand/size
- picnic-auth.ts + scripts/picnic-login.ts: one-shot login from
/etc/grocery-tracker/picnic.env, token kept in ~/.config/groceries/picnic.env;
2FA is never requested unattended (run picnic-login.ts by hand)
- migration: store row picnic; Picnic as own brand in stats
2026-10-27 09:04:26 +00:00
stan
6dcbcfee25
groceries stats: fix array/json params for the app client (live store filter 500), CPI axis, header spacing
Deploy production / deploy (push) Successful in 1m11s
2026-10-25 20:48:00 +00:00
stan
8e35a58095
groceries stats: quote day alias in shrinkflation query
Deploy production / deploy (push) Successful in 1m10s
2026-10-25 20:42:32 +00:00
stan
a6ef263c7e
groceries: stats page with nightly snapshot (battles, basket, promos, CPI, range)
Deploy production / deploy (push) Successful in 1m19s
2026-10-25 20:39:35 +00:00
stan
60370d4572
groceries: relevance-ranked search (plain/basic products first)
...
Deploy production / deploy (push) Successful in 1m13s
- search.ts: score on the core name (brand/size stripped): exact or query+base suffix
(kipdij+filet), head-final compounds, prefix, inside; penalties per extra word and per
flavour/processing word (search-words.ts, editable); bonuses for store brands, the
query's dominant category, store count, favourites; trigram tiebreak
- groceries.synonyms table (seeded: kipdij/kippendij, pasta → spaghetti, …) expands queries
- list rows show all pack sizes of a group; group picker uses the same ranking
- scripts/groceries-search-eval.ts prints top results + latency; preflight now 8 tables
2026-10-25 20:20:34 +00:00
stan
1cfbe6486a
groceries: Action importer (allowed category listings: price, unit price, EAN from image name; food/drinks, personal care, pets, household consumables) + store row
Deploy production / deploy (push) Successful in 1m13s
2026-10-25 19:40:53 +00:00
stan
0e98acd0a8
groceries: Lidl — search API only public for CDN-cached URLs (401 otherwise); later pages best-effort, off the nightly run
Deploy production / deploy (push) Successful in 1m13s
2026-10-25 19:31:39 +00:00
stan
707f07efd4
groceries: mobile-first tracker redesign — compact rows per product group (cheapest store badge, unit price, spread, promo), tap to compare stores; category tree (23 tops, subcategories, icons/colours) with chips, store tiles, sort and non-food toggle; owner shelf prices (manual source with date, photo, note)
Deploy production / deploy (push) Failing after 1m1s
2026-10-25 19:10:10 +00:00
stan
67d74f39b8
groceries: ALDI importer (category pages SSR Algolia hits, offers; no EANs) + store row
Deploy production / deploy (push) Successful in 1m13s
2026-10-25 19:04:37 +00:00
stan
cce6ec3f2b
groceries: Vomar importer (public product gateway, EANs; regular prices only) + store row
Deploy production / deploy (push) Successful in 1m21s
2026-10-25 18:57:21 +00:00
stan
942c436d03
groceries: Hoogvliet importer (sitemap SKUs + storefront GraphQL, EANs, promo labels) + store row; Lidl retries transient CDN 401s
Deploy production / deploy (push) Successful in 1m24s
2026-10-25 18:52:01 +00:00
stan
ce8b545f60
groceries: Lidl importer (online range), Dirk importer + store row, generic per-store GTIN backfill
Deploy production / deploy (push) Successful in 1m36s
2026-10-25 18:41:12 +00:00
stan
3f30bb883f
groceries: add PLUS, Xenos and Amazing Oriental stores, is_food flag, PLUS EAN backfill
Deploy production / deploy (push) Successful in 1m7s
2026-10-25 17:17:53 +00:00
stan
c4689adda4
groceries: fix search 500 (pg_trgm word_similarity lives in public, app search_path is $user); guard test for unqualified trgm calls
Deploy production / deploy (push) Successful in 2m32s
2026-10-24 15:07:08 +00:00
stan
807f8af167
groceries: grouping ignores 'durum tarwe' and possessive store lines (Jumbo's), so house pasta lines up across stores
Deploy production / deploy (push) Successful in 2m49s
2026-10-24 15:03:39 +00:00
stan
427f4ed095
groceries: nightly AH/Jumbo catalogue import, unit-price normalisation, product groups and compare UI
Deploy production / deploy (push) Successful in 2m48s
2026-10-24 14:01:26 +00:00