What's Changed
💱 Refund linking across currencies
MoneyMatter used to reject a refund in a different currency than the original purchase as "greater than the original transaction amount", even when the refund was correct: exchange rates shift between the purchase date and the refund date, so a converted refund can end up larger than the converted original. Cross-currency refunds now link without that cap.
Same-currency refunds suffered from the same shifting rates: a full refund of a purchase could get rejected because the check compared converted values instead of the amounts you actually paid and got back. It now compares the real amounts, so a 100 EUR refund always links to a 100 EUR purchase.
🐛 Bug Fixes
- In Firefox, date fields drew the browser's own calendar icon underneath the app's calendar button, so the two overlapped. Date fields now show a single clean calendar button in every browser. Other browsers were unaffected.
- When refunds in a period added up to more than you spent in a category, budget and statistics charts drew inverted bars and invisible slices that dragged the totals down. Such categories now show zero spending instead.
📝 Code Changes
- fix: Update date field icon look by @letehaha in #527
- feat: Soften refunds linking validation and fix same-currency linking by @letehaha in #528
- chore: Cut backend-e2e shard time with transpile-only jest and caching by @letehaha in #530
- test: Optimize backend e2e tests coverage by @letehaha in #531
Full Changelog: v0.27.1...v0.27.2