Skip to content

fix(tip): raise a DM fee floor to the regional minimum - #891

Merged
bmc08gt merged 1 commit into
mainfrom
fix/tip-floor-regional-minimum
Sep 28, 2026
Merged

bmc08gt merged 1 commit into
mainfrom
fix/tip-floor-regional-minimum

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked on #889.

TipFloor.toOpenDM returns the recipient's fee whenever it's positive, even when it's under the regional tip minimum. Every tip carries that minimum, so the Start Chatting sheet can state a floor the server always denies. In the Bugsnag sample for 6a67781, one user sent $0.76 four times and got "tip amount is below the minimum of 1 USD" each time. The recipient's fee isn't logged, so which fee that was is unconfirmed.

Two other sampled fees sit under $1: 100 JPY and 1000 NGN. Those senders were denied for the fee, which means the server checks the fee first. With #889 they'd send the full fee and hit the minimum instead, so the rounding fix alone doesn't get them through.

A fee under the preset row's minimum now falls back to .preset. The fee is compared in the row's currency, which is the entry currency or the USD fallback, the same way TipPresets.meetsMinimum judges an entry. A fee that can't be converted keeps its own floor.

TipFloorTests covers a $0.50 fee against a $1 minimum, a CAD fee under the USD fallback row, and a fee at the minimum that stays the fee.

The Android change is code-payments/code-android-app#1599.

@bmc08gt bmc08gt self-assigned this Sep 28, 2026
@bmc08gt
bmc08gt added this pull request to stack #894 September 28, 2026 18:43
@bmc08gt
bmc08gt force-pushed the fix/tip-floor-regional-minimum branch from 05dc101 to 6b0115c Compare September 28, 2026 18:44
Base automatically changed from fix/tip-floor-rounding to main September 28, 2026 18:44
TipFloor.toOpenDM returned the recipient's fee whenever it was positive,
even below the regional tip minimum. Every tip carries that minimum, so
a 100 JPY or 1000 NGN fee (about $0.65 and $0.76) states a floor the
server always denies with "tip amount is below the minimum of 1 USD".

A fee under the preset row's minimum now falls back to the preset. The
fee is compared in the row's currency, the way meetsMinimum compares an
entry; a fee that can't be converted keeps its own floor.
@bmc08gt
bmc08gt force-pushed the fix/tip-floor-regional-minimum branch from 6b0115c to fc4bb64 Compare September 28, 2026 18:44
@bmc08gt
bmc08gt merged commit ea3095a into main Sep 28, 2026
@bmc08gt
bmc08gt deleted the fix/tip-floor-regional-minimum branch October 5, 2026 15:14
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