What changed, and why it matters
This commit only updates expected visual test hashes (fixtures) for the on-device tutorial feature in multiple languages. It does not change any firmware code, cryptographic logic, or user-facing behavior. There is no security issue present in this change.
No security action needed. Treat as routine test maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff updates SHA-256 hashes in tests/ui_tests/fixtures.json for UI test cases named test_tutorial_eckhart.py across Czech, German, English, Spanish, French, and Portuguese locales. These hashes are used by the UI test framework to compare recorded device screen output against expected values. The change is purely a test-data refresh, likely because the tutorial screens or rendering changed in a prior commit. No source code, firmware behavior, or security boundary is modified.
Changed components
tests/ui_tests/fixtures.jsonInspect captured patch +36 / −36
diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json
index ab0040e75..182526c33 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -28819,12 +28819,12 @@
"T3W1_cs_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "b2bc45653ec49f979d64969ed19e8e1a117c11392831e03a5a551f32e1abedb3",
"T3W1_cs_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "e4c0500a5957ce0f4e216c471a35bcf811385e3d6bb101349f6afb2e459f30de",
"T3W1_cs_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "17bb4ef41fb5e048fe97fa036e94c3c4d9e7c2424042924168d1e24e4d944146",
-"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "1f2b4d890e31223be52673cd8b271d5702d59a9f957408dd42850283221c0c3c",
-"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "93abdfadde2dd90811d40fdbde3012625a361355e2e89f66e4d624c94c6d6067",
-"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_full_completion": "13d653623b8d57272fdc0ff72884093a5d5d7fc4ac1a1f78bbb5da54fdf6f350",
-"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_menu_close": "5fa4ded887b760fd6feee21676f52a7d0bf6a9cf658991a093cc56aca9b36b84",
-"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "9c672c604279c53694e34d7f635b2605a01beea86507166ab353449d1f473cb5",
-"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_restart": "cfe564d704c429f8b0570da0a7321c79839cd7907f24e42475a47c9ae326235c",
+"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "b571d0caa45b79428af25caf00d9080e6b5911e1496ad960cfd4c6d8d9d98c97",
+"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "06231c4d1a7ddf4e8c83982ce2aa3e51776d2398356a5a79f2b6efc43e945fb9",
+"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_full_completion": "3c4cc625c84f0ccacb2f091333e3b78c0e349ec984e1ffd4154d2b1abae510a6",
+"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_menu_close": "2503292825517aaa3af1b1a45a0b69bb93fbf20f40351f19e4749215e8ead2b0",
+"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "2ac73a459765f821bb3ee149bc26fffa2f468ebb6e190edb7ae6b51f779ce04a",
+"T3W1_cs_test_tutorial_eckhart.py::test_tutorial_restart": "ea92b77ad3773c060b214fe6f83c8bed51e339046a5e1b1a3a33c49ebc3e4d62",
"T3W1_de_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "d3caaa12480899e844efe2e5c1149a8ba1d659a9f61cd5f2496bc43b18acf345",
"T3W1_de_test_autolock.py::test_autolock_does_not_interrupt_signing": "aff79390542b98257389b7ef7c94dfb8071e35c9f2caba79c02efdc152829196",
"T3W1_de_test_autolock.py::test_autolock_interrupts_passphrase": "2be2f7b7eb2d0e1a1f58a5f7121f1bc35a085285a3d49b7f392530d3ba64ec7b",
@@ -28878,12 +28878,12 @@
"T3W1_de_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "9ac4fc46c6ab5bd972795c7efc8359dfe89b0930481ea9b73176f73c8c1a2181",
"T3W1_de_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "65fb6fa88dcbb73ea2420389c671babdf5b1a40a91a60d9ddf029f8ca33c0509",
"T3W1_de_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "c53facc21a718e6205f666dcfcf4dd6c76e56a6b275b6bb035211d67d6c98861",
-"T3W1_de_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "6a3f2767f39cdd5581b38efd0dfc1b75e93819ac7ff8cacf9cd8aec939bafe71",
-"T3W1_de_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "42223960f87c5fe98792f60f436628c3726dc475a0962539121f0a54d3917463",
-"T3W1_de_test_tutorial_eckhart.py::test_tutorial_full_completion": "05b434f4afeb132be2f0fb98c296647c291680b6c0ab744a6139ebe7150003d8",
-"T3W1_de_test_tutorial_eckhart.py::test_tutorial_menu_close": "cf4fcbf91245317167bb6e682e635a5012998713c22bb161fb3eade2264a0848",
-"T3W1_de_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "55a8587b575307d5b4e616bb3dcb87ecfd2e61edc9841efd3b8d51f72fe27219",
-"T3W1_de_test_tutorial_eckhart.py::test_tutorial_restart": "1e080c4eb4951210414ddeadccfff2563391d5e25dfbfa8356a0ec589c40499a",
+"T3W1_de_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "1f2624b46269ae4e5a19c626d984a6e4a33ba6beb956cb5ce6a4d3cd172d14f5",
+"T3W1_de_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "f9c6866737c64e11c4f6190a411d6a84e13b7b299943321b9afba43d78a07a44",
+"T3W1_de_test_tutorial_eckhart.py::test_tutorial_full_completion": "761cae316b68e79caad117e268eec2cfe243b7c27f663a5b102f5beb57215ef5",
+"T3W1_de_test_tutorial_eckhart.py::test_tutorial_menu_close": "fcfa1b7014814ab646a6a55938398353f069bfdeb8575c2de9ca1f2476a39512",
+"T3W1_de_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "2f8851687d39100c191614b82b42f7b22e29a15749ab958b5bc5e06732a87634",
+"T3W1_de_test_tutorial_eckhart.py::test_tutorial_restart": "a7ee7db9e8bb52fa8c001436d7bbb522cf8ad8123ecbed463ece455e3b1a5844",
"T3W1_en_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "060a9daf0f5d8ceed76e223755059f9fd7728a64818644964cdd0631979d05ee",
"T3W1_en_test_autolock.py::test_autolock_does_not_interrupt_signing": "2ee6ce1fdd78d5869690d1a3b9f1aad441e8d17a69efa6f064f0070f5686aedb",
"T3W1_en_test_autolock.py::test_autolock_interrupts_passphrase": "5f60b98ad8a3919e0dc65dd7415e0c5bdbc5461500ab8070185272a55e15a6d7",
@@ -28937,12 +28937,12 @@
"T3W1_en_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "5328c1e36d1399bb171989504fc2b6d2aff34d12a9ffd8e29fdd0aead6e484b7",
"T3W1_en_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "93bc1848aa4150aef6c66501c1f48b50cc9f4481b8f13e0dd9992a82d3f68eb0",
"T3W1_en_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "dedf31317f3c18482a93faa020771eef40bddff10d5e00f4e9bbd97185c1f908",
-"T3W1_en_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "e04bab02508ecb88f7142b94c2aacc8453ba3158e45be4d5d0ff5d22aaea8cb4",
-"T3W1_en_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "bd9a050bdbfedb422bf3f73f1169755830bd628a2ac999ead62068250445bd8b",
-"T3W1_en_test_tutorial_eckhart.py::test_tutorial_full_completion": "dfa316e9a1e6602d0f7262737f2c259606ff4698454b076fa0065e8a521a3879",
-"T3W1_en_test_tutorial_eckhart.py::test_tutorial_menu_close": "84bb67170ef69d083eb579477aefa09b50785fad327576add3438a1c1efcdae4",
-"T3W1_en_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "195b03ebd945fc0ee791958a2e04a2ec4a1bfbf4f3a6129a5a1b151b8817cdd0",
-"T3W1_en_test_tutorial_eckhart.py::test_tutorial_restart": "5be45b8736ae3f9225c13adae82874c6377b7699b090c9bfa5d5a42122aa9605",
+"T3W1_en_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "3566be0ce035c1581aeb7452f3eb685b321b852f68e988c6f9c6aa387dabc07f",
+"T3W1_en_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "c55bb2cee86099f6d60451ab86afb68d01fccd99dbfd4ef14198e74dbcfb9f65",
+"T3W1_en_test_tutorial_eckhart.py::test_tutorial_full_completion": "fb5706a0b107cb6beb63e211f184cdebe5c02e162ba01dea932d69cc0b12947e",
+"T3W1_en_test_tutorial_eckhart.py::test_tutorial_menu_close": "f6271bba8a2026a3a0de5505784c79767962d6e96d4fad4aa713bdec43374aa5",
+"T3W1_en_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "78c2f9fa3698897be9a7962301566530aea32f836a28b7c5e19f76b02f4fc9f0",
+"T3W1_en_test_tutorial_eckhart.py::test_tutorial_restart": "a6a85140b5c8116239fa82e3e8f785cff2b616e883bcb0983f8a4b4eeddc387e",
"T3W1_es_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "88ec7625dea576b96607477b13e03966b390584a8d6a0e94ba3076b0bc84fc1e",
"T3W1_es_test_autolock.py::test_autolock_does_not_interrupt_signing": "c1c5723ccf419f27d6e62ea521f24bdc8105da5cbb359c6ef839dabf416ba5a2",
"T3W1_es_test_autolock.py::test_autolock_interrupts_passphrase": "c9286e378e4362fa1d31b1d07154f263da1281d5c769129a7e242fd536f50f84",
@@ -28996,12 +28996,12 @@
"T3W1_es_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "d27bc4cf25b1bece8772d45e2a6559f0145e76e1bb2caac6930b8a6b094a599c",
"T3W1_es_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "f2443596c7dbf679c352d8c2cc2b03fb1a84fad7cacdd748f2d9cd91f6793101",
"T3W1_es_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "092f9fce969f4b5b726de340394bbc62a701629277be125d89e6c816e020278c",
-"T3W1_es_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "807ecaf33256682c4aeb42b3a043e17557288760dadff99d9c311d8bc24f92c0",
-"T3W1_es_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "77f171bc27810934ca943c5de502d1e35b06ff34ff2dc67d795b3136c8635d7c",
-"T3W1_es_test_tutorial_eckhart.py::test_tutorial_full_completion": "4bf6be3eeac20bd023f61099f1c4bc76c8bae8f1be9ea2475a298623af517858",
-"T3W1_es_test_tutorial_eckhart.py::test_tutorial_menu_close": "dc0c68a617136c0e1617aa4fe1c8643a0e683a6bc4afb0f3b8c0661b7a5e2bfc",
-"T3W1_es_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "3336a9742acc84ce893da01e078fbd8ba381458b4845ce53d13c8999118a6e50",
-"T3W1_es_test_tutorial_eckhart.py::test_tutorial_restart": "44bc8ce82c61530ffe8d837d8d904cb1fa4f4b85efa481663f3304d530120437",
+"T3W1_es_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "5861bb3f18c5cb507c1f7695ed53ab120fb1557347f6568a3fda9fc7d8136048",
+"T3W1_es_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "fe5ca5ec4df9252f0320dd1ae2bf452989e7aa6b96b68c00b1f7568d7d427b03",
+"T3W1_es_test_tutorial_eckhart.py::test_tutorial_full_completion": "117e43fa6fb3984e12a49897f15384a11dfca24c9b05e0521fc45123d527128b",
+"T3W1_es_test_tutorial_eckhart.py::test_tutorial_menu_close": "d1096b549822ce2168453d2149b3b8b0cc6e166cfd392f7413c7bf9629b26dfc",
+"T3W1_es_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "82877d9ee1d754ab6a453be914f2e323eeecf74ee602ecd48fecf9c322210b76",
+"T3W1_es_test_tutorial_eckhart.py::test_tutorial_restart": "d366e3c8c4873cd81d4d97e8b31042104d6e8d8ec25dbc1b932c6ec46af4187f",
"T3W1_fr_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "f64cf81a0b203373ded8a1bcdca05168b2361c5931ef1c70017fb787c9d488c0",
"T3W1_fr_test_autolock.py::test_autolock_does_not_interrupt_signing": "9a9da5408898b01ca5343fc13e9afa32f949bcf5918a4408ee5d53d165844fb9",
"T3W1_fr_test_autolock.py::test_autolock_interrupts_passphrase": "d0eb588f4e8b580260eef5de012f360a5136d70d0deecef2cac0e990c28094db",
@@ -29055,12 +29055,12 @@
"T3W1_fr_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "0c3a0bfddee02c38bdd959f3b371695037d8b0c995c15bcf9bdce1dae5f3a8a2",
"T3W1_fr_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "e333ac7711de6e8ae6249c4230184f3a2cb85bfd29f1b2bf7cd0c7a91d979c40",
"T3W1_fr_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "3e2289387038faf3b975d271fffd3ee555939441ce96c7c7d6cae270cc3e668a",
-"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "c1cd1a63841c40de0a2d3ec261afc525464760d9b82c3a68a5347a7179492754",
-"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "b3239287ec14b3b6c315fc47b6d25c7df5851259f60f7594431d5d1fc3a42484",
-"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_full_completion": "269d63fea3399ce4a4d507e5435610ee93720812578a999f004be64098885646",
-"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_menu_close": "b9dbc7f15c2545452b5263b6d43dcee80fa594ff5b7749e4815612e58e2a0537",
-"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "ea31c82b5e62a84f3990af552a7f55691ba57ccb2c62a9295e179be64589fee9",
-"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_restart": "a0a89d77cc451ab55615b13ca21a315a52229c138760c26501fee737682bb330",
+"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "f464d614839970c34104d9ac1decb2e792cd9896e8a9df8349dadd8f424d0ee4",
+"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "4e4800358d02987018ba8768e12bdbe4c7ca54d555628c52ffa880efed2314fc",
+"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_full_completion": "16d653bfcc692e3ebbba50ca7f7af27be0aa7a80608093db91a6ef001e3c7b2b",
+"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_menu_close": "3b44db33c36d173cdd5278f33f6d2f8b66ae6ad0d06eafd3427dd76c42abf69c",
+"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "18663536e33057dabc2cdd67c2dd3764e42957f5a3c0974e8bf765adcced7391",
+"T3W1_fr_test_tutorial_eckhart.py::test_tutorial_restart": "28f8bd553991495728892d92a356a2d861b9725ec493c57cc6c6021e1a24201f",
"T3W1_pt_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "2002003423b35f977610d15ca2fd109845b4a437fdb54d72d1485d08b42ab4fa",
"T3W1_pt_test_autolock.py::test_autolock_does_not_interrupt_signing": "89638557d561b08be061690c82c0a02e10b4f07f4205895088dc03b7a0b4f31e",
"T3W1_pt_test_autolock.py::test_autolock_interrupts_passphrase": "59fda54157b274bef495ecaa7552f0629a631bf6554b7fa1b273f434df3615d3",
@@ -29114,12 +29114,12 @@
"T3W1_pt_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "71e75f5d384a7913677a99f33879db2976d28f5cd2216b01f44bb5bbc0a0bf82",
"T3W1_pt_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "38c64edd71dd779aaa24c8428ffd47e520d823a8af2476a0a575907a2eeeaae7",
"T3W1_pt_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "592663a97b60ba2d4c092a31b0e6d88f88eae786c07d8a931b8011e9f19ad3a3",
-"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "b79417453f8093d44e875e509da5916da9655f4c03f096266987ab68a855b78e",
-"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "4e40dda6844320ad49467e69c1f80b772cf1ca53ae4582dc2bf0e12e2b27b10c",
-"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_full_completion": "69be78530f293b0e0a3cef8944340f4604651c2983d619015e40a2845667e80e",
-"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_menu_close": "ab4d21f7f1d23e6e7b575f43ee60ea658e5047d56b01f3247f01cd09e95172ae",
-"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "711201629b7281d2cbda6b9d0ea453d732011dc1bc98c7916c2a72fb7daced31",
-"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_restart": "0d2eca3148ab75c4fe3be3554a5858d4ecbf1c155365b42ad2767249bdc02f64"
+"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_cancel_from_confirm_menu": "8e7e56dc19afafe00c07f1400fdce3fb5f4426aa29f24e8d603a594d52e22532",
+"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_cancel_from_main_menu": "e8bf0d328a56c34dbc895fe130c4c1bf9ce4c694289879b4b43993da332af64d",
+"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_full_completion": "838af38f3aa564882c9f75930b2cbe12b3b54ea25d0a2265beb59c94dce4621c",
+"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_menu_close": "7da6c4cfc7a22335a3ebcd0d7f9e525488c2ecb68997b7107eed9533017395ac",
+"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_menu_tropic": "79bff33a5730bc324e93ee7e65e5167b619ef79f13acefbb6cf3185f5de3816e",
+"T3W1_pt_test_tutorial_eckhart.py::test_tutorial_restart": "170d59549166e82c62b25a22515453219b71c85812c03110a511033af13ad54f"
},
"device_tests": {
"T3W1_cs_bitcoin-test_authorize_coinjoin.py::test_cancel_authorization": "fedf1f334e68809f7e921c7de5d8e9cb43ef2bcc46e6d61539eca3c05c5964d2",
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.