1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-06-10 18:18:46 +00:00
Commit Graph

125 Commits

Author SHA1 Message Date
M1nd3r
2e939448e3 chore(python): fix filters and expected vs actual responses 2025-04-16 17:22:45 +02:00
M1nd3r
92fbb062c6 chore(python): set CodeEntry as default pairing method when not using TrezorClientDebugLink 2025-04-16 17:22:45 +02:00
M1nd3r
6675114b99 fix(pytest): fix message filters in SessionDebugWrapper 2025-04-16 17:22:44 +02:00
M1nd3r
b4fa00f56a fix: style 2025-04-16 17:22:44 +02:00
M1nd3r
5d755c82ff chore(tests): improve stability of tests 2025-04-16 17:22:44 +02:00
M1nd3r
a9b8525f96 wip 2025-04-16 17:22:44 +02:00
M1nd3r
f08d65eb43 wip 2025-04-16 17:22:44 +02:00
M1nd3r
5dbe45f3cf fixup! wip 2025-04-16 17:22:44 +02:00
M1nd3r
8e6d66d1ea fix style and errors 2025-04-16 17:22:44 +02:00
Martin Milata
39d28af59f fixup! chore(tests): adapt testing framework to session based [no changelog] 2025-04-16 17:22:44 +02:00
M1nd3r
bc89c4916b chore(core): adapt emu.py to the new trezorlib
[no changelog]
2025-04-16 17:22:04 +02:00
Martin Milata
627e3abc9a fix(tests): clear pin sequence when exiting with block 2025-04-16 17:22:04 +02:00
Martin Milata
3cd92f1f1a fix(tests): record actual_responses for session init 2025-04-16 17:22:04 +02:00
Martin Milata
90632199e9 refactor(tests): move set_input_flow to SessionDebugWrapper context manager
[no changelog]
2025-04-16 17:22:04 +02:00
M1nd3r
dfc8d7f2f5 chore(python): session passphrase rework 2025-04-16 17:19:53 +02:00
Martin Milata
ed4c3e4712 fix(python): simplify UI callbacks 2025-04-16 17:19:53 +02:00
Martin Milata
bd450a5564 fix(python): transport handling with sessions
[no changelog]
2025-04-16 17:19:53 +02:00
Martin Milata
9168b30b8f test(core): remove dead code 2025-04-16 17:19:53 +02:00
M1nd3r
0c29ee08f1 feat(python): implement session based trezorlib
Co-authored-by: mmilata <martin@martinmilata.cz>
2025-04-16 17:19:44 +02:00
Lukas Bielesch
3f0e772122 chore(eckhart): update trace function for firmware components 2025-04-16 17:11:08 +02:00
Lukas Bielesch
25345d07d3 feat(tests): eckhart tests
add Eckhart screen buttons
rename passphrase click test file + fixtures
eckhart click tests
eckhart persistance tests
eckhart device tests
skip tests for unimplemented features
2025-04-16 17:11:08 +02:00
obrusvit
8cb0cbcfe5 fix(tests): handle layout-specific translations 2025-04-16 17:11:07 +02:00
obrusvit
3a7e275fce feat(eckhart): initial commit
- build
- directory structure
- bootloader UI and assets copied from delizia
- FirmwareUI trait functions are empty
- Python layout functions are copied from delizia except some of more
complicated ones which raise NotImplemented for now
2025-04-16 17:11:06 +02:00
Roman Zeyde
f43954e672 test(python): don't send extra InitDevice and EndSession during setup
[no changelog]
2025-03-18 17:45:34 +02:00
matejcik
2e72a8ce1b fix(python/debuglink): time out after waiting for empty-state response
...avoiding a problem where, if the timing is unfortunate, the reply may
get lost when a workflow is ending

(cherry picked from commit 3056b4934e)

[no changelog]
2025-03-17 20:16:14 +02:00
Lukas Bielesch
17603ffe41 refactor(python): move Screen Buttons to debuglink 2025-03-12 14:34:25 +01:00
Roman Zeyde
061e71213e test(core): don't fetch full DebugLinkState by default
In case the main workflow is restarting after a `DebugLinkDecision`,
sending the response of `DebugLinkGetState` may get interrupted.

We are making the state fetching explicit, in order to avoid the
"restart" race condition (as described in #4401).

Following the above change, text-based layout recording is removed.

[no changelog]
2025-02-07 11:21:44 +01:00
Roman Zeyde
7ee1259aaa refactor(core): use layout name for translation font keys
It would simplify `TranslationsDir.load_lang` method.

[no changelog]
2025-01-22 10:41:35 +02:00
obrusvit
00740b560c refactor(core): consistent naming of UI layouts
- follow-up on 862c987779
- layout_bolt stays the same
- layout_samson -> layout_caesar
- layout_quicksilver -> layout_delizia
- use super for importing rust modules in layout code

[no changelog]
2025-01-20 12:29:24 +01:00
matejcik
79cc7a9693 style(python): improve type hints for input flows 2025-01-17 11:28:12 +01:00
matejcik
6a5836708f refactor(python): replace usages of @expect 2025-01-17 11:28:12 +01:00
obrusvit
862c987779 refactor(core): consistent naming of UI layouts
- UI layouts name changes:
  - model_tt -> layout_bolt
  - model_tr -> layout_samson
  - model_mercury -> layout_quicksilver
- rust features `model_xyz` freed for different use, now it's
`layout_xyz`
- input_flow function names are based on UI layout and not internal
model name (i.e. quicksilver instead of t3t1)
- directory names and commentary changed accordingly

[no changelog]
2025-01-09 22:57:14 +01:00
matejcik
dd770ba715 fix(python): do not take legacy snapshots on PinRequest and PassphraseRequest
legacy < 1.11.0 will never answer those because PinRequest and
PassphraseRequest block waiting for PinAck / PassphraseAck over wirelink
and ignore debuglink
2024-11-12 16:55:17 +01:00
matejcik
dfac2ae4dd style(python): upgrade debuglink.py to 3.10 style type annotations 2024-11-12 16:55:17 +01:00
matejcik
3a8f92f64d tests(core): fix upgrade tests 2024-11-12 16:55:17 +01:00
matejcik
8d2f0a6566 style: make style_check passing 2024-11-12 16:55:17 +01:00
matejcik
ef90546324 fix(python): opportunistically catch a debuglink desync
In certain cases a DebugLinkState response can get stalled and debuglink
will not read it -- i.e., a situation analogous to wirelink de-sync.
There doesn't seem to be a good way to force-sync debuglink the same way
wirelink does it, but we can detect a wrong response to a
DebugLinkGetState and skip it.
2024-11-12 16:55:17 +01:00
matejcik
b48c36c2bf fix(python): improve robustness of TrezorClientDebugLink setup
* improve sync_responses to work on uninitialized instance
* sync responses at construction time
2024-11-12 16:55:17 +01:00
matejcik
d385667b4a fix(tests): restore test functionality on legacy
The global layout related changes were wrong for T1 where debuglink
behavior is significantly different; in particular, it is not always
possible to communicate over debuglink.

This change reverts to the old behavior for T1B1 and keeps the new one
only for core-based models.
2024-11-12 16:55:17 +01:00
matejcik
11ae7a92ab style: fix complaining lints & formatters 2024-11-12 16:55:17 +01:00
matejcik
0e8dcbb498 feat(core): unify RustLayout, implement single global layout 2024-11-12 16:55:17 +01:00
matejcik
6506b02e2e feat(python/debuglink): introduce layout type awareness
[no changelog]
2024-09-11 12:59:04 +02:00
matejcik
21988d6ef4 style(python): fix flake8 warning on python 3.12
[no changelog]
2024-08-29 10:56:21 +02:00
Andrew Kozlik
b6b1ad8825 feat(python): Implement DebugLinkOptigaSetSecMax. 2024-07-09 16:52:50 +02:00
matejcik
863435cc9d feat(python/debuglink): make input flows part of the traceback 2024-06-06 14:00:13 +02:00
Martin Milata
8c9f5ebbca tests(core): fix T3T1 default flow 2024-06-06 14:00:13 +02:00
obrusvit
5bd6996ae4 feat(core/ui): show success screens between shares
This commit also adds minor improvements to reset flow.

[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
38b0361ded test(core/ui): fix bitcoin signtx for T3T1 2024-05-31 11:59:52 +00:00
Martin Milata
b1c670090a feat(python): more compact debuglink logging
[no changelog]
2024-04-09 12:10:17 +00:00
Martin Milata
73a7223e7b test(core): add T3T1 support
[no changelog]
2024-03-12 20:55:23 +00:00