Fix Vinted prices, partial listing-action saves, and stale triage views #17
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/reseller-correctness-pass"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Step 1 of the reseller roadmap: correctness fixes that every later profit feature depends on.
Changes
Rozmiar: 38, 89.00 złparsed as 3 889 zł andGTX 1660, 450.00 złas ~1.66 M zł. With both the item price and the total-with-fee present, the item price is used.priceCurrencyare skipped instead of being read as złoty.PATCH /api/listing-actionsmerges:decision,noteandhiddenare all optional; omitted fields keep their stored value. The web hide toggle and iOS swipes now send only the changed field, so an out-of-date note can no longer overwrite the stored one or unhide the row.Testing
npm run typecheck,npm test(234 pass),npm run build,npm audit --omit=dev(0 vulnerabilities)patchListingAction, swipe, demo transport, ScoutKit test) were not compiled locally — no Swift toolchain; please rely on the macOS CI run.Not included
🤖 Generated with Claude Code
- Vinted cards: read the price from the trailing label segments so sizes or model numbers ("Rozmiar: 38", "GTX 1660") are no longer glued onto it. - Structured data: skip offers priced in a currency other than PLN. - PATCH /api/listing-actions merges omitted fields with the stored row; the web hide toggle and iOS swipes send only the field they change, so a stale note is never written back. - Buy/Watch/Pass and Hidden views keep rows older than the 12 h feed window. - Location filter no longer drops Vinted listings, which carry no location. - Save as watch starts country-wide instead of pinning one district. - Drawer calculator: relabel "Margin" as ROI on cost and add margin on sale. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>