1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-30 03:18:20 +00:00
Commit Graph

13814 Commits

Author SHA1 Message Date
M1nd3r
7f503ce199 refactor(trezorlib): improve transport protocol file structure
[no changelog]
2024-10-16 16:23:47 +02:00
M1nd3r
594ec26fa7 chore(trezorlib): clean trezolib THP, part 1
[no changelog]
2024-10-16 16:23:47 +02:00
M1nd3r
386595cab2 chore(trezorlib): remove unused code
[no changelog]
2024-10-16 16:23:47 +02:00
M1nd3r
bfc6431cff chore(tests): replace function uninitialized_session in conftest by a pytest.marker
[no changelog]
2024-10-16 16:23:47 +02:00
M1nd3r
e80bfca6cd chore(core): separate message types of THP messages into new enum and update parsing
[no changelog]
2024-10-16 16:23:47 +02:00
M1nd3r
c6ba01b347 chore(protobuf): move options defintions to a separate file to reduce dependecies
[no changelog]
2024-10-16 16:23:47 +02:00
M1nd3r
571898bc0f chore(trezorlib): adjust benchmark feature for THP
[no changelog]
2024-10-16 16:23:46 +02:00
M1nd3r
b4689a1191 feat(core): implement a new Trezor-Host protocol 2024-10-16 16:23:46 +02:00
Martin Milata
01b0c702f0 fixup! feat(core): unify RustLayout, implement single global layout 2024-10-16 16:23:46 +02:00
matejcik
8867ca8d5e fixup! fixup! docs(core): Layout lifecycle documentation 2024-10-16 16:23:46 +02:00
matejcik
733b2ed216 fixup! feat(core): unify RustLayout, implement single global layout 2024-10-16 16:23:46 +02:00
matejcik
909164eeaf fix(tests): fix persistence tests, enable T3B1 2024-10-16 16:23:46 +02:00
matejcik
675adc03a6 fixup! chore: update fixtures 2024-10-16 16:23:46 +02:00
matejcik
5b5715a09d fixup! docs(core): Layout lifecycle documentation 2024-10-16 16:23:46 +02:00
matejcik
c07d37c822 style: make style_check passing 2024-10-16 16:23:46 +02:00
matejcik
106587dfb9 chore: update fixtures 2024-10-16 16:23:46 +02:00
matejcik
eed71f812a style(core/rust): fix linter complaints 2024-10-16 16:23:46 +02:00
matejcik
8e26276b22 fix(core): restore ellipsis functionality on TR 2024-10-16 16:23:46 +02:00
matejcik
b66bce5815 fix(tests): correctly check that backup flow was aborted 2024-10-16 16:23:46 +02:00
matejcik
a0d3a1b552 fix(tests): do not place recorded.zip into the destdir
instead, download it to a temp location, as the Prophecy (and authors of
urlretrieve) foretold
2024-10-16 16:23:46 +02:00
matejcik
eb8045ffb8 fix(core): fix cancel behavior in SignMessage 2024-10-16 16:23:46 +02:00
matejcik
6d48bbd2aa fix(tests): do not trip deadlock detection in autolock test 2024-10-16 16:23:46 +02:00
matejcik
2bf26ffc87 chore: update fixtures 2024-10-16 16:23:46 +02:00
matejcik
495dca10da chore(core/rust): add uDebug capability to more places 2024-10-16 16:23:46 +02:00
matejcik
ede3c95c3f 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-10-16 16:23:46 +02:00
matejcik
c22dc2ffc4 style: fix style problems 2024-10-16 16:23:46 +02:00
matejcik
7ef1ce7b4b style(core/rust): avoid unused warning 2024-10-16 16:23:46 +02:00
matejcik
6c218d8d6c fix(tests): stop waiting for background task after a timeout
Otherwise a test can hang if the result is not returned. This is not
even covered by pytest-timeout because if a test fails, the call to
task.kill() happens during teardown, and pytest-timeout doesn't cover
that.
2024-10-16 16:23:46 +02:00
matejcik
38395c16ce chore(python): improve recovery type deprecation warning 2024-10-16 16:23:46 +02:00
matejcik
84292a66b4 fix(python): improve robustness of TrezorClientDebugLink setup
* improve sync_responses to work on uninitialized instance
* sync responses at construction time
2024-10-16 16:23:46 +02:00
matejcik
526bd8afff fix(core): allow Ping while locked
same behavior as on Trezor One
2024-10-16 16:23:46 +02:00
matejcik
dd7f5289e2 feat(core): drop support for after-step-hook
This was necessary for hooking display.refresh() with the old UI toolkit.
With the new one, we explicitly refresh the display after every paint, so
implicit after-step refresh seems no longer necessary.
2024-10-16 16:23:46 +02:00
matejcik
adaf0b7871 refactor(core/ui): reusable timers 2024-10-16 16:23:46 +02:00
matejcik
3de77db2b8 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-10-16 16:23:46 +02:00
matejcik
7578f77ce8 feat(tests): sync received responses
to prevent "unexpected response to Initialize" errors
2024-10-16 16:23:46 +02:00
matejcik
2869c805d2 docs(core): add changelog 2024-10-16 16:23:46 +02:00
matejcik
c6bd058db3 style: fix complaining lints & formatters 2024-10-16 16:23:46 +02:00
matejcik
fe7ceeec4b fix(core): correctly repaint ShowMore component when requested 2024-10-16 16:23:46 +02:00
matejcik
33a200a0e9 tests: fix small irregularities 2024-10-16 16:23:45 +02:00
matejcik
ad96676f18 refactor(core): improve recovery_enter_share 2024-10-16 16:23:45 +02:00
matejcik
83d2fd4832 tests: use read_layout everywhere 2024-10-16 16:23:45 +02:00
matejcik
9aa2c6123a docs(core): Layout lifecycle documentation 2024-10-16 16:23:45 +02:00
matejcik
fcc5658221 feat(core): show progress before starting to wipe device
This doesn't actually advance the progress while device erase is ongoing, but at least the user sees a loader.
2024-10-16 16:23:45 +02:00
matejcik
f86bdca4b7 fix(core/ui): repaint the title of Progress layout when requested 2024-10-16 16:23:45 +02:00
matejcik
df6483c269 feat(core): unify RustLayout, implement single global layout 2024-10-16 16:23:45 +02:00
matejcik
532d461a02 refactor(core/rust): introduce layout lifecycle states on Rust side 2024-10-16 16:23:45 +02:00
matejcik
e7bc73bebc refactor(core/ui): improve LayoutObj initialization
* RequestPaint message is sent at construction time to force calculation
  of number of pages
* given that Attach corresponds to "start the layout" message, Child now
  responds to Attach the same way it responds to RequestPaint, by
  force-repainting everything.
2024-10-16 16:23:45 +02:00
matejcik
027a6ce8f0 build(core): fix random order seed when using zsh 2024-10-16 16:23:45 +02:00
matejcik
bddcfa0878 fix(core): set default value for do_not_restart
otherwise if _handle_single_message raises an exception (which is
fortunately not something that should generally happen), the
finally-block would fail on "referenced before assignment"
2024-10-16 16:23:45 +02:00
matejcik
9d834d2ec7 feat(core): add mailbox as a simplified version of chan 2024-10-16 16:23:45 +02:00