1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-20 13:38:11 +00:00
Commit Graph

1608 Commits

Author SHA1 Message Date
Roman Zeyde
6f28b96733 test(core): collect GC statistics via new debug RPC
[no changelog]
2025-06-10 12:16:12 +03:00
obrusvit
018330f3c2 chore(eckhart): remove hold to lock animation
- hold to lock animation will not be used on the Homescreen
- the locking functionality is kept for debug purposes and is increased
to 3 seconds

[no changelog]
2025-06-09 17:59:47 +02:00
obrusvit
2dfae34b39 fix(eckhart): aligned screen border top arc
[no changelog]
2025-06-09 17:09:19 +02:00
Lukas Bielesch
8cfa6a3693 chore(eckhart): update shamir wallet creation
[no changelog]
2025-06-09 08:52:32 +02:00
Lukas Bielesch
13a020202e chore(eckhart): update pin flows for Eckhart UI
[no changelog]
2025-06-08 18:19:32 +02:00
obrusvit
7730e4c63b feat(eckhart): map foreign glyphs fonts
[no changelog]
2025-06-07 16:44:19 +02:00
Ioan Bizău
6a069797a9 chore(core/tests): update fixtures
[no changelog]
2025-06-06 15:34:22 +02:00
Roman Zeyde
f7e1444bba ci: re-add missing fixtures.result.json to UI report directory
Also, download multiple UI fixtures in parallel.

[no changelog]
2025-06-06 11:42:11 +03:00
Lukas Bielesch
d752da0a94 chore(tests): unify passphrase layout names between tests and fw 2025-06-05 23:59:19 +02:00
Lukas Bielesch
0bff79e0e9 chore(tests): check the correct keyboard category
[no changelog]
2025-06-05 23:59:19 +02:00
Lukas Bielesch
9494ba8896 fix(core/eckhart): fix passphrase keyboard bug
- when multi tab key timer expires, the buttons are resetted only if the passphrase reached the max length
- when the passphrase keyboard layout is swapped, the buttons are resetted
[no changelog]
2025-06-05 23:59:19 +02:00
Roman Zeyde
dbee0c615a ci(core+legacy): re-add main UI diff reports
Use a single HTML file to aggregate per-model/test reports.
Also, change a bit the final HTML report directory structure,
to allow each jobs to upload its results concurrently.

[no changelog]
2025-06-05 19:24:44 +03:00
Roman Zeyde
a0ab4963f0 fix(core): close previous homescreen before changing it
Otherwise, it will fail due to double `ImageBuffer` locking.

Also, add a test to reproduce the locking issue.

[no changelog]
2025-06-04 21:00:38 +03:00
Lukas Bielesch
3f14cd1d27 chore(eckhart): replace-by-fee update
[no changelog]
2025-06-04 12:47:50 +02:00
Lukas Bielesch
d91923b999 chore(core/eckhart): Update passphrase-related flows
[no changelog]
2025-06-03 18:59:37 +02:00
Roman Zeyde
c01b56a5a0 fix(core): Eckhart doesn't have a separate confirm page
[no changelog]
2025-06-03 18:10:35 +03:00
Ioan Bizău
98aa195443 fix(core/ui): confirm_output subtitle
[no changelog]
2025-06-03 15:06:29 +02:00
Lukas Bielesch
fea8031c96 chore(translations): drop turkish translations 2025-06-02 11:42:34 +02:00
Roman Zeyde
d0ca0fb9b2 chore(core): fix a small typo
[no changelog]
2025-06-01 14:31:43 +03:00
Roman Zeyde
97442ebd45 test(core): xfail test_authenticate_device on unlocked bootloader
[no changelog]
2025-05-30 19:41:23 +03:00
obrusvit
341cc54071 chore: regenerate langs/signatures/qstr/fixtures 2025-05-30 17:38:16 +02:00
obrusvit
1efdad0aab feat(eckhart): port recent functionaliy
- ETH approve, #4958
- success screens after BR, #4882 and #5068
- do not confirm known SOL token, #5086
- fail on text overflow, #4767
2025-05-30 17:38:16 +02:00
obrusvit
482b442c8e feat(eckhart): remove label shadow on default hs 2025-05-30 17:38:16 +02:00
Lukas Bielesch
a57fc3f8ed feat(core): update number input screen
- add time-handling functions
- add option to show time units
- add hold functionality to increment/decrement buttons
- add new device-menu actions
2025-05-30 17:38:16 +02:00
Lukas Bielesch
b8f018a419 fix(eckhart): fix failing tests: homescreen, fido, solana 2025-05-30 17:38:16 +02:00
Lukas Bielesch
459f851779 feat(eckhart): implement missing eckhart tests and flows 2025-05-30 17:38:16 +02:00
Lukas Bielesch
c66b435212 fix(eckhart): fix unstable click tests
- Differentiate input vectors for Eckhart due to different screen size
- paginate, where possible
2025-05-30 17:38:16 +02:00
Lukas Bielesch
da319daccb chore(eckhart): update get_address flow to use xpubs
- remove line ending hyphens from mono fonts
- update test to scroll through an entire page
2025-05-30 17:38:16 +02:00
Lukas Bielesch
11d780a337 feat(eckhart): add FIDO2 support
- enable vertical menu swipe without animations
- FidoCredential component, confirm_fido flow and icons
- Fix show_error action bar and header colors
- Implement AllowedTextContent for FidoCredential
- Add new return type for VerticalMenuScreen
- provide short and long vertical menu
2025-05-30 17:38:16 +02:00
Lukas Bielesch
b3a114ee67 chore(eckhart): Implement new struct for word-selection menu
This simplifies the implementation of the verical menu
2025-05-30 17:38:16 +02:00
Lukas Bielesch
7e7015734d core(eckhart): Update Vertical Menu
Leave event processing to the Vertical Menu
Disable scrolling when the menu fits the screen
2025-05-30 17:38:16 +02:00
obrusvit
ae02d77852 feat(eckhart): use gradients in ActionBar 2025-05-30 17:38:16 +02:00
obrusvit
6a208e9efa feat(eckhart): gradient buttons 2025-05-30 17:38:16 +02:00
obrusvit
19b116894e feat(eckhart): improve confirmations 2025-05-30 17:38:16 +02:00
Lukas Bielesch
3f1b5a9e28 chore(eckhart): minor improvements
- update trace function for firmware components
- add missing button requests
- update get address flow
- require long press to lock even with disabled animations
2025-05-30 17:38:16 +02:00
Lukas Bielesch
5fa68d15a3 chore(automation): enable T3W1 CI jobs and 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-05-30 17:38:16 +02:00
obrusvit
62933d2d62 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-05-30 17:38:16 +02:00
Ioan Bizău
e69650d63e chore(core): update fixtures
[no changelog]
2025-05-28 11:18:00 +02:00
Roman Zeyde
d52d4655d5 fix(core): don't confirm known Solana tokens' details 2025-05-27 15:32:15 +03:00
obrusvit
0cd64d6a08 fix(core): fix Caesar PinEntry to use Title
- Title component uses Marquee internally which scrolls longer prompt
texts
- this fixes e.g. czech translations not fitting the screen
2025-05-26 01:32:55 +02:00
Ioan Bizău
b036345c5c feat(caesar): implement show_danger
[no changelog]
2025-05-23 14:31:11 +02:00
Ioan Bizău
8a5f599522 Merge branch 'release/25.05' into ibz/merge-release-25.05 2025-05-23 11:05:50 +02:00
Roman Zeyde
1bdc48a73f feat(core): add success screen to transactions' signature flow 2025-05-22 16:22:04 +03:00
Roman Zeyde
946fc89449 feat(core): send address & public key response before showing StatusScreen
Co-authored-by: matejcik <ja@matejcik.cz>
2025-05-21 16:37:38 +03:00
Ioan Bizău
807b2eccc4 chore(core): update fixtures
[no changelog]
2025-05-21 11:54:21 +02:00
Ioan Bizău
0ba8173424 feat(core): introduce a flow for ethereum approve 2025-05-21 11:54:21 +02:00
Ioan Bizău
c275b5d995 feat(tests/ui_tests): collapse unchanged screenshots in UI diff
[no changelog]
2025-05-20 15:32:37 +02:00
Roman Zeyde
e8653c5009 test(core): deflake passphrase-related tests
Currently, `PassphraseKeyboard` is shown after `request_passphrase_on_host()`
layout, so in in order to avoid a race condition[^1][^2], an explicit
synchronization was added.

[no changelog]

[^1]: https://github.com/trezor/trezor-firmware/actions/runs/14999904818/job/42144246518?pr=5037
[^2]: https://github.com/trezor/trezor-firmware/actions/runs/15067093253/job/42354594590?pr=5041
2025-05-20 14:16:43 +03:00
Roman Zeyde
e98ea83230 chore(core): rename "via-host" and "via-device" repeated backup tests
[no changelog]
2025-05-19 14:46:13 +03:00
Roman Zeyde
c7d1104793 test(core): explicitly confirm backup success
[no backup]
2025-05-19 14:46:13 +03:00
Roman Zeyde
05f951784e fix(core): fix tutorial-related translations 2025-05-19 14:45:30 +03:00
Roman Zeyde
7ebb00ff55 fix(core): handle DebugLink.input_wait_type when return_empty_state is set
Also, simplify `tests/upgrade_tests/recovery_old.py`.

[no changelog]
2025-05-16 11:57:55 +02:00
Martin Milata
2f622df974 chore: update fixtures
[no changelog]
2025-05-14 23:57:03 +02:00
Martin Milata
241fcc0044 feat(core): homescreen streaming
[no changelog]
2025-05-14 23:57:03 +02:00
Martin Milata
846dd3b934 refactor(common/protob): rename TranslationDataRequest to DataChunkRequest
[no changelog]
2025-05-14 23:57:03 +02:00
Martin Milata
a04525c6de feat(core): add Capability.BLE to Features 2025-05-13 10:48:13 +02:00
Roman Zeyde
3a7850f6a0 chore: remove BNB Beacon Chain support 2025-05-13 09:04:48 +03:00
obrusvit
2a65d18200 fix(core): fix Delizia request_number dialog
- NumberInputDialog now reacts to tap to continue
- change the types there to u16 to be consistent with NumberInputSlider

(cherry picked from commit 8ba5b4b6b2)
2025-05-06 08:45:16 +02:00
Roman Zeyde
5f2cf6b24e fix(core): update UI fixtures
Following #5003.

[no changelog]

(cherry picked from commit 2882e20e6b)
2025-05-06 08:42:34 +02:00
Roman Zeyde
2882e20e6b fix(core): update UI fixtures
Following #5003.

[no changelog]
2025-05-05 21:31:07 +03:00
obrusvit
8ba5b4b6b2 fix(core): fix Delizia request_number dialog
- NumberInputDialog now reacts to tap to continue
- change the types there to u16 to be consistent with NumberInputSlider
2025-05-05 14:58:36 +02:00
Ioan Bizău
d0741a8aed chore(legacy): update fixtures 2025-04-29 19:45:46 +02:00
Andrew Kozlik
87590b1bda feat(tests): Entropy check workflow tests for T1. 2025-04-29 19:45:46 +02:00
Roman Zeyde
0729da9ccf fix(legacy): use GWei when ETH amount is between 1e6 and 1e12 2025-04-29 17:25:06 +02:00
Ioan Bizău
38f51f40b2 chore(core/ui): use better font on Delizia properties
[no changelog]
2025-04-29 16:09:28 +02:00
matejcik
dea1cf2bf8 chore: update fixtures for translations 2025-04-29 14:54:41 +02:00
matejcik
17990e1c80 style: fix linter complaints 2025-04-29 14:54:41 +02:00
matejcik
3e9b29cd67 fix(tests): update test string for invalid definitions
[no changelog]
2025-04-29 14:54:41 +02:00
matejcik
c8d129700e chore: update fixtures 2025-04-29 14:54:41 +02:00
matejcik
e4e6d60e64 refactor(core/solana): restructure programs.json and related code 2025-04-29 14:54:41 +02:00
Eugene Rossokha
c1e4ff7468 test: test solana loadable tokens 2025-04-29 14:54:41 +02:00
matejcik
cc78717032 refactor(tests): move Ethereum definitions helpers to a common file 2025-04-29 14:54:41 +02:00
Eugene Rossokha
1d444c3845 fix(core): add display_name for missing token_mint 2025-04-29 14:54:41 +02:00
obrusvit
cdc08d1075 feat(delizia): homescreen improvements
- dim inner logo
- show "Unlocked" on Homescreen under device name
- show instruction "Continue in the app"
- register "Tap to unlock" gesture in the middle similarly to "Tap to
confirm". Tapping outside shows the label on lockscreen
- play haptic on "Tap to unlock"
2025-04-29 12:52:05 +02:00
Roman Zeyde
66d144a763 feat(legacy): confirm ETH stake, unstake and claim transactions 2025-04-29 12:57:20 +03:00
obrusvit
be3a7cec62 chore(core): shorten some foreign copy
- shorten some strings related to reset/recovery flows of Delizia

[no changelog]
2025-04-28 19:53:43 +02:00
obrusvit
0f140466ed fix(tests): handle layout-specific translations
[no changelog]
2025-04-25 18:00:28 +02:00
Roman Zeyde
569aee4ac1 test(core): don't force changing language if not needed
[no changelog]
2025-04-25 10:43:46 +03:00
Roman Zeyde
f89e7670c5 fix(core): update EIP-1559 fee-related labels
Translations will be updated in a separate PR.
2025-04-18 20:29:47 +03:00
Roman Zeyde
29b40e4d7c test(core): don't stop tests in case of communication failure
[no changelog]
2025-04-16 12:30:39 +03:00
Lukas Bielesch
e5401f5544 feat(tests): add missing delizia tests
check shares info in advanced recovery
2025-04-16 00:54:21 +02:00
matejcik
f6be9db382 ci: drop GitLab config and mentions 2025-04-15 14:50:45 +03:00
matejcik
a50e49afa9 chore(core): include T3B1 certificate for the emulator 2025-04-15 12:37:25 +02:00
Roman Zeyde
c2dd63a6bd chore(core): move core/prof into core/src/prof
It would allow interning profiling-related QSTRs in debug emulator builds.

[no changelog]
2025-04-14 22:40:52 +03:00
Roman Zeyde
16289c4ec9 test(core): keep logs in case of emulator failure
[no changelog]
2025-04-14 20:03:41 +03:00
Ioan Bizău
40756a0941 fix(core/ui): use "..." ellipsis in "show more" 2025-04-09 15:57:01 +02:00
Roman Zeyde
69ce947d71 test(core): automatically skip altcoin tests 2025-04-08 07:55:14 +03:00
Roman Zeyde
f436bcd6fa test(core): close _raw_client in case client() fixture fails
[no changelog]
2025-04-03 13:29:07 +03:00
Roman Zeyde
f1d3f835b8 chore(python): replace 'pytest-rerunfailures' with 'pytest-retry'
[no changelog]
2025-03-26 14:15:29 +02:00
obrusvit
98b35a5b34 chore(core/tests): invert UI diff colors
[no changelog]
2025-03-24 12:11:56 +01:00
obrusvit
079873ced7 feat(core): use newer version of Delizia fonts 2025-03-24 12:11:56 +01:00
Ioan Bizău
9b29cd2027 chore(core/tests): add green to UI diff
[no changelog]
2025-03-19 10:43:14 +01:00
Roman Zeyde
b07ed98ba4 test(core): allow saving verbose log into a file
[no changelog]
2025-03-19 10:28:17 +02:00
Roman Zeyde
abcbb5c2ab test(python): don't send ChangeLanguage during setup if not needed
[no changelog]
2025-03-18 17:45:34 +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
Roman Zeyde
611d74c1b3 fix(core): correct confirmation fonts in Bolt 2025-03-18 13:23:39 +02:00
Roman Zeyde
2f97b61870 fix(core): correct confirmation title on Caesar 2025-03-18 12:32:36 +02:00
matejcik
e1ce484ba7 feat(python): add a timeout argument to read() from transport
also take the opportunity to switch to new style typing annotations
syntax

[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
Lukas Bielesch
1eeab2ffd2 chore(tests): consolidate passphrase tests for delizia and bolt 2025-03-12 14:34:25 +01:00