Roman Zeyde
6d205a416f
feat(core): add Solana staking layouts
2025-02-20 21:38:14 +02:00
Roman Zeyde
afb8963a40
feat(core): skip empty fee entry in UICaesar::confirm_summary
...
[no changelog]
2025-02-20 21:38:14 +02:00
Roman Zeyde
5d383275a6
feat(core): add new translation entries for Solana staking layouts
...
[no changelog]
2025-02-20 21:38:14 +02:00
Roman Zeyde
fef7910e0a
refactor(core): separate base and priority Solana fees
...
Move fee calculation into `Transaction` class.
Also, replace floating-point division by integer division in fee calculation.
[no changelog]
2025-02-20 21:36:38 +02:00
Roman Zeyde
3e49f3d547
test(core): add test vectors for Solana staking confirmation
...
[no changelog]
2025-02-20 21:36:38 +02:00
matejcik
eda9f2b183
chore: fix ethereum fixtures for translations after #4626
2025-02-20 16:09:14 +01:00
matejcik
b119675dd4
chore: update UI fixtures
2025-02-20 16:09:14 +01:00
matejcik
c246ba4994
tests: do not warn about missing translation if the key doesn't exist at all
...
otherwise code like the following raises an useless warning:
>>> try:
>>> value = translate(somekey)
>>> except KeyError:
>>> value = somekey # use a literal value
as seen in click_tests/common.py _get_action_index
2025-02-20 16:09:14 +01:00
matejcik
0c77c5102a
fix(core): update translated strings to fit the button on Delizia
2025-02-20 16:09:14 +01:00
matejcik
61a3382abd
fix(core/rust): increase capacity of debug error message
...
slicing the str like before is wrong because we may just happen to hit
in the middle of an utf8 sequence, which will cause a silent panic.
this way we at least get a visible panic: either "Text too long: <full
text>", or "unwrap failed" if the text doesn't fit into the 128-byte
string instance
2025-02-20 16:09:14 +01:00
matejcik
68d979a513
fix(core): exclude unused strings from firmware
...
this will prevent Rust code from building if it relies on a removed
string, and raise an AttributeError in python
2025-02-20 16:09:14 +01:00
matejcik
02190b5871
fix(core): do not repeat "cancel backup check" twice on screen
2025-02-20 16:09:14 +01:00
matejcik
0453f8b6df
tests: add test for cancel recovery
2025-02-20 16:09:14 +01:00
matejcik
87b7eccb6a
fix(core): do not use local import for RecoveryAborted
...
This side-steps a double-import problem that is triggered when we
perform an unimport in a particularly unfortunate order. (don't ask)
The root cause of the problem still exists: we can get into a situation
where a live recovery_homescreen is running from an unimported module,
meaning that any new import of anything from the recovery_device
namespace will _also_ be a double-import. We don't have a fix for that
situation yet, so instead we avoid this particular local import, which
would cause homescreen_dialog to have its own copy of the `recover`
module.
2025-02-20 16:09:14 +01:00
matejcik
2ee0f7028c
fix(core): update exception name in layout shutdown reporting
...
also return after the exception branch, so that the "value" is not
reported twice, once as an exception and a second time as a "non-none
return"
2025-02-20 16:09:14 +01:00
Martin Milata
bd342b3ab7
build: build-docker.sh: drop --skip-legacy and --skip-core options
2025-02-19 22:05:32 +01:00
obrusvit
18b88a12f0
fix(legacy): add build to .gitignore
...
- "build" serves to ignore symlink to "build/" directory in the legacy
docker reproducible build
- otherwise, the symlink is considered a local change and the resulting
binary contains "-dirty" in the name
2025-02-19 22:05:32 +01:00
Martin Milata
ae00e74717
ci: also build non-debuglink legacy firmware
2025-02-19 22:05:32 +01:00
Martin Milata
d375db9fc2
fix(tools): changelog.py: stricter model list format
2025-02-19 22:05:32 +01:00
Martin Milata
df61895d07
fix(tools): also bump language JSONs for core
2025-02-19 22:05:32 +01:00
matejcik
ca78c01e28
build(core/rust): fix cargo build
without envvars
...
...restoring functionality of rust-analyzer
2025-02-19 19:21:38 +01:00
matejcik
a4220c4b78
ci: check that cargo build
can succeed without envvars
...
this ensures that rust-analyzer continues to work
2025-02-19 19:21:38 +01:00
Ioan Bizău
609e14264f
fix(core/ui): back button
...
[no changelog]
2025-02-19 16:14:08 +01:00
obrusvit
45adcd963a
refactor(core): remove unused delizia component
...
[no changelog]
2025-02-18 13:04:44 +01:00
Roman Zeyde
ae3b6434fc
feat(core): allow more paragraphs in ShowInfoParams
...
Otherwise, it fails when showing 4 items.
Note that each item results in 2 paragraphs (key and value).
Also, items are separated by an empty paragraph.
So 3 items use 8 (2*3+2) paragraphs and 4 items use 11 (2*4+3) paragraphs.
[no changelog]
2025-02-18 12:32:35 +01:00
Roman Zeyde
0abfc7b1f9
fix(core): correct Delizia loader completion detection
...
This issue was found while debugging a flaky click test:
`tests/click_tests/test_lock.py::test_hold_to_lock`
Sample failures:
https://github.com/trezor/trezor-firmware/actions/runs/13209659963/job/36880750418
https://github.com/trezor/trezor-firmware/actions/runs/13189762414/job/36820368643
https://github.com/trezor/trezor-firmware/actions/runs/13146713535/job/36686537519
https://github.com/trezor/trezor-firmware/actions/runs/13124809110/job/36619045092
https://github.com/trezor/trezor-firmware/actions/runs/13103415015/job/36554567296
https://github.com/trezor/trezor-firmware/actions/runs/13093382180/job/36532710349
[no changelog]
2025-02-18 12:29:32 +01:00
Roman Zeyde
ffc4b57e70
docs(core): fix micropython GC arena analysis tool name
...
[no changelog]
2025-02-18 11:56:42 +01:00
Roman Zeyde
f4ebc0d9d8
docs(core): fix get_bytes_as_str
docstring
...
[no changelog]
2025-02-18 11:56:42 +01:00
tychovrahe
13c078f8af
fix(core): bump T3W1 revB revision
...
[no changelog]
2025-02-15 18:44:48 +01:00
cepetr
aa29681939
doc(prodtest): document pmic and wpc commands
...
[no changelog]
2025-02-14 22:22:33 +01:00
cepetr
de73b38aae
feat(core): introduce hibernate mode
...
[no changelog]
2025-02-14 16:43:22 +01:00
tychovrahe
79d14b8907
fix(core): fix TS5 bootloader font
...
[no changelog]
2025-02-14 09:51:45 +01:00
tychovrahe
e47b604c48
fix(core): fix stwlc38 deinitialization
...
[no changelog]
2025-02-13 13:25:34 +01:00
obrusvit
612d20b535
Merge branch 'release/translations/25.02' into obrusvit/merge-release-25.02
2025-02-13 11:42:08 +01:00
obrusvit
c69d2c9aff
Merge branch 'release/25.02' into obrusvit/merge-release-25.02
2025-02-13 11:42:08 +01:00
cepetr
ef51ea7801
fix(core): fix touch activity detection in bootloader
...
[no changelog]
2025-02-13 11:21:04 +01:00
cepetr
850b52c1fe
fix(core): fix hw jpegdec issue with grayscale images
...
[no changelog]
2025-02-13 08:28:08 +01:00
obrusvit
0adc6a9ad0
chore: update releases.json
2025-02-12 21:42:47 +01:00
Roman Zeyde
9a62cbd781
chore(python): include the invalid chunk in RuntimeError
message
...
[no changelog]
2025-02-12 15:55:44 +01:00
matejcik
4de0fb7b16
build: add wheel to dev-dependencies
...
it's no longer available implicitly, trezorlib release process needs it
2025-02-12 14:26:15 +01:00
matejcik
4a9ac3a956
chore(python): bump version after release
2025-02-12 14:26:15 +01:00
matejcik
8dbd5e06fa
fix(tools): better path handling in changelog.py
...
now it also works with relative paths
2025-02-12 14:26:15 +01:00
matejcik
b2098ff03f
docs(python): regenerate OPTIONS.rst
2025-02-12 14:26:15 +01:00
matejcik
535950ac29
docs(python): generate changelog for 0.13.10
2025-02-12 14:26:15 +01:00
matejcik
f1c33e2f06
fix(python): make cryptography a required dependency
...
fixes #4493
2025-02-12 14:26:15 +01:00
obrusvit
45394f2b26
chore(core): bump bootloader version to 2.1.11
...
[no changelog]
2025-02-12 14:25:26 +01:00
obrusvit
2d20d43944
chore(core): bump version to 2.8.9
...
[no changelog]
2025-02-12 14:25:26 +01:00
obrusvit
9a01cb54bf
chore(legacy): bump version to 1.13.1
...
[no changelog]
2025-02-12 14:25:26 +01:00
Roman Zeyde
ae9e0281df
refactor(core): separate clear_unused_stack()
from sys/linker
module
...
Following https://github.com/trezor/trezor-firmware/pull/4595#pullrequestreview-2609833271 .
[no changelog]
2025-02-12 12:53:27 +01:00
Roman Zeyde
d38b52c0c4
refactor(core): simplify fade_backlight_duration
...
- IIUC, casting to and from `i32` can be removed.
- `timer.elapsed()` can be evaluated once per loop iteration.
[no changelog]
2025-02-12 12:33:14 +01:00