What changed, and why it matters
This commit fixes a minor user-interface bug in SeedSigner, a hardware Bitcoin wallet. When a user was entering dice rolls to create a seed and pressed the backspace/delete key, the on-screen title did not update to show the reduced dice-roll count. The fix simply refreshes the title after each deletion. There is no indication this affects security, private keys, funds, or device integrity.
No security action required. Treat as a routine UI bug fix. Reviewers may optionally verify that update_title() behaves correctly and that re-rendering does not introduce flicker or performance issues during dice-roll entry.
Security signals we found
No cryptographic, key-management, or authorization logic changed
Change is confined to GUI title re-rendering on backspace
No input validation, parsing, or entropy-handling code modified
No references to CVEs, security advisories, or researchers in commit
Evidence from the diff
In src/seedsigner/gui/screens/screen.py, inside KeyboardScreen’s input handling loop, a new block calls self.update_title() after a backspace/delete event. If update_title() returns truthy, it re-renders the top-nav TextArea with the refreshed title and re-renders the navigation buttons. The change is purely presentational: it keeps the dice-roll counter in the title bar synchronized with the actual number of captured rolls when rolls are removed.
Changed components
src/seedsigner/gui/screens/screen.pyKeyboardScreen UI title rendering during dice-roll entryInspect captured patch +10 / −0
diff --git a/src/seedsigner/gui/screens/screen.py b/src/seedsigner/gui/screens/screen.py
index 120614a..a1493c4 100644
--- a/src/seedsigner/gui/screens/screen.py
+++ b/src/seedsigner/gui/screens/screen.py
@@ -1272,6 +1272,16 @@ class KeyboardScreen(BaseTopNavScreen):
self.user_input = self.user_input[:-1]
self.cursor_position -= 1
+ # Update the title to reflect decremented dice roll count
+ if self.update_title():
+ TextArea(
+ text=self.title,
+ font_name=GUIConstants.get_top_nav_title_font_name(),
+ font_size=GUIConstants.get_top_nav_title_font_size(),
+ height=self.top_nav.height,
+ ).render()
+ self.top_nav.render_buttons()
+
elif input == HardwareButtonsConstants.KEY_PRESS and ret_val not in Keyboard.ADDITIONAL_KEYS:
# User has locked in the current letter
if self.keys_to_values:
Why this scored 19/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.