Skip to content

fix(offline): the app registers the anchor transport at start; the add-contact coin sits on its tile - #1042

Merged
cryptskii merged 2 commits into
mainfrom
fix/offline-appliance-connects-at-start-and-contact-coin-tile
Sep 27, 2026
Merged

cryptskii merged 2 commits into
mainfrom
fix/offline-appliance-connects-at-start-and-contact-coin-tile

Conversation

@cryptskii

Copy link
Copy Markdown
Collaborator

What

Two fixes found while running the offline send on the appliance phones.

  • The app registers the anchor appliance's transport at start. Only the debug self-test screen, launched over adb with an extra, registered the USB anchor transport with Rust. A normal start never did, so the Appliance pop-up and Offline Funding (feat(wallet): offline funding and the appliance on the send screen; balance rows state their offline allocation #1040) answered "no anchor appliance connected" with the appliance plugged in. DsmInitProvider now registers it once at start in any build that carries it. Registering opens nothing; the first offline read attaches the appliance, and Android asks for the USB permission once. A build without the capability logs that offline sends are unavailable, and Rust refuses them saying so. The debug screen's trigger for it goes.
  • The add-contact card shows its coin on the bordered tile. The ERA coin sat bare on the dark card while a contact was being added and paired, so its artwork had no edge against the panel. It now sits on the light, bordered sb-coin-tile, as the Tokens faucet card shows it.

Verification

  • Kotlin main, unit-test and instrumented-test sources compile. Related jest for the contacts panel (12 suites, 28 tests), type-check, lint: pass. make lint: passed.
  • Device (A54 with its DSM Anchor on USB, this branch's APK over its data): before, the log showed no USB activity at all and Rust answered "no anchor appliance attached"; after, LocalPicoUsb: USB device detected: vid=4617 pid=54689 DSM Anchor → Pico opened (interface 1, in=130 out=1) on choosing Offline, with no adb trigger.
  • Not yet proven: an offline send. The A54's Pico then times out on every write (USB write short (-1/6)): the firmware halted at boot on the TROPIC01 identity read and never reads its OUT endpoint. That is the board (Click seating, power or wiring), not the app.

…le, as the faucet does

The ERA coin sat bare on the dark card while a contact was being added, so its
artwork had no edge against the panel. It now sits on the light, bordered
`sb-coin-tile`, the way the Tokens faucet card shows it.

Related jest (12 suites, 28 tests), type-check, lint: pass.
…tart, so Offline connects it by itself

Only the debug self-test screen, launched over adb with an extra, registered the
USB anchor transport with Rust. A normal start never did, so the Appliance
pop-up and Offline Funding answered "no anchor appliance connected" with the
appliance plugged in. `DsmInitProvider` now registers it once at start in any
build that carries it; registering opens nothing, and the first offline read
attaches the appliance (Android asks for the USB permission once). A build
without the capability logs that offline sends are unavailable, and Rust
refuses them saying so. The debug screen's trigger for it goes.

Kotlin main, unit-test and instrumented-test sources compile.
@cryptskii
cryptskii merged commit 22a4aaf into main Sep 27, 2026
21 checks passed
@cryptskii
cryptskii deleted the fix/offline-appliance-connects-at-start-and-contact-coin-tile branch September 27, 2026 17:34
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