Fix: Center align shown pin for Eckhart (#5946)
What changed, and why it matters
This commit is a visual polish fix for the Trezor hardware wallet's newer 'Eckhart' screen layout. It changes how the entered PIN is displayed so the digits are centered and spaced out nicely. There is no security-relevant change here—only the on-screen appearance is adjusted, and the corresponding test snapshots are updated.
No security action needed. Treat as a normal UI/UX fix.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change removes the use of text ‘Chunks’ spacing for the visible PIN string in the Eckhart PIN keyboard and instead inserts literal spaces between digits via a new space_out_pin helper. It also re-enables center alignment for single-line PINs (previously forced to Start due to issue #5623). The second file is a bulk update of UI test fixture hashes for the T3W1 device, reflecting the changed pixel output. No cryptographic, authentication, or input-handling logic is modified.
Changed components
core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/pin.rstests/ui_tests/fixtures.jsonInspect captured patch +118 / −107
diff --git a/core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/pin.rs b/core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/pin.rs
index ac7cf3d4..f02f4228 100644
--- a/core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/pin.rs
+++ b/core/embed/rust/src/ui/layout_eckhart/firmware/keyboard/pin.rs
@@ -1,12 +1,11 @@
+use heapless::String;
+
use crate::{
strutil::{ShortString, TString},
time::Duration,
ui::{
component::{
- text::{
- layout::{Chunks, LayoutFit},
- LineBreaking, TextStyle,
- },
+ text::{layout::LayoutFit, LineBreaking, TextStyle},
Component, Event, EventCtx, Label, TextLayout, Timer,
},
display::Icon,
@@ -286,9 +285,8 @@ impl PinInput {
const MAX_SHOWN_LEN: usize = 19; // max number of icons per line
const TWITCH: i16 = 4;
- const SHOWN_STYLE: TextStyle = theme::TEXT_REGULAR
- .with_line_breaking(LineBreaking::BreakWordsNoHyphen)
- .with_chunks(Chunks::new(1, 8));
+ const SHOWN_STYLE: TextStyle =
+ theme::TEXT_REGULAR.with_line_breaking(LineBreaking::BreakWordsNoHyphen);
const HIDDEN_STYLE: TextStyle = theme::TEXT_REGULAR;
const SHOWN_TOUCH_OUTSET: Insets = Insets::bottom(200);
const PIN_ICON: Icon = theme::ICON_DASH_VERTICAL;
@@ -338,6 +336,20 @@ impl PinInput {
&self.digits
}
+ /// Adds spaces between characters. Output length is capped at 99 since
+ /// PIN_MAX_LEN is 50. Example: "12345" becomes "1 2 3 4 5"
+ /// TODO: Switch to ShortString if and when we can increase its size PR#4531
+ fn space_out_pin(pin: &str) -> String<99> {
+ let mut spaced_out_pin: String<99> = String::new();
+ for (i, c) in pin.chars().enumerate() {
+ unwrap!(spaced_out_pin.push(c));
+ if i < pin.len() - 1 {
+ unwrap!(spaced_out_pin.push(' '));
+ }
+ }
+ spaced_out_pin
+ }
+
fn update_shown_area(&mut self) {
// The area where the pin is shown
let mut shown_area = self.area.inset(KEYBOARD_INPUT_INSETS);
@@ -346,7 +358,7 @@ impl PinInput {
while let LayoutFit::OutOfBounds { .. } = TextLayout::new(Self::SHOWN_STYLE)
.with_align(Alignment::Start)
.with_bounds(shown_area.inset(SHOWN_INSETS))
- .fit_text(self.pin())
+ .fit_text(&Self::space_out_pin(self.pin()))
{
shown_area =
shown_area.outset(Insets::bottom(Self::SHOWN_STYLE.text_font.line_height()));
@@ -365,8 +377,7 @@ impl PinInput {
// Multi-line pin is left aligned
Alignment::Start
} else {
- // FIXME: because of #5623, the chunkified PINs cannot be centered
- Alignment::Start
+ Alignment::Center
};
Bar::new(self.shown_area)
@@ -377,7 +388,7 @@ impl PinInput {
TextLayout::new(Self::SHOWN_STYLE)
.with_bounds(self.shown_area.inset(SHOWN_INSETS))
.with_align(alignment)
- .render_text(self.pin(), target, true);
+ .render_text(&Self::space_out_pin(self.pin()), target, true);
}
fn render_hidden<'s>(&self, target: &mut impl Renderer<'s>) {
diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json
index 2d3fe899..0dbb1b3d 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -28844,7 +28844,7 @@
"T3W1_cs_device_menu-test_label.py::test_label_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_cs_device_menu-test_notifications.py::test_backup_failed": "0c3cddc525775de76af0957cd9212d7d411d3b00fafb22cfdf0f12c86f869598",
"T3W1_cs_device_menu-test_notifications.py::test_backup_needed": "3e9219faf28dc045827113d9a0ebec8e42437bc39cb3e437cbdb6b3992e89538",
-"T3W1_cs_device_menu-test_notifications.py::test_pin_not_set": "dbc22fd52b133b242860a6d5e2adb2f6ed1fe5ec7620a32072396dffc346dda5",
+"T3W1_cs_device_menu-test_notifications.py::test_pin_not_set": "f28e4c91d4ef1c82508397da3c6210c01a1b742b4e274d1a0dcee336251b943e",
"T3W1_cs_device_menu-test_notifications.py::test_seedless": "f47325f31b7cff66ad1ed9a2d98659b7161306440ae40e503ceac2407f8ffa92",
"T3W1_cs_device_menu-test_traverse_menu.py::test_traverse_initialized": "716bfac10048633597af6de93eb0068b9502e15af40a166ace4679f6f12fdacc",
"T3W1_cs_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "bc6c21f398423cb7eb7abc0b5ceba298ce6cf0b75017012f0c47d43098b6e773",
@@ -28875,22 +28875,22 @@
"T3W1_cs_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "0db13c75406a0d9e01d8148a32ecf815daf2a5bf6633d74e2adf25450b5f0658",
"T3W1_cs_test_passphrase_bde.py::test_passphrase_loop_all_characters": "d2bb2aa79bf8433cb06ff978c07c3cee8af614fc7e0db89df44b56d535bb6e49",
"T3W1_cs_test_passphrase_bde.py::test_passphrase_prompt_disappears": "3177c87208b9479674c0a3bb8a85963ab90674525f7367961be73a0e3558f74b",
-"T3W1_cs_test_pin.py::test_last_digit_timeout": "bd95edbeb83bf9900b9dec83e26e9a69d68cc984aa43f7050ed99c3505ac1869",
+"T3W1_cs_test_pin.py::test_last_digit_timeout": "233a210a34d9874c8356f977cf2a5c9fa0671750956e01af3b1956944137f3f9",
"T3W1_cs_test_pin.py::test_long_press_digit": "fb219ca746d1a717f73e5b179241805e9649f647ba6e8169381f8c3973da5ebb",
-"T3W1_cs_test_pin.py::test_pin_cancel": "89ef39b871502c03c48e8869e37ba951647e22a6a2ef25bb3f51b04ced271c07",
-"T3W1_cs_test_pin.py::test_pin_change": "0d55f4d025cbcf9a77de7acec46931e3b83b085b75f04ec4e744279407cb156e",
-"T3W1_cs_test_pin.py::test_pin_delete_hold": "de871371802b30db804b65d4646b54bf25c7ac053e590b4e91f72bd811a6f871",
-"T3W1_cs_test_pin.py::test_pin_empty_cannot_send": "b77f759c199264f4feedd316c481e84c3a51e3e7e0ed14d2d0f60471d0c47662",
-"T3W1_cs_test_pin.py::test_pin_incorrect": "8d11bc31586fd90ba36c4cd1c99d41259828a1dedbdb0a362f3ff9f407caf377",
-"T3W1_cs_test_pin.py::test_pin_long": "afe6d7002b1fa55afb48116e9def088ee3f5cacd1e9426e1b202d18a3a532eda",
-"T3W1_cs_test_pin.py::test_pin_long_delete": "495c4cbcb0818134845f2ffd04a03e655789dd578d9618fc295201e7556a564c",
-"T3W1_cs_test_pin.py::test_pin_longer_than_max": "03aaaa3ef11bbba0657876be7db0f8ebb1f1390438082201c326215caf123b6f",
-"T3W1_cs_test_pin.py::test_pin_setup": "def38e6eb4838227bee862b92e49cde8c37050f851a0b9136cd1ca911378a838",
-"T3W1_cs_test_pin.py::test_pin_setup_mismatch": "d9b17f0ed21c5bf7584e614da9122d68f6638d6ebd10705ef8a8cd78d83433e3",
-"T3W1_cs_test_pin.py::test_pin_short": "b77f759c199264f4feedd316c481e84c3a51e3e7e0ed14d2d0f60471d0c47662",
-"T3W1_cs_test_pin.py::test_show_pin_issue5328": "b77f759c199264f4feedd316c481e84c3a51e3e7e0ed14d2d0f60471d0c47662",
-"T3W1_cs_test_pin.py::test_wipe_code_same_as_pin": "8c83419688a951dd6c3a8dcd38b7aab4dacbe5fe51a123a6b33427d205daa76d",
-"T3W1_cs_test_pin.py::test_wipe_code_setup": "3b81f7722ad8d25025c68f13bc58aaeb8d7cc7bc5d22808a75d0025939d8cd69",
+"T3W1_cs_test_pin.py::test_pin_cancel": "6f0a5138deee9b79776a116c2c539853c511b740b2248b3800d3cb0cf4779f52",
+"T3W1_cs_test_pin.py::test_pin_change": "920cddcf4ab2b1c0b5503770a9159d6463243c55adbdafd30c28fa03a41546d4",
+"T3W1_cs_test_pin.py::test_pin_delete_hold": "caea003779f82b2faa6ae86afec8e47b17f5265b44b86b21690a0dc2837fc767",
+"T3W1_cs_test_pin.py::test_pin_empty_cannot_send": "f2ad213e9085f7c1a7524b59392c92ea6ebc9ce1a24a79ec03b85d1e70bf5832",
+"T3W1_cs_test_pin.py::test_pin_incorrect": "5872845cc23bd454a80221f0d67d779b55ec9050331f8c739e35664b83b6391c",
+"T3W1_cs_test_pin.py::test_pin_long": "a6325ec350982000ea023d1c3aada269113d5e3f553774099cf139b210003887",
+"T3W1_cs_test_pin.py::test_pin_long_delete": "42e456580be70f6d7dfc9a8389d30afdca057a8cdde2dee1d49f1cea45af7960",
+"T3W1_cs_test_pin.py::test_pin_longer_than_max": "393dcda93cb790d07991d8acb5508844d9aec07af4ac230c5e83fa94e75759d0",
+"T3W1_cs_test_pin.py::test_pin_setup": "857ff7f63b4e54c5aad3a4e9b098cbaeb7d35d16b528115b0887edddb9b4b792",
+"T3W1_cs_test_pin.py::test_pin_setup_mismatch": "738b7f8dd54f9034738bf0a817bfcba6fa029f9e1380c2afffb02f9c94c4e294",
+"T3W1_cs_test_pin.py::test_pin_short": "f2ad213e9085f7c1a7524b59392c92ea6ebc9ce1a24a79ec03b85d1e70bf5832",
+"T3W1_cs_test_pin.py::test_show_pin_issue5328": "f2ad213e9085f7c1a7524b59392c92ea6ebc9ce1a24a79ec03b85d1e70bf5832",
+"T3W1_cs_test_pin.py::test_wipe_code_same_as_pin": "7ac00184a8cacab1f055ea4d81b2482a9144d7f27d58f35cb662e828a49c2640",
+"T3W1_cs_test_pin.py::test_wipe_code_setup": "25ba0926bb750303aee85deb6699a9df3c60fdc50ebb5bfb52eef46627725f95",
"T3W1_cs_test_recovery.py::test_recovery_bip39": "1abca389431478e90ebbba65b7a388830433a781ac0f2312bb2d081bce392869",
"T3W1_cs_test_recovery.py::test_recovery_bip39_previous_word": "ca18758eadc4bd15938978fb3bb4bcd1e55c70ab82264ddbcc2c713d24b9e09c",
"T3W1_cs_test_recovery.py::test_recovery_bip39_reenter": "edb56df81cc990f03e245686e2b2bcb6989858e687e081342520a7bece431a88",
@@ -28934,7 +28934,7 @@
"T3W1_de_device_menu-test_label.py::test_label_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_de_device_menu-test_notifications.py::test_backup_failed": "6f6fa8c2ed3c1266af1f94e784f75bcf0af60b22305363f4e1415fd25ff4e694",
"T3W1_de_device_menu-test_notifications.py::test_backup_needed": "ecb0fe08d4aa61ebfb7c91da6eb271744f2d50e9dd3e71552a75703417c17d61",
-"T3W1_de_device_menu-test_notifications.py::test_pin_not_set": "436a175b7e60a040955b445aefe031ea5f0258c7bc930c3acc60303759794a0b",
+"T3W1_de_device_menu-test_notifications.py::test_pin_not_set": "516e96f72ebec818a28a981efbd0f4ec65f7cff2478c053656759a76db20d033",
"T3W1_de_device_menu-test_notifications.py::test_seedless": "a5f1836c258f20a18e2be5dffc5583f684df48c7688a734f3fca89c01d613996",
"T3W1_de_device_menu-test_traverse_menu.py::test_traverse_initialized": "3b46e7026e35427f5fa6a6ac5c1db635524339e39282517be26f6517dbfa167a",
"T3W1_de_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "1b23eead0921890a4020371a75632a555177eea8c1ba2343141b75c723e06c25",
@@ -28965,22 +28965,22 @@
"T3W1_de_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "7553608a40296eb260cc8c016266e787cb8371593d261d4e38c6e24a72f21b58",
"T3W1_de_test_passphrase_bde.py::test_passphrase_loop_all_characters": "89d0f6553ce62f31d8e9596fd08271b6dbc7294e96fe4649cebb767fce99da14",
"T3W1_de_test_passphrase_bde.py::test_passphrase_prompt_disappears": "c22267d0dcd1bc214d4ccee6a4372a466e56f3db65eb0a0cfbd271d5284b3c7a",
-"T3W1_de_test_pin.py::test_last_digit_timeout": "8e7774310302ea9bc145040358cd420522c98985b5cbb8d639a6cabfbe3515d8",
+"T3W1_de_test_pin.py::test_last_digit_timeout": "4644b05313f6f16568b47995afd4474fd584f956a1c05dbd1efee3e35e6d0cb5",
"T3W1_de_test_pin.py::test_long_press_digit": "c701ee5fe584311a1756b529fb10dad95846768a2f09e4538d9e99f417a0a692",
-"T3W1_de_test_pin.py::test_pin_cancel": "e9a9be1c206e5164e955ee70c20ee6782e8c56e6952b4e11ae3094c2897cc8f8",
-"T3W1_de_test_pin.py::test_pin_change": "db22145469b2e4ccc20c030e5c266224750d43830942c412806872eb31d6b5b4",
-"T3W1_de_test_pin.py::test_pin_delete_hold": "813b125455fed3e776d2e14a1f1861d7127df7c62639b1fed84fd2f0e7bbbb5f",
-"T3W1_de_test_pin.py::test_pin_empty_cannot_send": "cfeaa9f7038734a37bd06b112bed48922c4d375a6454709c9f6d66e04e80dc81",
-"T3W1_de_test_pin.py::test_pin_incorrect": "fb3da8fddb0cbbd3b1d3251c7542d2cab60db44bd284702cbff4992877dae0d4",
-"T3W1_de_test_pin.py::test_pin_long": "533902813b41f1d1a481a3eb9f269815274f8447355ca451f2b75b22fec5f1f3",
-"T3W1_de_test_pin.py::test_pin_long_delete": "0ce2a3960dafe75d81ae7ccffd3f0e761b32870c48ce72cb961eb36b40e99505",
-"T3W1_de_test_pin.py::test_pin_longer_than_max": "72d85fe3159f65d25043d44cce69a65b2019d9d9b5e41b4b9229e6eacd85c828",
-"T3W1_de_test_pin.py::test_pin_setup": "b2945ad12729b90d469b1f8ebffe00b26d200104648a4d81c3b0aa4f6855422b",
-"T3W1_de_test_pin.py::test_pin_setup_mismatch": "132d654dd053e7105a37a853d12140ac02ac2a9d477c5c257718a4f279f5d41e",
-"T3W1_de_test_pin.py::test_pin_short": "cfeaa9f7038734a37bd06b112bed48922c4d375a6454709c9f6d66e04e80dc81",
-"T3W1_de_test_pin.py::test_show_pin_issue5328": "cfeaa9f7038734a37bd06b112bed48922c4d375a6454709c9f6d66e04e80dc81",
-"T3W1_de_test_pin.py::test_wipe_code_same_as_pin": "cbdbffaff11dc26d0ec6788a9a4ba993114adb8450ac7ee2fb229015990bcaf1",
-"T3W1_de_test_pin.py::test_wipe_code_setup": "230c57cd6de11d34f07e2886ebbbe7c4d0c5325a6c6050f2b85b0573e295ea5b",
+"T3W1_de_test_pin.py::test_pin_cancel": "f1e880bab0c300f37ab82941e30b43f24485ef99be77d50259b89685b6ed1c83",
+"T3W1_de_test_pin.py::test_pin_change": "5b20dcc76dcc1ffd5c182a242f9c79c4e51785fefbe2113906d449db643d7ea1",
+"T3W1_de_test_pin.py::test_pin_delete_hold": "3a02c4a1abe9087425cd9a33d6e4840252b7c42bc0ea71b87bb3928cebb055f5",
+"T3W1_de_test_pin.py::test_pin_empty_cannot_send": "918607f6f4c62f4e8d94c018807dc402163136fdd6f7cd56b4b84606f8be473a",
+"T3W1_de_test_pin.py::test_pin_incorrect": "67706076c7d88d503e884046f6b5fe433e91ae7fc81cedcc5b3141c8d21ed9ac",
+"T3W1_de_test_pin.py::test_pin_long": "57d7deafc7984888f5dde16a0709a50b9e4e6144bdd611618cc02d3b1d528d30",
+"T3W1_de_test_pin.py::test_pin_long_delete": "cd8b5e0206bb27e9c7edcd10964046d48e0e20bc396f21ceb721d47f90956f23",
+"T3W1_de_test_pin.py::test_pin_longer_than_max": "a730255cac01971d8e5e321ff26ee43e13d7d15a88520c8ac2e69836c902d67a",
+"T3W1_de_test_pin.py::test_pin_setup": "78bb60d250a85373aa594904514996a9ecf36fcc8bbce74a0afef74301de2809",
+"T3W1_de_test_pin.py::test_pin_setup_mismatch": "7d81ca4de41721e103bdd175e03680b6a50cb044bce6c21aa7955009ec498ac8",
+"T3W1_de_test_pin.py::test_pin_short": "918607f6f4c62f4e8d94c018807dc402163136fdd6f7cd56b4b84606f8be473a",
+"T3W1_de_test_pin.py::test_show_pin_issue5328": "918607f6f4c62f4e8d94c018807dc402163136fdd6f7cd56b4b84606f8be473a",
+"T3W1_de_test_pin.py::test_wipe_code_same_as_pin": "e2bf498210dba0605e933029eec42d24abb44a172c2642648a4806c76acf9844",
+"T3W1_de_test_pin.py::test_wipe_code_setup": "092554de6b0211c1336790d2bfb26ff65209e2cd337e36ed7845bc76eb8e8167",
"T3W1_de_test_recovery.py::test_recovery_bip39": "8aff9ca2c28ac87e25b3a4993594dc0a328b6371694b53e5cfa2b4b9aec11359",
"T3W1_de_test_recovery.py::test_recovery_bip39_previous_word": "6f72c590164908ba5adae3a840be6c68643e1a2946652ea66e9653a4beddff56",
"T3W1_de_test_recovery.py::test_recovery_bip39_reenter": "4512bd49e8ec3c371744cbb9b0fdc9c9a5e92e2e0d2aedb18666f3b717eaa170",
@@ -29024,7 +29024,7 @@
"T3W1_en_device_menu-test_label.py::test_label_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_en_device_menu-test_notifications.py::test_backup_failed": "a77d0bae8298c3f97342005b19d3eba18dd76d2871fff91d7e096f08189b807e",
"T3W1_en_device_menu-test_notifications.py::test_backup_needed": "f55c9030025edec1c3b08bfd444d2c77c232a7f7c22fda6f340bd602ef853a73",
-"T3W1_en_device_menu-test_notifications.py::test_pin_not_set": "c46b1804b0428f52e29f6d7f247f0ee36423821f06edd1eef9270a2dd1324c01",
+"T3W1_en_device_menu-test_notifications.py::test_pin_not_set": "d216b5f6b6c266a1a5079ad6686696d04ff0f6fc478f69ed583b3aa47fa60e5c",
"T3W1_en_device_menu-test_notifications.py::test_seedless": "30782c88c129824c038c14d999b63b6c99f486333e1fa1dc4af8e76f9d42c3ec",
"T3W1_en_device_menu-test_traverse_menu.py::test_traverse_initialized": "750a5628d1d608271b43f63834a28c0dd98cc9f979030a94ee5d830bb970cdb9",
"T3W1_en_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "8db314448adfce04958bf61d970ece995403c72b410d9c0e651084af8a239837",
@@ -29055,22 +29055,22 @@
"T3W1_en_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "8a7eea6b32624e52c00c6bbad3284d1cf80ec389ea995d8b859384d2b3728b35",
"T3W1_en_test_passphrase_bde.py::test_passphrase_loop_all_characters": "2122be0b605dcbb8fc4de116f002ce36c1e1c85f59ef51829c260ab55536ee23",
"T3W1_en_test_passphrase_bde.py::test_passphrase_prompt_disappears": "11f814313aa6e628c4e2903394f043aa037360c4bd989fa85c7e836c56f8b903",
-"T3W1_en_test_pin.py::test_last_digit_timeout": "fc41823bb46871d9917e2d3f1f62f7a9a481b339112d07135196b78ae3b90e1a",
+"T3W1_en_test_pin.py::test_last_digit_timeout": "9570a7dd643ba2b79bb98d05647deac3388f29969bfb0da706da5ba0fe1264c6",
"T3W1_en_test_pin.py::test_long_press_digit": "fecb8e8023c3b0c019eb2d381e3b8df3ecc76648de8018c6061ac8831a18c20b",
-"T3W1_en_test_pin.py::test_pin_cancel": "5e34319191f186b495b988442295efd4b3d7740354fd14735cbb614442bfd1dd",
-"T3W1_en_test_pin.py::test_pin_change": "573738d25bc4ee3276f7da56f3d6a0d7237237e84aa522fc24f37aad987b1a4e",
-"T3W1_en_test_pin.py::test_pin_delete_hold": "23a05a346d9ecabb266d536e96adfa5acba28dfec2f31133f3c3922686193c63",
-"T3W1_en_test_pin.py::test_pin_empty_cannot_send": "3bea7b76c6d1c445b6c50bd7f31af026d2d2a462e1250f2d188361fb2f6d30c5",
-"T3W1_en_test_pin.py::test_pin_incorrect": "087ecfd7db7cd6fe8eb2f2623ebea0432957feaa21fc1c3e8529db088b865b94",
-"T3W1_en_test_pin.py::test_pin_long": "0ab753d2d5efd8f25f85f044e0a6f6dc6c813e86a0a9831063ed03c1d3919386",
-"T3W1_en_test_pin.py::test_pin_long_delete": "20a514eb7972dec09c559d8e99c176cdc585afe162c5464692443e47d085b110",
-"T3W1_en_test_pin.py::test_pin_longer_than_max": "1059f08905bbbca86eb87e40662886eaf4fe1c756e73409c8ad60ecf0096c965",
-"T3W1_en_test_pin.py::test_pin_setup": "270144b6371c4003c9409baca2a122ce3a4d59053cf69dd39b8fa9b8a5fb03e0",
-"T3W1_en_test_pin.py::test_pin_setup_mismatch": "43c7cfc38e2dc39063ef074d352af7c16c2c5c4733901efdbf92c46ab8575d44",
-"T3W1_en_test_pin.py::test_pin_short": "3bea7b76c6d1c445b6c50bd7f31af026d2d2a462e1250f2d188361fb2f6d30c5",
-"T3W1_en_test_pin.py::test_show_pin_issue5328": "3bea7b76c6d1c445b6c50bd7f31af026d2d2a462e1250f2d188361fb2f6d30c5",
-"T3W1_en_test_pin.py::test_wipe_code_same_as_pin": "16a88f6ac034ebd0a6d856b4aa11cd489f0bd25c646acbc6062791b22dc5d36c",
-"T3W1_en_test_pin.py::test_wipe_code_setup": "5709de2d62828113087cba83f02b2dddec1714c1e8c859d1c25eae4f5b4c0cbf",
+"T3W1_en_test_pin.py::test_pin_cancel": "6acb407e1d94df2e47f93100dcf279369a869784c47ed28a615c3a49e8ad1778",
+"T3W1_en_test_pin.py::test_pin_change": "eeaa6a372ea90fbc08b2fe298fd194cd145467b1c98808b29867d76189d82748",
+"T3W1_en_test_pin.py::test_pin_delete_hold": "fc719d59b25fa9f14fbc117e4afd870fca438720442e7da674ed70583f3cd08d",
+"T3W1_en_test_pin.py::test_pin_empty_cannot_send": "cd41642823943b75eb2a395edf4ff5d028e838067eaeb14d24de7e4c89d97863",
+"T3W1_en_test_pin.py::test_pin_incorrect": "a79fc0fdae8f811ed61d2cf7e45cf23d06380b6f575567be64c9bb7556b7ea8c",
+"T3W1_en_test_pin.py::test_pin_long": "be40503f7945b6aaa42c1e397d6954faf379a85a02f165cf8cf5d29361d703ba",
+"T3W1_en_test_pin.py::test_pin_long_delete": "3169c8b91843c581ecc92a5473a7ed9ce1ed24aee4812d164e8a1f2455723086",
+"T3W1_en_test_pin.py::test_pin_longer_than_max": "c3b7fc936466ce8927429b3a4cfddd8273de4c219e20dc69df2b3be3944e7081",
+"T3W1_en_test_pin.py::test_pin_setup": "31c46c834e1b9fe07640d299360b802f8cc81a3a5315dba8b642a447030f0d8d",
+"T3W1_en_test_pin.py::test_pin_setup_mismatch": "82dad832770056e213b7539034de22153d54bb6cb2be8bbb2157964ff5e353f5",
+"T3W1_en_test_pin.py::test_pin_short": "cd41642823943b75eb2a395edf4ff5d028e838067eaeb14d24de7e4c89d97863",
+"T3W1_en_test_pin.py::test_show_pin_issue5328": "cd41642823943b75eb2a395edf4ff5d028e838067eaeb14d24de7e4c89d97863",
+"T3W1_en_test_pin.py::test_wipe_code_same_as_pin": "8bdd103b9d16bd1708d6872da9b79f3d2665888b1e6028d66a254070842d19f5",
+"T3W1_en_test_pin.py::test_wipe_code_setup": "5e61f31c65bbcb2397dcde569184f56574e71d331c517b6007aee98f459ad3b8",
"T3W1_en_test_recovery.py::test_recovery_bip39": "48af8a8f5af35c840d3f6c986843220f62dfeab0d39a16d185b64fded3849bcb",
"T3W1_en_test_recovery.py::test_recovery_bip39_previous_word": "c90013ed59c18bebd920a6a090259db931592db6bc02d918558a167254d4939d",
"T3W1_en_test_recovery.py::test_recovery_bip39_reenter": "3081e29e10b1a8ef268b557f38cab580448425ae59923f8c76d42f222dbfafb4",
@@ -29114,7 +29114,7 @@
"T3W1_es_device_menu-test_label.py::test_label_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_es_device_menu-test_notifications.py::test_backup_failed": "badb51ff76c502ceb5897776edcb0786260a036f20d911dca7be0c67d0865530",
"T3W1_es_device_menu-test_notifications.py::test_backup_needed": "6aa38827cb41ae91cd198cc32c55daa19850442faf10587b751ef3f7ffb803bb",
-"T3W1_es_device_menu-test_notifications.py::test_pin_not_set": "6a782e1a048c7415417d508281b121be3ea4e6e3db2282d2987ae5abec113fe0",
+"T3W1_es_device_menu-test_notifications.py::test_pin_not_set": "961bb51c186666144ba3a890fab16d4bf1334f30ac3a8355c1dd8c66e996f8d0",
"T3W1_es_device_menu-test_notifications.py::test_seedless": "bbe2a9d5b69d39d082b3c798a613e150a3ba9ce31e4c3dcff38a4d169f699ce3",
"T3W1_es_device_menu-test_traverse_menu.py::test_traverse_initialized": "21e758278da9273c4644a09d6acc660f912348c96e2790be29f83e51c3d6d640",
"T3W1_es_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "bb61cef39e8dc5d93d2edeb55dc8bca68b80459eb990e8d3b8f65afcc125f7b4",
@@ -29145,22 +29145,22 @@
"T3W1_es_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "ee71cb08321465e2bd89f1a4254114ccc96950d3b811ef89d3d3030b1abcba46",
"T3W1_es_test_passphrase_bde.py::test_passphrase_loop_all_characters": "a658ad259fa30331ce7479cc7504ba34b961edd9d052c9745f39b5cb445204ce",
"T3W1_es_test_passphrase_bde.py::test_passphrase_prompt_disappears": "e6fa332704bd240ca4ab7d990ca9dc361daf456805e7642535fbd56326732946",
-"T3W1_es_test_pin.py::test_last_digit_timeout": "9434267a5ccb904d3b64363d139a4d48c863200a21d6ddff097324ea594b579d",
+"T3W1_es_test_pin.py::test_last_digit_timeout": "e2454de7879c5d52c95947feccf51e97fd9d6eeb36af6359a64f0fe0e5bb3572",
"T3W1_es_test_pin.py::test_long_press_digit": "b00c687965fe08846c2cac7c863a5d3add20c7cf2ac9fdd1721e56b611f56706",
-"T3W1_es_test_pin.py::test_pin_cancel": "05a939355201fc0d301e04dd3b343353a3a18a9a063324db31b54d6b15299851",
-"T3W1_es_test_pin.py::test_pin_change": "31c3ad4d75e2689655cd5c97d598f3b7119054f3acb8932cbc0bac7dfdd1913b",
-"T3W1_es_test_pin.py::test_pin_delete_hold": "2625fe3ff22eebb4c46643b4cddca39cbd726d9a08c91af924c1f00886110493",
-"T3W1_es_test_pin.py::test_pin_empty_cannot_send": "d9d23eec534a30f7bb03097cfa49625fa0a5ba454912767631fcafbc96d0298d",
-"T3W1_es_test_pin.py::test_pin_incorrect": "5f0f26b076c299e1b18123bffe7da120e20040633c6ff311e64c31e70babde30",
-"T3W1_es_test_pin.py::test_pin_long": "2fa31f598bb3c59ecd24c3dbd912e3900a0c7eca30fd194eb096b816a8fc89aa",
-"T3W1_es_test_pin.py::test_pin_long_delete": "7647f068f4706201cb9c0456dcba32313df7a52c17d13ad6c43bf46107a2abcc",
-"T3W1_es_test_pin.py::test_pin_longer_than_max": "e05efde434993ea96009feef5d9a020ff161c52bdf42d194e494fb96883f748f",
-"T3W1_es_test_pin.py::test_pin_setup": "c5becfb80ca09a8fad06d8173e556bb038625cc850793bdb55cadb835deb7878",
-"T3W1_es_test_pin.py::test_pin_setup_mismatch": "bc86fb1f935d04f5e0d93b162eff69d59e7467566a3f4f454f8364c518d694b1",
-"T3W1_es_test_pin.py::test_pin_short": "d9d23eec534a30f7bb03097cfa49625fa0a5ba454912767631fcafbc96d0298d",
-"T3W1_es_test_pin.py::test_show_pin_issue5328": "d9d23eec534a30f7bb03097cfa49625fa0a5ba454912767631fcafbc96d0298d",
-"T3W1_es_test_pin.py::test_wipe_code_same_as_pin": "911f07b2958056746ca6d752e0e99cf427474d4f10000b308a51e1c57418b493",
-"T3W1_es_test_pin.py::test_wipe_code_setup": "fa2b82febb5c466c94aed68d3c49b63d447268b0a91f4126579b6ccc65f5dbec",
+"T3W1_es_test_pin.py::test_pin_cancel": "420bd0d851789d21d334376cd02e66be692240816da189206149c209ffd8b95e",
+"T3W1_es_test_pin.py::test_pin_change": "4d520bd870005cbc58ef43ba36406a1151e47a76304b0d31ceabbd129bab0886",
+"T3W1_es_test_pin.py::test_pin_delete_hold": "90565fb9851a10e1e2b6cca02dc5d3a4f978c3db4954f10b6c9b7e260a985b5d",
+"T3W1_es_test_pin.py::test_pin_empty_cannot_send": "7478b05dd5cfa24340390a26e959b8e428354a086e89f763e7d0d4b823ce617c",
+"T3W1_es_test_pin.py::test_pin_incorrect": "37632e4d9f56404fce2cea7b285816a3fb7e90c07c81476315bb0c6ea6d929dc",
+"T3W1_es_test_pin.py::test_pin_long": "97973757f440fddacfe8f403f033e508223fe3a8e9465de89d61855bd99188eb",
+"T3W1_es_test_pin.py::test_pin_long_delete": "8f58e61c9962dffaf6d3986303af2d0fce1fba911e77a7a497a473a01020077d",
+"T3W1_es_test_pin.py::test_pin_longer_than_max": "c3af08fe5fc3170dadcd742da88d20acb80e11d07e7ee69f09139cfe777d660d",
+"T3W1_es_test_pin.py::test_pin_setup": "d17d0190a4be98c7220540f4fc12ca2aa4f0019bb4dd2af1b135eb156acd42bf",
+"T3W1_es_test_pin.py::test_pin_setup_mismatch": "3fbed77d5703a436e81ebcbbf6d8be54e14c5a4ec053e36476d12ea1ee1e3e91",
+"T3W1_es_test_pin.py::test_pin_short": "7478b05dd5cfa24340390a26e959b8e428354a086e89f763e7d0d4b823ce617c",
+"T3W1_es_test_pin.py::test_show_pin_issue5328": "7478b05dd5cfa24340390a26e959b8e428354a086e89f763e7d0d4b823ce617c",
+"T3W1_es_test_pin.py::test_wipe_code_same_as_pin": "e075880becd8f11b4b5fb33580ad941db2a2879baccebac100174ce8e755d89a",
+"T3W1_es_test_pin.py::test_wipe_code_setup": "c74c3e068d35f675f23b63722c5995198a9af8df075a4b52fc866ec026596a47",
"T3W1_es_test_recovery.py::test_recovery_bip39": "395cbc0196bf60807c19a32e79b10eb7257bb1451d4d8cda12d6262b35f07ac8",
"T3W1_es_test_recovery.py::test_recovery_bip39_previous_word": "7c2815846a0dccbdc2ccbe9b13234f7aa47d847f6b06d033a268b6346d83ca80",
"T3W1_es_test_recovery.py::test_recovery_bip39_reenter": "1dee99c25d4f371e12488452b53b851941b330d9c8d27880b62a22b0970dce86",
@@ -29204,7 +29204,7 @@
"T3W1_fr_device_menu-test_label.py::test_label_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_fr_device_menu-test_notifications.py::test_backup_failed": "f813b2ec0782049ecaa8ac58f723cde73f86c084a12269e647b0ecc186e470f7",
"T3W1_fr_device_menu-test_notifications.py::test_backup_needed": "55f2d653365928a4598ac9f4cb769dc4d72558d50011f5e27ecfa11ec1ef763e",
-"T3W1_fr_device_menu-test_notifications.py::test_pin_not_set": "5ab01f1b08958a2de11a1c436889d3723780d453ef00dd4a83b1d65f12ad0711",
+"T3W1_fr_device_menu-test_notifications.py::test_pin_not_set": "d0a0d1c905d165578252aa4abb7e52c4d2bf669ae6ecf8188757a58c611129d8",
"T3W1_fr_device_menu-test_notifications.py::test_seedless": "e6dd2332fbc9992e5418d109ba6d3b9089712500dc0ba9cb4a33fcf3d91ba552",
"T3W1_fr_device_menu-test_traverse_menu.py::test_traverse_initialized": "4d27629610918103d9cde19415dea5d71897e92295b20a680ea036400e1177ce",
"T3W1_fr_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "12079b10041fd70849a86902bfa6babff5a38b8681f590b84012cecf5381b7bc",
@@ -29235,22 +29235,22 @@
"T3W1_fr_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "0c477cb25d74e0cbf484a6ffe511a2f5e23310b3fb04dc94ec72d1824ffba5a7",
"T3W1_fr_test_passphrase_bde.py::test_passphrase_loop_all_characters": "1f47da032b53266856b4ecbebfb0fd85cb932a0cdd0717f568e1210ee5f39f91",
"T3W1_fr_test_passphrase_bde.py::test_passphrase_prompt_disappears": "b1fb6c511293f360367e8951899b40b3c6bfa19ac721548ac39a67410986e2c7",
-"T3W1_fr_test_pin.py::test_last_digit_timeout": "153dea00143cbad2f20c444492a709d859f9085f46fb436c87723397c5d3d439",
+"T3W1_fr_test_pin.py::test_last_digit_timeout": "b08c0b4316a45516cbcace122e66c911f32932d339844093372ea5f135468ad4",
"T3W1_fr_test_pin.py::test_long_press_digit": "8fff45321f27586182602ee33f3642c81a930334a217107ded43e92640b37889",
-"T3W1_fr_test_pin.py::test_pin_cancel": "6a6153c756a7372498e3fb7202b2eba5b7f2fc59e1ab9cca05b78e173afa1edd",
-"T3W1_fr_test_pin.py::test_pin_change": "1a533ee7257f6c686713ce348022eb559fcbae8d53b684193d7998d1e9b1cc0c",
-"T3W1_fr_test_pin.py::test_pin_delete_hold": "94bae396ef86cc7d2a650381e825f8eaaf2f99a4cbcfa49855287078c132c78c",
-"T3W1_fr_test_pin.py::test_pin_empty_cannot_send": "002810016b0f0b137bd74fa2f0a8a9433bb174246a870fbb4b17efb46b213353",
-"T3W1_fr_test_pin.py::test_pin_incorrect": "e961790b67b573d7e16af223bf10dccbfcc8f62e52f895f264a9925e5cd2002b",
-"T3W1_fr_test_pin.py::test_pin_long": "e7eb321b81094b735049b6c4518ae150488c2e8b0edfc9b1307a15a967696c05",
-"T3W1_fr_test_pin.py::test_pin_long_delete": "584fb93159154c30f1ca677d4cb4bccd02bdcf5e8e82401a0567554c1d2e5c17",
-"T3W1_fr_test_pin.py::test_pin_longer_than_max": "5a4b3f8298e222b028b71c1d7066e9d5c038993868946a2498b8dcb4a744847f",
-"T3W1_fr_test_pin.py::test_pin_setup": "ef49d8319587a0aa5895a7f62fbbdb09495a30fc1d31f896449c2f4c5b6cb7d8",
-"T3W1_fr_test_pin.py::test_pin_setup_mismatch": "fbe4362508e1c51ec1dde78c8bf3acafcb14a27c8fb988ec24aa57a9941f6799",
-"T3W1_fr_test_pin.py::test_pin_short": "002810016b0f0b137bd74fa2f0a8a9433bb174246a870fbb4b17efb46b213353",
-"T3W1_fr_test_pin.py::test_show_pin_issue5328": "002810016b0f0b137bd74fa2f0a8a9433bb174246a870fbb4b17efb46b213353",
-"T3W1_fr_test_pin.py::test_wipe_code_same_as_pin": "3094e3598cd2c646259f7ecd57723531628eb9e7dbb4be88217fae3b591d6b4b",
-"T3W1_fr_test_pin.py::test_wipe_code_setup": "5964790317ef1d434139adb96e2e97c3cd4a259a4d776bbfdc21b36b1ca99c73",
+"T3W1_fr_test_pin.py::test_pin_cancel": "5a35f7174bfc40a435fc124f0e45f6af9966abcdefd4639ffeebecf5cb111084",
+"T3W1_fr_test_pin.py::test_pin_change": "db7417ffd2e612950a3fdb4749cc1dfdb27b95b013962d0a51a0fbca894711d2",
+"T3W1_fr_test_pin.py::test_pin_delete_hold": "354f2d17f8b3233043becea8bf83734d647d91b024e4ca9ea86206bce9498506",
+"T3W1_fr_test_pin.py::test_pin_empty_cannot_send": "fec7da447d92cf318b0308f00b81b4728deb8e424b82592c93645e3dfed93e6a",
+"T3W1_fr_test_pin.py::test_pin_incorrect": "ebca77e65891cbae1add511a883408e383d2d0799a70dce1b5b8efbc55e68c91",
+"T3W1_fr_test_pin.py::test_pin_long": "bedd9f8dd6e109813adc10858f431e3713f4c062bd5f4ab345e2d156e3f01851",
+"T3W1_fr_test_pin.py::test_pin_long_delete": "a9b0acc042a15d89664d76595afb0ccd7e0d9ac4a75fb1c35a4ba2daa7235f5c",
+"T3W1_fr_test_pin.py::test_pin_longer_than_max": "ffc3595a63ba0fdef39487e9478a9d1f86ae6edb651bda4a4e1f5f6946ed3bcb",
+"T3W1_fr_test_pin.py::test_pin_setup": "39fd7638ec83053d4f774260dc12702e0c18aa63892dd52dd4f2349c94262b8d",
+"T3W1_fr_test_pin.py::test_pin_setup_mismatch": "55c95d2104d7354e257a74c377b6727b51a57cf41556f6f524eaf1e516fec0f8",
+"T3W1_fr_test_pin.py::test_pin_short": "fec7da447d92cf318b0308f00b81b4728deb8e424b82592c93645e3dfed93e6a",
+"T3W1_fr_test_pin.py::test_show_pin_issue5328": "fec7da447d92cf318b0308f00b81b4728deb8e424b82592c93645e3dfed93e6a",
+"T3W1_fr_test_pin.py::test_wipe_code_same_as_pin": "41889140f03136a0cc889171c5247393bfb6834f90b04028336196394842037d",
+"T3W1_fr_test_pin.py::test_wipe_code_setup": "f96b0804fcfef5fa1c0532a32cc75e15158c97efe9b653998c7441f13364cd72",
"T3W1_fr_test_recovery.py::test_recovery_bip39": "99e83db60d602167d8857e58dc63896983b5f1bc331b391f7ec515861a85d226",
"T3W1_fr_test_recovery.py::test_recovery_bip39_previous_word": "01c9740fd42c31095568e028854bc4b960e1f5d38683933bd52996a7fcfe6f70",
"T3W1_fr_test_recovery.py::test_recovery_bip39_reenter": "de52af752701eddb761ac1cdc2f1a8e10ba0e7225eae2c743407932b007b561c",
@@ -29294,7 +29294,7 @@
"T3W1_pt_device_menu-test_label.py::test_label_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_pt_device_menu-test_notifications.py::test_backup_failed": "26039b7e906d8b95908603a2ad4be247b423c876bf384d6fb91cf92cd4e7620d",
"T3W1_pt_device_menu-test_notifications.py::test_backup_needed": "29bc804809d98b87ecb26b473ae96585859e4f85cc9704c346531a312e27ef3b",
-"T3W1_pt_device_menu-test_notifications.py::test_pin_not_set": "756b67e2792f7e46fddbc0e2cce801461e98af3c4808d4f7b6bab714bc1d35b4",
+"T3W1_pt_device_menu-test_notifications.py::test_pin_not_set": "eea3f3d8021cf53499cd2fb1d1a568e74d5021ca9604b9d0acfc817177ce2009",
"T3W1_pt_device_menu-test_notifications.py::test_seedless": "27b59acec95fd7a89dbd4b4b85c45f4e21313c568c84c1de0a984eed084506ad",
"T3W1_pt_device_menu-test_traverse_menu.py::test_traverse_initialized": "9e95a65e8e39fe0227a0d85a5ab97f71e2015faaf55433537ff2c32296ad0290",
"T3W1_pt_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "6a33d0010d199fbb811738ce81e38da3618a5534f994d902cbd6cd4d5697fdf4",
@@ -29325,22 +29325,22 @@
"T3W1_pt_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "0f971325f871b81810233dfadc0ccf74c9dcb10e5994da4635a96c2325c0b2cb",
"T3W1_pt_test_passphrase_bde.py::test_passphrase_loop_all_characters": "4f007447b7f27299167b9967f10dc18a709131e969a600a9a6e8628247594d05",
"T3W1_pt_test_passphrase_bde.py::test_passphrase_prompt_disappears": "0dfd421ef03daccb9566c5739205bd33387b72f98438b75833c7df00e8d4dc94",
-"T3W1_pt_test_pin.py::test_last_digit_timeout": "3e9d17f5cad9aed8d7d06b3d0af266dc83636c8a305212454dd62b26733103fd",
+"T3W1_pt_test_pin.py::test_last_digit_timeout": "98ad15c37745c4153618d49b0f9b7e245221fd2a423abce36f55a023056ccaca",
"T3W1_pt_test_pin.py::test_long_press_digit": "0ed8fc61bc96e53d9db4742ab9c7615b79583901ba9bda23b0d028531da7ba4b",
-"T3W1_pt_test_pin.py::test_pin_cancel": "62d464eff8542931f3f5d69d42c357d21ec1c8c89329066d95dacdeff38347cb",
-"T3W1_pt_test_pin.py::test_pin_change": "c2770c4fc92ef44a00fc293e26ff1ee3fda89df12d09166b6e43c598346e80a3",
-"T3W1_pt_test_pin.py::test_pin_delete_hold": "8f2112bc3e2f52e06126ad89004f8ee01eea9b4aac12dfbc0bc19e269009647c",
-"T3W1_pt_test_pin.py::test_pin_empty_cannot_send": "6e1f1cb4dbc78955d7ca2d9a3d5edaaaab4810287ec1b580cad9b92d83bc08c1",
-"T3W1_pt_test_pin.py::test_pin_incorrect": "0d9275d68a3e4092164374580de42d958ba8d0d0a765574bebf5e4fba5f831e1",
-"T3W1_pt_test_pin.py::test_pin_long": "16bcddf118bad9b4d6d98207e407b56bf6400bdfba55b6ebb527712f8429d4da",
-"T3W1_pt_test_pin.py::test_pin_long_delete": "f95b30589e2b394488675efdbfabee4fa1e90ab41abe3b881ed2eb4a880aac87",
-"T3W1_pt_test_pin.py::test_pin_longer_than_max": "0b9073040a538e28a5857760308a88c4a7bb3a3219ca5dbda0ddf61f4eb8d574",
-"T3W1_pt_test_pin.py::test_pin_setup": "630fc1a3ac2fe6ef8a2b1523142effe6ce1257c9896a88e46625def7d3c32cbb",
-"T3W1_pt_test_pin.py::test_pin_setup_mismatch": "b2c873793c6cd831494e628263a6c916ed9d1872b5751c1644758cfe54d649f6",
-"T3W1_pt_test_pin.py::test_pin_short": "6e1f1cb4dbc78955d7ca2d9a3d5edaaaab4810287ec1b580cad9b92d83bc08c1",
-"T3W1_pt_test_pin.py::test_show_pin_issue5328": "6e1f1cb4dbc78955d7ca2d9a3d5edaaaab4810287ec1b580cad9b92d83bc08c1",
-"T3W1_pt_test_pin.py::test_wipe_code_same_as_pin": "7653ad58810d67868e4edfeb98739251824c5f3dff1e14c21c019bd8894f530c",
-"T3W1_pt_test_pin.py::test_wipe_code_setup": "1bb787102af2da43fb6a1bf324165475e10d097b8e5ff94aa3d24391e71daf6b",
+"T3W1_pt_test_pin.py::test_pin_cancel": "763a4c5a55191f4cc928c2df64cc4fdbcc734b02a2bda726377d03a830adaf02",
+"T3W1_pt_test_pin.py::test_pin_change": "8ada6fe244ea66197a6736c752a3cdb0cbd329f24bb65f503ff701da662192e8",
+"T3W1_pt_test_pin.py::test_pin_delete_hold": "bb45023cbc4c6e2f7bc1e2cf74092713bf3abc48c0cc30f773a5e778b75280e0",
+"T3W1_pt_test_pin.py::test_pin_empty_cannot_send": "ffe20db57e2cf5a1425eeb9e3f16dfb45b409d6277b5b6445d9f47570bd41e07",
+"T3W1_pt_test_pin.py::test_pin_incorrect": "c62a1bb3ba671dcd1d4e04e63399ba92ce9502c57f36958f1449c275a75d3688",
+"T3W1_pt_test_pin.py::test_pin_long": "d80148142883d5a58d27909b3da540ca00ec359ac719798ffcfdb12624e8f529",
+"T3W1_pt_test_pin.py::test_pin_long_delete": "8ac3ec0a67806ee87d9cc592d9f0a9caada7a41d53790114967b8d7b9eaae880",
+"T3W1_pt_test_pin.py::test_pin_longer_than_max": "78f14ea2547c8cd676f700f9eae7f6fafd7cebb77587c97e319fb5e8e734517c",
+"T3W1_pt_test_pin.py::test_pin_setup": "21c810415485a040973c7cd172d646862978eef53200bf958d41d8b791c9f741",
+"T3W1_pt_test_pin.py::test_pin_setup_mismatch": "2bcac6fcc83a5d20f8465ffb242cab2366594fe7c733eedf945b57e9783b47b8",
+"T3W1_pt_test_pin.py::test_pin_short": "ffe20db57e2cf5a1425eeb9e3f16dfb45b409d6277b5b6445d9f47570bd41e07",
+"T3W1_pt_test_pin.py::test_show_pin_issue5328": "ffe20db57e2cf5a1425eeb9e3f16dfb45b409d6277b5b6445d9f47570bd41e07",
+"T3W1_pt_test_pin.py::test_wipe_code_same_as_pin": "ad08c32bb5ec396e94964a310aadaa39aa93ebab56691b2111145c8c26d551b5",
+"T3W1_pt_test_pin.py::test_wipe_code_setup": "013bdc0031a0bca590cba3f3d9a0d5b39864598eb40ceaa85637a5179d07e6c5",
"T3W1_pt_test_recovery.py::test_recovery_bip39": "d6bb63076926e983fa5742c445d43f420642c776960ff75b5b58b501087a276d",
"T3W1_pt_test_recovery.py::test_recovery_bip39_previous_word": "56d20b202ced05f78b3b25cc1708a4d1f1ed4a6a2f79e453c882f92a0dec914d",
"T3W1_pt_test_recovery.py::test_recovery_bip39_reenter": "04fc1b657ca9fbaf10e4e028737d2d5c7d7fcc1d6990764e417cd28ddb4182ce",
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.