What's New
Split Line Items
Split multi-quantity receipt items into separate rows so different people can claim different quantities. Example: "7x Beer $35" → "3x Beer $15" + "4x Beer $20". Works in both authenticated and guest split flows.
Shareable Guest Split Sessions
Create a claiming session from a scanned receipt and share a link. Each person opens the link, enters their name, and claims which items they had — no login required. Real-time polling keeps everyone in sync.
Save-for-Later Persistence
The "Save for Later" button now preserves your paid-by selection and item-to-person assignments. When you resume a pending receipt, all your progress is restored.
Changes
Features
- Split line items for receipt item assignment — scissors button on items with qty > 1 (#92)
- Shareable guest split sessions — create, join, claim items, finalize via shared link (#93)
- Save-for-later persistence — paidById + assignments saved and restored on resume (#93)
- Claiming page at
/split/[token]/claim— two-step join + claim flow with 3s polling (#93)
Fixes
- Split item edge cases: guard rounded unit prices, shift edit index after split (#94)
- Security: resolve Dependabot alerts for @anthropic-ai/sdk and postcss
- Docker: remove BuildKit npm cache mounts causing EEXIST failures
- Docker: copy tesseract.js transitive deps for OCR worker
Tests
- 32 new e2e tests covering split items, save-for-later, guest claiming sessions, and UI flows (#91, #93)
- data-testid attributes added across scan page, item assignment, guest split, and result pages
Schema
GuestSplit.statusfield ("claiming" | "finalized")Receipt.paidByIdfield for draft state persistence
Dependencies
- Bump @anthropic-ai/sdk, ip-address, icu-minify
Full Changelog: v0.7.0...v0.8.0