From 9b95d2915257f9efe5eef86c4417cdd2f4829a6a Mon Sep 17 00:00:00 2001 From: scgbckbone Date: Mon, 14 Apr 2025 15:39:44 +0200 Subject: [PATCH] fix rename in Seed Vault --- shared/seed.py | 5 ++++- testing/test_ephemeral.py | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/shared/seed.py b/shared/seed.py index c12d7d2f..14ecf852 100644 --- a/shared/seed.py +++ b/shared/seed.py @@ -941,7 +941,10 @@ class SeedVaultMenu(MenuSystem): # update label in sub-menu menu.items[0].label = new_label - menu.items[0].arg = VaultEntry(*seeds[idx]) + # take old arg, in rename we cannot change encoded value, so it can be used without + # the need to deserialize it again + _, encoded = menu.items[0].arg + menu.items[0].arg = VaultEntry(*seeds[idx]), encoded # and name in parent menu too parent = the_ux.parent_of(menu) diff --git a/testing/test_ephemeral.py b/testing/test_ephemeral.py index 6cae62a4..c31b064d 100644 --- a/testing/test_ephemeral.py +++ b/testing/test_ephemeral.py @@ -791,9 +791,6 @@ def test_seed_vault_menus(dev, data, settings_set, master_settings_get, pick_men sim_exec, goto_home, seed_vault_enable, is_q1, enter_text, press_select, press_cancel, press_delete): # Verify "seed vault" feature works as intended - - - reset_seed_words() xfp, entropy, mnemonic = data @@ -853,6 +850,18 @@ def test_seed_vault_menus(dev, data, settings_set, master_settings_get, pick_men m = cap_menu() assert m[0] == "AAAA" + pick_menu_item("AAAA") # bug issues/920 + # would be yikes here, if not fixed + time.sleep(.1) + _, story = cap_story() + assert "AAAA" in story + assert xfp in story + if mnemonic: + assert ('%d words' % (6 * (vlen // 8))) in story + else: + assert 'xprv' in story + press_cancel() + # check parent menu - must be updated too press_cancel() m = cap_menu()