Repository navigation
Hide Stealth reason on a plain send - #6270
Merged
Merged
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
peachbits
approved these changes
Oct 20, 2026
The reason line under the Stealth Send toggle rendered whenever Stealth was off, with no check for a swap. With no recipient asset picked the destination defaults to the source, so a plain CELO or RBTC send read "not available when sending CELO to itself", and a small ETH send read the private-route minimum. Show the line only when a different recipient asset is picked, or after a failed Stealth quote turned the toggle back off. Tapping the toggle still toasts the reason, and an asset the provider does not serve at all now reads "Stealth routing is not available for CELO."
j0ntz
force-pushed
the
jon/stealth-reason-plain-send
branch
from
October 20, 2026 17:48
7ab5d7e to
35a95f1
Compare
j0ntz
enabled auto-merge
October 20, 2026 17:49
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.
Description
Asana task
On a plain send with Stealth off, the send scene showed a Stealth reason line under the toggle even though no swap was involved. A CELO or RBTC send read "Stealth routing is not available when sending CELO to itself", and a small ETH send read the private-route minimum.
The line rendered whenever Stealth was off. With no recipient asset picked, the destination defaults to the source asset. The scene then treated a plain send as a same-asset Stealth route and explained why that route was unavailable.
Changes:
Tests: three new cases in
SendScene2.recipientNetwork.ui.test.tsxcover an unserved asset's plain send, the minimum line before and after picking a recipient asset, and the line kept after a failed Stealth quote. The harness gains a fake swap plugin that refuses every quote.CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
none
Requirements
If you have made any visual changes to the GUI. Make sure you have:
Note
Low Risk
Send-scene UI and copy only; toggle behavior on tap is unchanged aside from clearer unsupported-asset toasts.
Overview
Fixes misleading Stealth Send copy on plain sends (same asset, no recipient swap picked). The blocked-reason line under the toggle no longer appears just because Stealth is off; it only shows when a cross-asset recipient is already chosen or after a failed Stealth quote turns the toggle off. Tapping the toggle on a plain send still toasts the reason.
When Stealth cannot serve an asset at all, blocked messaging uses a new
stealth_asset_unsupported_1sstring instead of the “send to itself” wording. Tests cover plain-send notes, minimum-amount visibility before/after picking a recipient asset, and persistence after quote failure (with a fake Houdini plugin that refuses quotes).Reviewed by Cursor Bugbot for commit 35a95f1. Bugbot is set up for automated code reviews on this repo. Configure here.
Test evidence
7ab5d7eHide Stealth reason on a plain send
2026-10-16
🪓 forced every private Stealth quote to refuse (temporary edit in the quote fetch, reverted)
1. celo plain send no note
2. celo toggle toast
3. eth 5usd plain send no note
4. eth to btc swap shows minimum
5. 🪓 failed quote line