Skip to content

Demote the send scam warning to a note - #6251

Open
j0ntz wants to merge 6 commits into
developfrom
jon/send-demote-scam-warning
Open

j0ntz wants to merge 6 commits into
developfrom
jon/send-demote-scam-warning

Conversation

@j0ntz

@j0ntz j0ntz commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Technical Design Document

stealth-send-swap.md

Description

Asana task

The send scene's "Scam Warning" card is replaced by a short note, and the swap-send cards carry the same reminders. The scene shows one message body at a time.

Every send has two reminders, in this order:

  1. Make sure the recipient is on the (network) network.
  2. Cryptocurrency transactions are irreversible.

On a plain send the two lines show as small secondary text at the foot of the scene, with no title and no card. They show with no address (frame 01) and with one entered (frame 02). The network is the sending wallet's.

A swap-send does not draw the note. Its card lists its body as bullets and ends with the two reminders, and the network line names the recipient's network:

  • "Swap before send" on a Bitcoin send with Ethereum picked under "Recipient receives" (frame 03).
  • "Stealth swap before send" with Stealth Send on (frame 04).
  • The fixed-amount fallback card is bulleted the same way.

The note is hidden while an error card is on screen. The scam warning modal on the first send keeps its title and text.

The note drops the card's other lines: the financial advice line, the line about people you do not know, and the support email footer. They remain in the first-send modal.

This branch is stacked on EdgeApp/edge-react-gui#6242, which stops the scam card and the swap card from showing together and renames the Stealth card. The PR is opened against that branch so the diff shows this commit alone. It goes to develop once that PR merges.

Testing, iOS simulator:

  • Drove a plain Bitcoin send and confirmed the note with no address and with an address, with no "Scam Warning" card in either state.
  • Drove a Bitcoin send with an Ethereum recipient and confirmed one bulleted "Swap before send" card naming the Ethereum network, with no note. Entered an address, turned Stealth Send on, and confirmed the "Stealth swap before send" card with the same four bullets.
  • Unit tests cover the note on a plain send and its move into the card on a swap-send. The send scene snapshots are updated.

The fixed-amount fallback card was not reached on the simulator. Its bullets are covered by the snapshot and unit tests.

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

EdgeApp/edge-react-gui#6242

Requirements

If you have made any visual changes to the GUI. Make sure you have:

  • Tested on iOS device
  • Tested on Android device
  • Tested on small-screen device (iPod Touch)
  • Tested on large-screen device (tablet)

Note

Low Risk
Send-flow copy and layout only; no transaction, auth, or routing logic changes beyond how warnings are displayed.

Overview
Replaces the send scene’s “Scam Warning” card with a compact send reminders note and folds the same copy into swap-send warning cards.

On a plain send, two lines of small secondary text appear at the bottom of the scroll area (network check using the sending wallet’s network, then irreversibility). The note stays visible after an address is entered and is hidden when an error card is shown. The old card content (financial advice, unknown recipients, support footer) is removed from the scene; first-send/scan scam modals are unchanged.

On a swap-send, the standalone note is not shown; sendReminders are appended as bullets on the swap, Stealth swap, and fixed-to-fallback warning cards, with the network line using the recipient network. Swap card bodies are now bulleted arrays instead of one concatenated string.

Adds send_check_recipient_network_1s, updates UI/snapshot tests, CHANGELOG, and stealth-send TDD docs (Phase 37).

Reviewed by Cursor Bugbot for commit 081eff6. Bugbot is set up for automated code reviews on this repo. Configure here.

Test evidence

296342f
Demote the send scam warning to a note
2026-10-09

1. note plain no address

2. note plain with address

3. swap card bullets no address

4. stealth card bullets

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@j0ntz
j0ntz force-pushed the jon/send-demote-scam-warning branch from 827f6eb to 296342f Compare October 9, 2026 04:58
@j0ntz
j0ntz force-pushed the jon/stealth-send-qa-fixes branch from 9f0590c to 81cc891 Compare October 9, 2026 05:32
@j0ntz
j0ntz force-pushed the jon/send-demote-scam-warning branch from 296342f to a233208 Compare October 9, 2026 05:33

@cursor cursor 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.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a233208. Configure here.

Comment thread src/components/scenes/SendScene2.tsx
j0ntz added 5 commits October 8, 2026 23:07
An address the send scene would not adopt left the scene unchanged
behind a toast reading "Invalid Address Not a valid public address"
whatever the cause, and dismissing the network picker left nothing
at all. QA read both as a silent return to an empty scene.

The address tile's toast now carries the reason the send scene
supplies: not an address on the network it was read against, an
address on another network in a send that cannot become a swap, or
text no network the send can reach recognizes. Dismissing the network
picker gets its own toast.

An address on the sending wallet's own network is no longer declined
while another network is picked under "Recipient receives". The scene
sets the recipient back to the source asset, keeps a payment code's
amount and memo, and shows "Recipient network changed to Bitcoin."
The same toast follows an address that moves the recipient to the one
other network it matches. A network picked by name, in the network
picker or through "Myself", is not announced. With Stealth on, the
switch back happens only when the send can pay the wallet's network
privately; otherwise the toggle's own message says why not.
The address and amount tiles and the memo rows reach their card as
arrays of unkeyed elements, so every dev build of the send scene logs
React's missing-key error. Each element now carries a key built from
the recipient index or the memo option, which keeps the mount order
the implicit index keys gave.
The Stealth swap card and the routing messages describe the route as
Stealth or obfuscated.
A swap-send has its own warning card and an error card stands alone,
so the scam warning shows only on a plain send with no address.
Cover the cases the recipient network switch has to get right when the
wallet's own network shares its address format with others, when the
address is the wallet's own, and when a payment code states its amount
in the token being sent.
@j0ntz
j0ntz force-pushed the jon/stealth-send-qa-fixes branch from 81cc891 to 883b303 Compare October 9, 2026 06:07
The send scene's "Scam Warning" card becomes two lines of small text
at the foot of a plain send: the recipient has to be on the wallet's
network, and a transaction cannot be reversed. The note shows with and
without an address and carries no title.

A swap-send does not draw the note. Its warning card lists its body as
bullets and ends with the same two lines, the network line naming the
recipient's network. The Stealth card and the fixed-amount fallback
card do the same. An error card still stands alone.

The first-send and scan scam modals keep their text.
@j0ntz
j0ntz force-pushed the jon/send-demote-scam-warning branch from a233208 to 081eff6 Compare October 9, 2026 06:11
@j0ntz
j0ntz force-pushed the jon/stealth-send-qa-fixes branch 3 times, most recently from c5a6733 to 78eaea9 Compare October 14, 2026 20:53
Base automatically changed from jon/stealth-send-qa-fixes to develop October 14, 2026 21:19
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