Currency handling improvements #437
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #412 #411
Description
Implemented a proper currency formatter based on
Intlbrowser API. We now properly render decimals and fixed numerous issues with the current implementation, superceding PRs #413 #419The case where the split is not properly defined (for example in exact split) is now handled more gracefully in the UI with nonsensical share texts hidden. Additionally a critical performance issue was fixed with large sums and leftover pennies calculation, which froze the webpage on huge leftover sums.
The simplify method has been patched to properly fill in metadata of generated simplified balances that did not exist prior, causing a crash on balanceList.
What is more, the recalculate method also now better deals with malformed balance data, where not all group balance relations are created, since newly joined users may not have groupBalances with everyone (another case for #247)
Demo
screenrecording-2025-10-19_09-53-08.mp4
Checklist
CONTRIBUTING.mdin its entirety