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()