Skip to content

fix(split-meow): 混幣行程顯示警告並停止跨幣別錯誤加總 - #449

Merged
s123104 merged 1 commit into
mainfrom
fix/split-meow-mixed-currency
Jun 26, 2026
Merged

fix(split-meow): 混幣行程顯示警告並停止跨幣別錯誤加總#449
s123104 merged 1 commit into
mainfrom
fix/split-meow-mixed-currency

Conversation

@s123104

@s123104 s123104 commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

背景

Codex 三方 review(Q3)發現 split-meow 的 production bug(已隨 #445 上線):當同一行程記到多種幣別(使用者在 Settings 中途切換全域幣別)時,totalSpent/balances/settlements 直接把不同幣別的數字相加,並以單一幣別標籤顯示——產生看似精準實則錯誤的總額與結算,Codex 評為「比沒有總額更糟」。

註:tripCurrency = tripExpenses[length-1] 取的是最舊一筆(store prepend),這與註解「trip 建立時的幣別」意圖一致,非 bug;真正問題是跨幣別加總。

修法(最小生產級安全修復)

  • 偵測 isMixedCurrency(trip 內出現 >1 種幣別)。
  • 混幣時:隱藏單一總額與結算區塊,改顯示警告(四語系 zh-TW/en/ko/ja),引導改用單一幣別記帳。
  • 分享/匯出文字同步以警告取代錯誤總額與結算。
  • per-expense 個別金額顯示維持正確(各自快照幣別),不受影響。
  • 單一幣別行程(常態)行為完全不變。

完整 mixed-currency UX(按幣別分組 vs 換算成 base currency)為產品決策,Codex 已列為待拍板,本 PR 先止血避免顯示錯誤數字。

驗證

  • split-meow typecheck ✓ · vitest HomeAndHistorySmoke 19 tests(含 2 新混幣/單幣測試)✓
  • changeset @app/split-meow patch

🤖 Generated with Claude Code

- 偵測 trip 內多幣別時隱藏單一總額與結算,改顯示警告(四語系)
- 跨幣別直接相加 totalSpent/settlements 為無效運算,避免顯示誤導金額
- 分享文字同步以警告取代錯誤總額與結算
- 補 HistoryTab 混幣/單幣行程行為測試(Codex review Q3)

測試:split-meow typecheck 通過;vitest HomeAndHistorySmoke 19 tests 通過
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8d6d91c5e0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/split-meow/src/components/HistoryTab.tsx
Comment thread apps/split-meow/src/components/HistoryTab.tsx
@s123104
s123104 merged commit 9de159a into main Jun 26, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant