AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Informational 17 Bitcoin

feat(core/eckhart): Device menu refresh

Public commit record

What the developer wrote

Authored by Lukas Bielesch

80/100 · Strong
feat(core/eckhart): Device menu refresh

- New refresh device menu result used to refresh the menu after BLE connection change
- Use static submenus in device menu for possibility to refresh to a particular menu screen
- Add init screen param to device_menu FwUI function. After each device menu action, update the init screen or break out of the menu loop
- Static back navigation, the previous design assumed the initial screen was always the root.
- Don't require confirmation for toggle buttons
[no changelog]
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit refreshes the on-device settings menu for the Trezor Safe 7 (Eckhart layout). It lets the menu restart on a specific submenu after actions like disconnecting a Bluetooth device or toggling haptics/LED, and removes the confirmation prompt for some toggle buttons. The changes are almost entirely user-interface plumbing; there is no obvious security bug, but the new loop and direct hardware calls deserve a quick sanity check.

Recommended action

Treat as a normal feature commit. Reviewers should verify that removing the confirmation for LED/haptic toggles is an intentional UX change and that the new menu loop cannot be re-entered in a way that bypasses authentication or leaves stale state. No security patch or incident response is indicated by the diff alone.

Security signals we found

01

Removal of confirmation prompts for haptic and LED toggles (direct hardware enable/disable)

02

New persistent loop in device_menu.py that re-shows the menu after actions; must ensure no state is stale or re-entrant

03

BLE connection-change events now trigger a MenuRefresh result; need to confirm no event spoofing path exists

04

Direct `storage_device.set_haptic_feedback` / `set_rgb_led` writes without going through `apply_settings` validation

05

No input validation visible for `init_submenu` beyond a `TryFrom<usize>` that falls back to Root on failure

Risk score

Why this scored 17/100

Our methodology →
Potential impact 2/30
Exploitability 1/25
Stealth signal 1/15
Affected reach 2/15
Confidence 8/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.