Lukas Bielesch
4d2c676f3c
chore(core/eckhart): Update ETH approve flow
...
[no changelog]
2025-06-30 23:49:47 +02:00
Lukas Bielesch
4c709bdb53
chore(core/eckhart): increase font for keypad input
...
- passphrase, pin, mnemonic keyboards
[no changelog]
2025-06-30 22:55:42 +02:00
Lukas Bielesch
a56c5448e9
chore(core): new FwUI function for public key
2025-06-30 10:42:08 +02:00
Lukas Bielesch
59d5f14ad7
chore(core): increase ParagraphVecLong size
2025-06-30 10:42:08 +02:00
Lukas Bielesch
aa74ab922d
chore(core/eckhart): update show_address flow
2025-06-30 10:42:08 +02:00
Roman Zeyde
e33d1938e6
chore(core): remove unused import in bl_confirm.rs
...
[no changelog]
2025-06-26 13:38:45 +03:00
Roman Zeyde
17c866fb7c
chore(core): remove unused ChoiceItem
method
...
[no changelog]
2025-06-26 13:38:45 +03:00
tychovrahe
3fa5d4e71a
feat(core/bootloader): add restart button after unlock/wipe device success
...
[no changelog]
2025-06-26 09:37:44 +02:00
cepetr
b35c7b40ba
fix(core): fix rtc wake-up from suspend mode
...
[no changelog]
2025-06-25 10:54:20 +02:00
tychovrahe
243f04fbf2
fix(core): remove unnecessary fading
...
[no changelog]
2025-06-24 19:17:17 +02:00
tychovrahe
e281f145b3
fix(core): remove boot stage 1 from Eckhart UI
...
[no changelog]
2025-06-24 19:17:17 +02:00
Lukas Bielesch
2a6189c3ae
chore(translations): add missing foreign translations
...
- fix typo in translation key
[no changelog]
2025-06-24 16:36:01 +02:00
tychovrahe
9f2dec6169
refactor(core): update bootloader from coreapp, using syscalls (and smcalls)
...
[no changelog]
2025-06-24 14:58:11 +02:00
Lukas Bielesch
a403524f72
chore(core): add compulsory data param to props
...
[no changelog]
2025-06-24 12:08:42 +02:00
Lukas Bielesch
5ade9204e4
feat(core): add new data mono fonts
...
[no changelog]
2025-06-24 12:08:42 +02:00
Ioan Bizău
320ee7b044
refactor(core): separate BLE and THP pairing code screens
...
[no changelog]
2025-06-24 10:27:17 +02:00
Ioan Bizău
785f52f082
refactor(eckhart): move pairing cancel button to menu
...
[no changelog]
2025-06-24 10:27:17 +02:00
Lukas Bielesch
a7f6bf5bda
chore(core/eckhart): update warnings
2025-06-23 15:48:23 +02:00
Lukas Bielesch
f32d747f88
chore(core): promote multiple_accounts_warning to danger
...
- for eckhart and delizia layouts
2025-06-23 15:48:23 +02:00
Lukas Bielesch
5272f2af8f
chore(core/eckhart): fix send title
...
[no changelog]
2025-06-23 15:48:23 +02:00
obrusvit
3bf0aaf08e
feat(eckhart): implement hold_danger
...
[no changelog]
2025-06-23 12:03:25 +02:00
obrusvit
ee8bba40b2
feat(core): allow ProgressLayout with danger
...
- adds `danger` parameter to `show_progress` which can be used by
individual layout implementations to render a loader with a sever color
- this feature is used for wipe device handler
- this feature is implemented for Eckhart layout in this commit
[no changelog]
2025-06-23 12:03:25 +02:00
obrusvit
c73351f6df
refactor(core): update some Eckhart FW text styles
...
[no changelog]
2025-06-23 10:16:32 +02:00
obrusvit
41bc018eb9
feat(core): update Eckhart bootloader
...
- Menu: reorg buttons, labels, styling
- ErrorScreen: show "Wait for device restart" in the bar area and move
footer message above that
- UpdateScreen
[no changelog]
2025-06-23 10:16:32 +02:00
tychovrahe
1312054ba9
fix(core): fix install fw confirm title issue
2025-06-20 16:11:08 +02:00
Roman Zeyde
7c45ce6522
chore(core): fix "trezor" -> "Trezor"
...
Also, remove duplicated `coinjoin__title_do_not_disconnect` string.
[no changelog]
2025-06-20 14:40:13 +03:00
Roman Zeyde
4633611d1b
test(core): don't wait on StatusScreen if animation is disabled
...
[no changelog]
2025-06-20 14:07:52 +03:00
Roman Zeyde
f331b133e3
feat(core): join active workflows before restart
...
It should support asynchronous "success" confirmation layouts
for address, public key and signature confirmation flows.
[no changelog]
2025-06-20 14:07:52 +03:00
Roman Zeyde
23cde4ed72
Revert "feat(core): send address & public key response before showing StatusScreen
"
...
This reverts commit 946fc89449
.
2025-06-20 14:07:52 +03:00
Roman Zeyde
97b8833746
chore(core): use ERROR_NOT_IMPLEMENTED
in Eckhart's ui_firmware.rs
...
[no changelog]
2025-06-19 07:48:45 +03:00
Martin Milata
c16d375abc
refactor(core): eckhart: add close button to THP pairing UI
...
[no changelog]
2025-06-18 13:11:12 +02:00
Roman Zeyde
8fbe005186
refactor(core): wrap coverage data map with spin::RwLock
...
It allows us to avoid the `unsafe` blocks (due to `static mut` references).
[no changelog]
2025-06-17 17:09:30 +03:00
Roman Zeyde
365116be52
refactor(core): use Qstr
instead of StrBuffer
in coverage::Key
...
It allows `coverage::Key` to be `Send` & `Sync` - otherwise,
wrapping coverage data with a `spin::Mutex` will fail due to:
```
error[E0277]: `*const u8` cannot be sent between threads safely
--> src/coverage/mod.rs:49:23
|
49 | static COVERAGE_DATA: Mutex<FnvIndexMap<Key, u64, { 1024 * 1024 }>> =
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*const u8` cannot be sent between threads safely
|
= help: within `IndexMap<Key, u64, hash32::BuildHasherDefault<hash32::fnv::Hasher>, 1048576>`, the trait `Send` is not implemented for `*const u8`
note: required because it appears within the type `StrBuffer`
```
[no changelog]
2025-06-17 17:09:30 +03:00
Roman Zeyde
f4e65fd8e3
fix(core): don't enter/exit menu via horizontal swipe on Delizia
...
Following #5189 .
2025-06-16 18:29:56 +03:00
Roman Zeyde
0d87266bfc
fix(core): don't enter/exit menu via horizontal swipe on Bolt
2025-06-16 18:29:56 +03:00
Roman Zeyde
6d35f047b8
chore(core): inline SwipeFlow::render_state
...
[no changelog]
2025-06-16 17:35:07 +03:00
Roman Zeyde
6eb0458b7c
chore(core): remove unused SwipeFlow
field
...
[no changelog]
2025-06-16 17:35:07 +03:00
Roman Zeyde
2a29e4ea47
fix(core): correct a small typo in screen_update()
...
[no changelog]
2025-06-16 10:52:58 +03:00
obrusvit
af02e5e6a2
feat(eckhart): improve Homescreen styling
...
- correct Homebar icons
- colors and gradients
- LED usage
- Hint changes: add pad and cleanup some unused code
[no changelog]
2025-06-13 19:36:51 +02:00
obrusvit
2196a5f785
refactor(core): cleanup homescreen params
...
- rename FirmwareUI::show_homescreen param name from `hold` to
`lockable` because hold or hold_to_lock no longer covers all layouts
- cleanup uPy notification params
[no changelog]
2025-06-13 19:36:51 +02:00
Lukas Bielesch
5104872010
chore(core/eckhart): extend pin/pp touch area
...
[no changelog]
2025-06-13 19:15:26 +02:00
Lukas Bielesch
ecbb71232e
chore(rust): increase max text ops
...
[no changelog]
2025-06-13 11:22:55 +02:00
Lukas Bielesch
023c8fc140
chore(core/eckhart): update check recovery flow
...
[no changelog]
2025-06-13 11:22:55 +02:00
Lukas Bielesch
3fa185703e
feat(core): use OpTextLayout::add_ functions to reduce stack usage
2025-06-12 10:07:23 +02:00
obrusvit
f0865e3b10
feat(eckhart): fuel gauge UI
...
- fuel gauge (battery state) with icons for charging/discharging state
and soc percentage
- on attach on Homescreen ActionBar
- permanently on the first DeviceMenu subscreen
- temporarily in the Header on charging state update
[no changelog]
2025-06-11 23:39:28 +02:00
obrusvit
17d6dd4a55
chore(core): remove battery from show_device_menu
...
- the battery status changes are now propagated into Components by
Event::PM
[no changelog]
2025-06-11 23:39:28 +02:00
obrusvit
f04edf3a28
feat(core): battery updates in FW event loop
...
[no changelog]
2025-06-11 23:39:28 +02:00
cepetr
e8a5d11e5d
fix(core): fix rsod message alignment on bolt
...
[no changelog]
2025-06-11 11:49:42 +02:00
tychovrahe
ce3eae95a4
feat(core/bootloader): menu item reboot always active
2025-06-11 09:57:47 +02:00
Roman Zeyde
30840d7cbf
perf(core): rewrite trezor.log
and trezor.wire_log
in Rust
...
Requires https://github.com/trezor/micropython/pull/26 .
[no changelog]
2025-06-11 10:26:09 +03:00
Roman Zeyde
a9f59f6dd6
style(core): fix a few Rust lints
...
[no changelog]
2025-06-11 09:58:08 +03:00
Roman Zeyde
a7849ab838
perf(core): use 16-bit duration for Button
long-press duration
...
Also, use zero duration to disable long-press mechanism.
[no changelog]
2025-06-09 20:27:09 +03:00
Roman Zeyde
0b4c44e32f
refactor(core): use an enum
for Button
's radius/gradient
...
[no changelog]
2025-06-09 20:21:28 +03:00
Roman Zeyde
a6f99a65b4
perf(core): don't use Option<Insets>
to save memory
...
Otherwise, the compiler adds 2 bytes per `Button` struct.
[no changelog]
2025-06-09 20:21:28 +03:00
Roman Zeyde
5dbf726160
perf(core): change TextAndSubtext::subtext_style
to a reference
...
It should significantly reduce the size of `heapless::Vec<ui::layout_eckhart::component::button::Button, 100>`.
[no changelog]
2025-06-09 20:21:28 +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
tychovrahe
3324af7b50
refactor(core): unify CommonUI screen definition
...
[no changelog]
2025-06-09 17:48:56 +02:00
Roman Zeyde
14909e37ed
style(core): prefix unused parameters with _
...
[no changelog]
2025-06-09 17:20:05 +02:00
tychovrahe
01465aac7c
feat(core): update NRF application from firmware
...
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
ccb28f4aab
refactor(core): move c string conversion out of UI code
...
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
4e31a9e20a
fix(core/rust): make rust crate compilable without UI
...
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
dda281e78a
chore(core): fix clippy errors
...
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
6aa981da45
chore(core): update rust
...
[no changelog]
2025-06-09 17:12:31 +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
468ddaab9d
chore(eckhart): simplify updatable info screen
...
[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
tychovrahe
e3639fe195
fix(core/bootloader): eckhart - fix menu button not showing on some screens
...
[no changelog]
2025-06-06 17:47:49 +02:00
Ioan Bizău
334079e453
feat(eckhart): allow buttons without multiline text
...
[no changelog]
2025-06-06 15:34:22 +02:00
Ioan Bizău
9d91c7a69c
chore(eckhart): check button subtitle overflow
...
[no changelog]
2025-06-06 15:34:22 +02:00
Ioan Bizău
3f3fd4a021
feat(eckhart): allow multiline text in buttons
...
[no changelog]
2025-06-06 15:34:22 +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
Lukas Bielesch
26a52a5ed4
chore(core/eckhart): change button content vertical aligment implementation
...
- previous impl. using allcase_height wasn't properly centering the text
[no changelog]
2025-06-05 23:59:19 +02:00
Roman Zeyde
f6f1471774
refactor(core): convert translation strings to str
once
...
Instead of doing it on every `TranslationStringsChunk::get()` call.
[no changelog]
2025-06-05 21:08:14 +03:00
Roman Zeyde
d6b1cff024
feat(core): support new translation blob format
...
It supports multiple translations strings chunks and allows total
container size to be above 64kB.
Previous format is also supported by firmware.
2025-06-05 20:55:56 +03:00
Roman Zeyde
96fd484c2f
chore(core): use .into()
to convert from u16
to usize
...
It would fail to compile in case there is a possible truncation,
since using `as` will result in silent truncation.
[no changelog]
2025-06-05 20:55:56 +03:00
Roman Zeyde
880ee5af7a
chore(core): remove unused MAGIC
constant
...
[no changelog]
2025-06-05 20:55:56 +03:00
Martin Milata
99f56a09d0
refactor(core/ui): parametrize show_pairing_code
...
[no changelog]
2025-06-05 15:53:23 +02:00
Martin Milata
c3afe4c67b
feat(core): BLE pairing flow
...
[no changelog]
2025-06-05 15:53:23 +02:00
Martin Milata
f077f2d1c1
feat(core/ui): eckhart: BLE event handling
...
[no changelog]
2025-06-05 15:53:23 +02:00
Roman Zeyde
5c49084a16
perf(core): wrap AddressDetails
in a GcBox
...
[no changelog]
2025-06-04 21:01:25 +03:00
Roman Zeyde
bdc75e295d
chore(core): improve ImageBuffer
locking error message
...
Usually `AllocationFailed` is due to GC OOM errors,
while here it's more "deadlock-like" scenario.
[no changelog]
2025-06-04 20:52:55 +03:00
cepetr
bbb74c03a4
feat(core): introduce secure monitor
...
[no changelog]
2025-06-04 16:58:15 +02:00
Lukas Bielesch
cafed0d02b
chore(core/eckhart): Unify usage of ParagraphVecShort
...
[no changelog]
2025-06-04 12:47:50 +02:00
Lukas Bielesch
3f14cd1d27
chore(eckhart): replace-by-fee update
...
[no changelog]
2025-06-04 12:47:50 +02:00
Lukas Bielesch
17f2d05baa
fix(core): clippy warning
...
[no changelog]
2025-06-04 12:47:50 +02:00
tychovrahe
ec4e6de040
fix(core/prodtest): fix bolt welcome screen without power manager
...
[no changelog]
2025-06-04 08:12:48 +02:00
tychovrahe
7294cc62fb
feat(core/prodtest): separate prodtest UI implementation for Eckhart
...
[no changelog]
2025-06-04 08:12:48 +02:00
Lukas Bielesch
d91923b999
chore(core/eckhart): Update passphrase-related flows
...
[no changelog]
2025-06-03 18:59:37 +02:00
Lukas Bielesch
41a852c675
chore(core/eckhart): Update ConfirmAction button styling logic
2025-06-03 18:59:37 +02:00
Lukas Bielesch
1f69975ba9
chore(core/eckhart): Allow TextScreen to be used without a header
...
[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
Lukas Bielesch
9643253630
feat(eckhart): implement FW update UI trait function
...
[no changelog]
2025-06-03 17:02:20 +02:00
Ioan Bizău
98aa195443
fix(core/ui): confirm_output subtitle
...
[no changelog]
2025-06-03 15:06:29 +02:00
Ioan Bizău
d65b4f0e86
fix(core): warnings in device build
...
[no changelog]
2025-06-03 14:18:47 +02:00
Roman Zeyde
cec282993a
refactor(core): simplify per-model imports using cfg-if
macro
...
[no changelog]
2025-06-01 14:31:43 +03:00
Roman Zeyde
64241033cb
chore(core): move coverage-related Rust code into a separate module
...
Also, exclude it from non-debug builds.
[no changelog]
2025-05-30 19:26:51 +03:00
Roman Zeyde
1b8116129a
chore(core): add a missing Map
import for obj_module
macro
...
[no changelog]
2025-05-30 19:26:51 +03:00
obrusvit
341cc54071
chore: regenerate langs/signatures/qstr/fixtures
2025-05-30 17:38:16 +02:00