17147 Commits

Author SHA1 Message Date
Andrew Kozlik
7dec396c2d feat(python): Ensure that Trezor provides Tropic signature when expected. 2026-02-11 13:50:15 +01:00
matejcik
e397ee5fcb fix(python): improve handling for CA blacklists/whitelists
* handle inability to download the allowlist
* prepare for blacklist that will be used for T3W1
2026-02-11 13:50:15 +01:00
matejcik
d7fce2ab15 docs(python): fix typo 2026-02-11 13:50:15 +01:00
matejcik
47c900be8d fix(python): fix BLE behavior on macos
* macOS does not have `client.pair()`, as documented in bleak docs. This
way we just ignore the NotImplementedError and everything Just Works(tm)
* installing firmware will fail on macos unless response=True. we don't
want to limit other OSes for that so we configure that with a top level
constant
2026-02-11 13:50:15 +01:00
matejcik
977402ec0e refactor(python): improve authenticity check
moving complexity around to a better siloed location, as a preparation
for adding new kinds of (PQ) cryptography
2026-02-11 13:50:15 +01:00
Ioan Bizău
afc88d25ea chore: update fixtures
[no changelog]
2026-02-11 14:47:23 +02:00
Ioan Bizău
78cb6b185b fix: tests
[no changelog]
2026-02-11 14:47:23 +02:00
Ioan Bizău
341ecd5276 fix: make total_amount nullable
[no changelog]
2026-02-11 14:47:23 +02:00
Ioan Bizău
40a37ffe6c chore: remove untranslated string
[no changelog]
2026-02-11 14:47:23 +02:00
Ioan Bizău
60294d4cd0 feat(delizia): back button on summary
[no changelog]
2026-02-11 14:47:23 +02:00
Ioan Bizău
3a8d869e91 refactor(core): improve PropertyType consistency
[no changelog]
2026-02-11 14:47:23 +02:00
Ioan Bizău
7e85413cea fix(delizia): show_properties layout consistency
before: you could call `show_properties` either with a string or with a
list of properties
 * if you would call it with a string it would use `ConfirmValue`
 * if you would call it with a list of properties, it would use
`ShowInfoParams` to show multiple properties

after:
 * if you call it with a list of properties that only has one property
it defaults to the same behaviour as the case when you call it with a
single string

[no changelog]
2026-02-11 14:47:23 +02:00
Ioan Bizău
4e018b3d2b feat(tests): keyboard shortcuts for UI diff
[no changelog]
2026-02-11 14:47:23 +02:00
tychovrahe
df2d0f0176 feat(core/prodtest): add command to check CRC status
[no changelog]
2026-02-10 13:51:13 +01:00
tychovrahe
d706b8c55f fix(core/prodtest): exclude the space before CRC value from its calculation
[no changelog]
2026-02-10 13:51:13 +01:00
dependabot[bot]
cad6d9798e chore(deps): bump protobuf from 6.32.0 to 6.33.5
Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 6.32.0 to 6.33.5.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

---
updated-dependencies:
- dependency-name: protobuf
  dependency-version: 6.33.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-10 11:42:43 +01:00
Roman Zeyde
c6564b0110 fix(core): include telemetry-related source in emulator builds
[no changelog]
2026-02-10 10:07:07 +01:00
dependabot[bot]
aea24a58af chore(deps-dev): bump wheel from 0.45.1 to 0.46.2
Bumps [wheel](https://github.com/pypa/wheel) from 0.45.1 to 0.46.2.
- [Release notes](https://github.com/pypa/wheel/releases)
- [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst)
- [Commits](https://github.com/pypa/wheel/compare/0.45.1...0.46.2)

---
updated-dependencies:
- dependency-name: wheel
  dependency-version: 0.46.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-09 13:55:34 +01:00
cepetr
fa6c5108e2 fix(core): fix double evaluation of status in TSH_CHECK_xxx
[no changelog]
2026-02-09 12:16:54 +01:00
cepetr
8aece50384 feat(core): increase default logging level to WARN
[no changelog]
2026-02-09 12:16:54 +01:00
cepetr
0c0a4d6fdb feat(core): add automatic logging in TSH_CHECK macros
[no changelog]
2026-02-09 12:16:54 +01:00
cepetr
a0bbfe819f refactor(core): improve app_loader error handling
[no changelog]
2026-02-09 12:16:54 +01:00
cepetr
ec392659fd refactor(core): simplify reconfiguration of MPU for systask
[no changelog]
2026-02-09 12:16:54 +01:00
cepetr
aed0378b67 feat(core): introduce TS_ACCES error code
[no changelog]
2026-02-09 12:16:54 +01:00
Roman Zeyde
34d382d46f chore(python): update click dependency versions
[no changelog]
2026-02-09 11:07:57 +01:00
Roman Zeyde
0edb43ec3e fix(python): restore TrezorClient.cancel() behaviour
It should only send `messages.Cancel()`, so the main flow will receive the `ActionCancelled` failure.

[no changelog]
2026-02-09 11:07:33 +01:00
Roman Zeyde
8cb7675d37 fix(python): fix trezorctl get-session for legacy
`TrezorConnection._version` wasn't set, so the command was failing with:
```
Traceback (most recent call last):
  File "./venv/bin/trezorctl", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "./venv/lib/python3.12/site-packages/click/core.py", line 1161, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./venv/lib/python3.12/site-packages/click/core.py", line 1082, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/rzeyde/src/trezor-firmware/python/src/trezorlib/cli/trezorctl.py", line 161, in invoke
    return super().invoke(ctx)
           ^^^^^^^^^^^^^^^^^^^
  File "./venv/lib/python3.12/site-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./venv/lib/python3.12/site-packages/click/core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./venv/lib/python3.12/site-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./venv/lib/python3.12/site-packages/click/decorators.py", line 45, in new_func
    return f(get_current_context().obj, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rzeyde/src/trezor-firmware/python/src/trezorlib/cli/trezorctl.py", line 361, in get_session
    if obj.features.model == "1" and obj.version < (1, 9, 0):
                                     ^^^^^^^^^^^
  File "/home/rzeyde/src/trezor-firmware/python/src/trezorlib/cli/__init__.py", line 280, in version
    if self._version is None:
       ^^^^^^^^^^^^^
AttributeError: 'TrezorConnection' object has no attribute '_version'. Did you mean: 'version'?
```

[no changelog]
2026-02-09 11:07:16 +01:00
PrisionMike
adf70c8e2f feat(tron): Clear sign some TRC20 transfers.
[no changelog]
2026-02-08 15:00:01 +05:30
Martin Pastyřík
8a1128a43b chore(tests): update UI fixtures
[no changelog]
2026-02-06 16:17:37 +01:00
Martin Pastyřík
589fd84b4b chore(core): remove double check when changing pin
[no changelog]
2026-02-06 16:17:37 +01:00
cepetr
b4a58ddebd fix(core): call SDL drawing function in kernel task context
[no changelog]
2026-02-06 09:49:58 +01:00
bleska
5ba0333910 feat(core): TS7 display refresh rate scaling and configuration optimization
In order to lower the power consumption in standard operation mode, the goal is to regulate the display refresh rate based on the current needs (animations - 60Hz, static images - 30 Hz).
 - Introduction of the on-the-fly refresh rate change functionality (interrupt based).

Configuration optimizations' investigations:
 - Since the display visible dimensions are 520x380 and the display controller doesn't support this resolution directly, the closest variant 520x480 is used with 50px offset. Changing the resolution used to 520x430 and shortening the HACT region by 50px effectivly increasing the blanking period.
 - Using RGB565 DSI color format, changing pixel clock to 15.5 MHz, changing HFP to 20 to maintain the 60 Hz refresh rate for the new pixel clock.
 - DSI lane byte clock vs LTDC pixel clock ratio (max, min) tests.
 - Etc. - different configuration profiles have been tested and TS7 input power consumption measured.

Formalizing the code to official one:
 - adding preprocessor definitions to panels' configuration header files
 - adding ifdefs to display_driver and display_fb source files to integrate the refresh rate scaling code based on panel's used
 - the refresh rate change is to be performed to high one as soon as new image is to be shown, and to the low one after a timeout expires

[no changelog]
2026-02-05 14:26:07 +01:00
bleska
b82f59990f refactor(core): panel configuration refactoring.
The arguments' passed to the HAL_DSI_LongWrite() function calls were corrected. Since the code is used in "KERNEL_MODE" => adding the respective preprocessor directives.

[no changelog]
2026-02-05 14:26:07 +01:00
Roman Zeyde
43abe309fb ci(core): test all languages on nightly CI runs
[no changelog]
2026-02-05 07:52:05 +01:00
Roman Zeyde
103146f39f feat(common): introduce Failure_InProgress code
It will be used to indicate that an non-interruptible workflow is
currently running on the device.

[no changelog]
2026-02-04 17:21:24 +01:00
Roman Zeyde
fee2f28330 chore(common): remove unused Failure_BufferError code
[no changelog]
2026-02-04 17:21:24 +01:00
Roman Zeyde
c1ff04c475 build(core): split English strings blob into multiple lines
Otherwise, concurrent string updates result in a merge conflict.

[no changelog]
2026-02-04 14:08:47 +01:00
Michal Kazda
8c2deb4020 fix(l10n): gen, style, fixtures [no changelog] 2026-02-04 13:24:51 +01:00
Michal Kazda
73f41e3f9c fix(l10n): various en.json fixes [no changelog] 2026-02-04 13:24:51 +01:00
Roman Zeyde
e2db64e285 chore(core): update UI fixtures
[no changelog]
2026-02-04 10:42:08 +01:00
bleska
858e928778 refactor(core): buffer usage check refactoring
Improving the code legibility of pwm_data[] buffer usage check.

[no changelog]
2026-02-03 17:37:38 +01:00
bleska
3706a65363 fix(core): pwm_data[] buffer clear check fix
A bug in pwm_data[] buffer clear check has been found and fixed. The pwm_data[][1] array element is used when the respective buffer is used for setting of new pulses' value to TPS61062 IC.

[no changelog]
2026-02-03 17:37:38 +01:00
M1nd3r
aaa3477262 chore(core): adjust core to be compatible with libtropic 3.1.0
[no changelog]
2026-02-03 15:30:03 +01:00
M1nd3r
b730960957 chore(vendor): update libtropic to v3.1.0
Release: https://github.com/tropicsquare/libtropic/releases/tag/v3.1.0

[no changelog]
2026-02-03 15:30:03 +01:00
Roman Zeyde
ef48ecc940 docs(python): add changelog entries 2026-02-03 14:47:31 +01:00
Roman Zeyde
d3908fa6aa fix(python): avoid reseeding in HW tests
[no changelog]
2026-02-03 14:47:31 +01:00
Roman Zeyde
975a2ac70e refactor(core): unify emulator detection
[no changelog]
2026-02-03 14:47:31 +01:00
Roman Zeyde
fe9138ef1d chore: update UI fixtures
[no changelog]
2026-02-03 14:47:31 +01:00
Roman Zeyde
956d74d163 refactor(python): inline ThpErrorCode.to_exception()
[no changelog]
2026-02-03 14:47:31 +01:00
matejcik
f371ee5742 fix(core): raise proper exception for unexpected message in pairing phase
[no changelog]
2026-02-03 14:47:31 +01:00