Repository navigation
fix(tipping): floor group minimum balance at one cent - #1712
Merged
Merged
Conversation
The server rejects a MinimumBalanceRequirement below the currency's minimum transfer value (INVALID_RULES). The custom-amount keypad only rejected <= 0, so a non-USD entry could convert to a sub-cent USD amount. Round the converted amount to USD's decimals and reject anything that rounds to zero, matching iOS.
bmc08gt
added a commit
that referenced
this pull request
Oct 7, 2026
…e-token-card * origin/code/cash: build: update release manifest fix(chat): run the emoji drawability check on the injected dispatcher (#1719) test(profile): stub the cover prefetch in the featured groups picker test (#1718) chore(contacts): drop the READ_CONTACTS permission (#1717) fix(chat): drop the empty band above the oldest message (#1716) fix(profile): let content show through behind the footer buttons (#1715) feat(chat): drop the card at the start of chat history (#1707) feat(ui): blur scroll content under the app bar on more screens (#1713) fix(profile): open looked-up people and featured groups on their profiles (#1709) fix(profile): let content scroll under the pinned bar (#1706) feat(chat): only members who can chat collect cash links (#1714) fix(tipping): floor group minimum balance at one cent (#1712) feat(profile): link a chat's token from its profile (#1708) fix(tokens): load the market cap explainer for tokens you don't hold (#1710) # Conflicts: # apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/screens/profile/GroupProfileScreen.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
A custom group minimum balance could reach the server as a fraction of a cent, which StartChat rejects with
INVALID_RULES. The keypad only rejected amounts<= 0, then converted a non-USD entry to USD with no rounding, so 0.5 JPY was sent as about $0.0033.The server's limit is now documented in the contract (code-payments/flipcash2-client-protocol#26): every
MinimumBalanceRequirementmust be at least one unit at the currency's last decimal place.minimumBalanceForconverts the entry to USD, rounds it to cents, and returns null for anything that rounds to $0.00.ConfirmCustomAmountdrops a null the same way it dropped an empty entry. This matches iOS, which rounds a converted amount to the cent and rejects $0 (MinimumBalanceAmountSheet.swift). An entry like 1 JPY, about $0.0067, is accepted as $0.01 rather than rejected.The protobuf mapper is unchanged, and the preset chips ($10/$50/$100) were never affected.
MinimumBalanceFloorTestcovers rejecting amounts that round to zero, rounding a fraction of a cent, and the exact one-cent boundary.