Skip to content

iOS: hardware wallet connection reliability and UX polish #613

Description

@piotr-iohk

Part of #589.

Follow-up polish and parity items deferred from feat: home-screen hardware wallet (watch-only) #605. Android counterpart: synonymdev/bitkit-android#1030.

This issue tracks iOS-specific UX and connection-state gaps found during manual QA of #605. Scope may grow as later stacked PRs land (#611, settings screen, etc.).

Scope

Settings entry placement

Move Trezor Hardware Wallet from Settings → Advanced into Dev Settings, for consistency with the dev-gated entry point. Already agreed in #605 review; defer to a polish PR rather than blocking the home-screen slice.

Home connection indicator (QA 4a / 4b)

From #605 QA notes (manual tests 4a / 4b):

  • 4a. BLE-connected device → disable phone Bluetooth: Home hardware-row indicator turns grey; watch-only balance stays visible.
  • 4b. Re-enable Bluetooth: indicator turns green again on its own (auto-reconnect, no pairing prompt).

Current behaviour (4a fails): the Home BLE badge stays green when phone Bluetooth is disabled or the device is out of range. Android greys it out on disconnect.

Root cause: HwWalletConnectionIcon already supports green vs grey, but HwWallet.isConnected follows trezorManager.connectedDevice, which is only cleared on explicit disconnect / connect failure. iOS lacks Android's TrezorRepo.observeExternalDisconnects() / externalDisconnect wiring from TrezorBLEManager.didDisconnectPeripheral (and BT-off state) → TrezorManager.

Expected fix direction:

  • On peripheral disconnect or bluetoothState != .poweredOn, clear live connection state for the Home badge (without suppressing auto-reconnect).
  • Verify 4b end-to-end after 4a fix: BT back on → auto-reconnect → badge green again.

Related work

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions