refactor(core): merge passphrase__hidden_wallet into passphrase__wallet
What changed, and why it matters
This commit is a simple user-interface cleanup. It merges two translation labels that both meant 'Passphrase wallet' into a single label, and updates the screens that used the old duplicate label. There is no security-relevant behavior change.
No action required; this is a non-security refactoring change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change refactors translation keys in the Trezor Core firmware. It removes the per-device-variant object form of ‘passphrase__wallet’ and deletes the now-redundant ‘passphrase__hidden_wallet’ key. UI flows in core/src/trezor/ui/layouts/eckhart/init.py and a test assertion are updated to reference the unified TR.passphrase__wallet string. No code logic, cryptography, or access control is modified.
Changed components
core/src/trezor/ui/layouts/eckhart/__init__.pycore/translations/blank_translations_rules.jsoncore/translations/en.jsontests/device_tests/test_session_id_and_passphrase.pyInspect captured patch +5 / −18
### core/src/trezor/ui/layouts/eckhart/__init__.py
@@ -224,7 +224,7 @@ def confirm_hide_passphrase_from_host() -> Awaitable[None]:
async def confirm_hidden_passphrase_from_host() -> None:
await confirm_action(
"passphrase_host1_hidden",
- TR.passphrase__hidden_wallet,
+ TR.passphrase__wallet,
description=TR.passphrase__from_host_not_shown,
verb=TR.passphrase__access_hidden_wallet,
)
@@ -233,13 +233,13 @@ async def confirm_hidden_passphrase_from_host() -> None:
async def show_passphrase_from_host(passphrase: str | None) -> None:
await confirm_action(
"passphrase_host1",
- TR.passphrase__hidden_wallet,
+ TR.passphrase__wallet,
description=TR.passphrase__next_screen_will_show_passphrase,
verb=TR.passphrase__show,
)
await confirm_value(
- TR.passphrase__hidden_wallet,
+ TR.passphrase__wallet,
passphrase or "",
description="",
br_name="passphrase_host2",
### core/translations/blank_translations_rules.json
@@ -133,7 +133,6 @@
"ethereum__approve_revoke",
"fido__title_reset",
"passphrase__access_wallet",
- "passphrase__wallet",
"pin__enabled",
"progress__locking_device",
"recovery__enter_different_share",
@@ -352,7 +351,6 @@
"instructions__shares_start_with_x_template",
"lockscreen__unlock",
"passphrase__access_hidden_wallet",
- "passphrase__hidden_wallet",
"pin__setup_completed",
"recovery__share_does_not_match",
"recovery__share_from_group_entered_template",
### core/translations/en.json
@@ -1791,12 +1791,6 @@
"passphrase__always_on_device": "Always enter your passphrase on Trezor?",
"passphrase__continue_with_empty_passphrase": "Continue with empty passphrase?",
"passphrase__from_host_not_shown": "Passphrase provided by connected app will be used but will not be displayed due to the device settings.",
- "passphrase__hidden_wallet": {
- "Bolt": "",
- "Caesar": "",
- "Delizia": "",
- "Eckhart": "Passphrase wallet"
- },
"passphrase__hide": {
"Bolt": "Hide passphrase coming from app?",
"Caesar": "Hide passphrase coming from app?",
@@ -1815,12 +1809,7 @@
"passphrase__title_source": "Passphrase source",
"passphrase__turn_off": "Turn off passphrase protection?",
"passphrase__turn_on": "Turn on passphrase protection?",
- "passphrase__wallet": {
- "Bolt": "Passphrase wallet",
- "Caesar": "Passphrase wallet",
- "Delizia": "Passphrase wallet",
- "Eckhart": ""
- },
+ "passphrase__wallet": "Passphrase wallet",
"pin__cancel_description": {
"Bolt": "",
"Caesar": "",
### tests/device_tests/test_session_id_and_passphrase.py
@@ -484,7 +484,7 @@ def input_flow():
assert any(
needle in title
for needle in [
- TR.passphrase__hidden_wallet,
+ TR.passphrase__wallet,
TR.passphrase__title_confirm,
]
)Why this scored 15/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.