1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-25 07:48:10 +00:00
Commit Graph

77 Commits

Author SHA1 Message Date
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
matejcik
5f016a896a chore: upgrade style checkers
black 24.2.0
flake8 7.0.0

some neat improvements for if-else statements there
2024-02-29 13:08:18 +01:00
obrusvit
e2b7244383 Rename trezorctl self-test to prodtest-t1.
It was confusing for trezorctl users. The new name clearly signals that
it's meant to work only for Model One.
2024-02-22 11:47:26 +01:00
matejcik
519e591d91 chore(python): deprecate language setting in apply_settings / reset / recover 2024-02-12 14:49:32 +01:00
Martin Milata
0c5836605f fix(tests): Safe 3 model name
[no changelog]
2023-10-12 11:31:57 +02:00
grdddj
65c9380ab7 feat(core): triggering delete action in ChoicePage after 1 second even without release
[no changelog]
2023-09-26 08:07:32 +02:00
matejcik
821d70dd8d style(python): implement isort 5 for trezorlib
[no changelog]
2023-08-16 13:29:51 +02:00
grdddj
c97c515718 chore(tests): increase the number of asserts of screen content in input flows
Done to make tests more readable and so that they fail at the right spot when something changes

[no changelog]
2023-07-28 09:41:04 +02:00
grdddj
0a4b7eb06f fix(tests): fix unstable UI in test_busy_expiry testcase
Asserting the device comes back to Homescreen, so the UI result is always the same
(when it does not get there, the assert will fail and the test will rerun).

[no changelog]
2023-07-20 10:02:11 +02:00
grdddj
03f77c50e9 feat(core/rust): new design of wallet creation dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
672d6b7d13 feat(core): new design of PIN dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
Martin Milata
46f9e898ca fix(core/ui): padding when backing up mnemonic words
[no changelog]
2023-06-02 18:47:09 +02:00
grdddj
da14c22712 feat(all): add UI for Model R 2023-05-31 10:14:54 +02:00
grdddj
bd6783b1a3 feat(all): increase stability of debug-decision events + parsing JSON from Rust 2023-05-11 21:02:21 +02:00
grdddj
abeb34454c feat(python): use DebugLinkRecordScreen.refresh_index when restarting emulator
During each restart, Emulator will transfer the original screen-recording directory
to the new emulator/client and will change the refresh_index so that older screenshots
are not being overwritten by new ones.

[no changelog]
2023-04-11 15:15:44 +02:00
matejcik
606518d80e tests: test behavior of USB-ignoring autolock
[no changelog]
2023-04-07 19:44:32 +02:00
Martin Milata
c100358ce2 fix(core/ui): don't send ButtonRequest when displaying GetAddress QR code
[no changelog]
2023-04-03 17:57:18 +02:00
matejcik
80af1c552e feat(tests): seemingly stable workaround for the wait_layout instability
[no changelog]
2023-03-21 12:47:28 +01:00
Martin Milata
483c7a6342 chore(python): debuglink: wait for swipe
[no changelog]
2023-03-09 23:36:36 +01:00
Martin Milata
4af5939a0b feat(core/ui): redesigned receive flow
[no changelog]
2023-03-09 23:36:36 +01:00
grdddj
491a8523bc feat(tests): allow for saving text layout of all screens during UI tests
[no changelog]
2023-02-03 16:51:14 +01:00
matejcik
508b6a87e6 fix(tests): ensure the client is open when stopping screen recording
[no changelog]
2023-02-02 12:40:39 +01:00
grdddj
dc22f98aed chore(python): better static typing for debuglink and emulator
[no changelog]
2022-11-21 14:08:47 +01:00
grdddj
e9a1bcc951 feat(python): add debuglink helpers to get layout information 2022-11-21 14:08:47 +01:00
grdddj
e0693d3a55 feat(python): add trezorctl possibility to record screen changes 2022-10-12 13:44:53 +02:00
matejcik
455884932e fix(python): do not implicitly import PIL by trezorctl 2022-06-30 14:57:25 +02:00
grdddj
3d505874aa feat(ci): create pyright tool and include it in CI
[no changelog]
2022-03-02 15:43:50 +01:00
grdddj
58fb6c77a7 feat(python): add screenshotting capability for T1 in Debuglink 2022-02-17 11:05:55 +01:00
Andrew Kozlik
ba4f046d6f feat(common): Add INFO button to DebugLinkDecision.
[no changelog]
2022-01-27 13:15:04 +01:00
matejcik
38fca4a83d chore(python): regenerate GNU copyright headers 2021-12-07 16:55:58 +01:00
matejcik
a2a8cc88d9 feat(python): make the protobuf mappings overridable 2021-12-07 16:55:58 +01:00
grdddj
1a0b590914 feat(python): add full type information
WIP - typing the trezorctl apps

typing functions trezorlib/cli

addressing most of mypy issue for trezorlib apps and _internal folder

fixing broken device tests by changing asserts in debuglink.py

addressing most of mypy issues in trezorlib/cli folder

adding types to some untyped functions, mypy section in setup.cfg

typing what can be typed, some mypy fixes, resolving circular import issues

importing type objects in "if TYPE_CHECKING:" branch

fixing CI by removing assert in emulator, better ignore comments

CI assert fix, style fixes, new config options

fixup! CI assert fix, style fixes, new config options

type fixes after rebasing on master

fixing python3.6 and 3.7 unittests by importing Literal from typing_extensions

couple mypy and style fixes

fixes and improvements from code review

silencing all but one mypy issues

trial of typing the tools.expect function

fixup! trial of typing the tools.expect function

@expect and @session decorators correctly type-checked

Optional args in CLI where relevant, not using general list/tuple/dict where possible

python/Makefile commands, adding them into CI, ignoring last mypy issue

documenting overload for expect decorator, two mypy fixes coming from that

black style fix

improved typing of decorators, pyright config file

addressing or ignoring pyright errors, replacing mypy in CI by pyright

fixing incomplete assert causing device tests to fail

pyright issue that showed in CI but not locally, printing pyright version in CI

fixup! pyright issue that showed in CI but not locally, printing pyright version in CI

unifying type:ignore statements for pyright usage

resolving PIL.Image issues, pyrightconfig not excluding anything

replacing couple asserts with TypeGuard on safe_issubclass

better error handling of usb1 import for webusb

better error handling of hid import

small typing details found out by strict pyright mode

improvements from code review

chore(python): changing List to Sequence for protobuf messages

small code changes to reflect the protobuf change to Sequence

importing TypedDict from typing_extensions to support 3.6 and 3.7

simplify _format_access_list function

fixup! simplify _format_access_list function

typing tools folder

typing helper-scripts folder

some click typing

enforcing all functions to have typed arguments

reverting the changed argument name in tools

replacing TransportType with Transport

making PinMatrixRequest.type protobuf attribute required

reverting the protobuf change, making argument into get_pin Optional

small fixes in asserts

solving the session decorator type issues

fixup! solving the session decorator type issues

improvements from code review

fixing new pyright errors introduced after version increase

changing -> Iterable to -> Sequence in enumerate_devices, change in wait_for_devices

style change in debuglink.py

chore(python): adding type annotation to Sequences in messages.py

better "self and cls" types on Transport

fixup! better "self and cls" types on Transport

fixing some easy things from strict pyright run
2021-11-26 16:28:49 +01:00
matejcik
2a2da21879 fix(python/debuglink): fix formatting for expected messages
This was broken by the previous commit removing f-strings. For this
reason, `format()` was renamed to `to_string` to make it clearer that
it's not the `str.format` method.
2021-11-10 13:57:57 +01:00
amadejpapez
85ba7c12ba style(all): use f-strings for formatting
[no changelog]
2021-10-13 11:53:17 +02:00
matejcik
92e9d61e24 feat(python/debuglink): reset_debug_features to reconfigure debuglink 2021-08-04 10:58:59 +02:00
matejcik
b3312d1ef7 fix(tests): set_filter must be used in with-block
This makes sure filters are properly cleared when the with-block exits
2021-08-04 10:58:59 +02:00
matejcik
f8bb90366a fix(tests): auto-swipe by using only ButtonRequest.pages 2021-07-09 21:01:07 +02:00
matejcik
d047c98cb2 feat(python/debuglink): auto-page on pageable screens 2021-06-22 11:25:12 +02:00
matejcik
4f0aca7bb5 feat(python): pass whole ButtonRequest to button_request UI handler 2021-06-22 11:25:12 +02:00
matejcik
ea2a9375ac feat(python/debuglink): streamline expected responses handling [no changelog] 2021-06-22 11:25:12 +02:00
matejcik
a58823cc0c refactor(python): rework trezorlib protobuf codec
API-compatibility with the original one is retained.

Now that we don't need to keep code parity with core, we could do some
changes that make life easier.

All generated classes are now in one file. This makes github diffs more
readable, at the cost of somewhat complicating inspecting individual
classes; however, that is something we shouldn't be doing anyway.

Enums are now implemented as enum.IntEnum.

The original class-level FIELDS member was restored.

Each field is now defined via protobuf.Field, which is easier to work
with in the codec, AND we're not stuffing defaults and flags into the
same field.
2021-06-08 09:55:19 +02:00
matejcik
cb7152542d feat: drop DebugLinkShowText functionality 2021-03-18 10:59:51 +01:00
Martin Milata
192d0dcf87 feat(core): hold homescreen to lock 2021-02-24 00:10:10 +01:00
Martin Milata
8fd12f4373 fix(tests): run test_softlock_instability on emulator only 2020-12-01 12:35:11 +01:00
matejcik
3d6d1a56ac feat(python): implement API compatibility with trezorlib 0.12 2020-10-30 10:25:51 +01:00
matejcik
08d896f2f9 chore(tests): update to kwargs usage and new btc.sign_tx API 2020-09-23 16:00:10 +02:00
matejcik
a14634c389 python: make PIL optional in the toif module, add size check 2020-08-25 13:17:08 +02:00
matejcik
741fca0156 tests: watch_layout must be explicit (fixes #1142) 2020-07-29 11:50:47 +02:00
matejcik
6f53ca0ac6 core: rework wait_layout()
The original wait_layout was unreliable, because there are no guarantees
re order of arrival of the respective events. Still, TT's event handling
is basically deterministic, so as long as the host sent its messages
close enough to each other, the order worked out.

This is no longer the case with the introduction of loop.spawn: TT's
behavior is still deterministic, but now ButtonAck is processed *before*
the corresponding wait_layout, so the waiting side waits forever.

In the new process, the host must first register to receive layout
events, and then receives all of them (so the number of calls to
wait_layout must match the number of layout changes).

DebugLinkWatchLayout message must be version-gated, because of an
unfortunate collection of bugs in previous versions wrt unknown message
handling; and this interests us because upgrade-tests are using
wait_layout feature.
2020-06-04 16:18:46 +02:00