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
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
0f695b55a9
refactor(core): fn plural_form will never panic
...
- also minor adjustment where the function is used in Eckahrt
2025-05-30 17:38:16 +02:00
obrusvit
d73f0dc79d
perf(core/eckhart): constructing MenuItems
...
- self-referential builder pattern is easier on the stack memory usage
than consuming builder pattern
- store ButtonStyleSheet as a static ref
2025-05-30 17:38:16 +02:00
obrusvit
bd89e13493
refactor(core): return uPy Obj from DeviceMenu
...
[no changelog]
2025-05-30 17:38:16 +02:00
Roman Zeyde
3aab117046
refactor(core): unify menu
and about
Eckhart screens into an enum
...
[no changelog]
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
obrusvit
12e1c456c7
feat(eckhart): port bootloader ble handling
2025-05-30 17:38:16 +02:00
obrusvit
0afc97227f
fix(eckhart): a few alignment and style issues
...
- fix pyright
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
2963065afc
feat(eckhart): confirm_signverify, confirm_blob, ethereum, solana and nostr support
2025-05-30 17:38:16 +02:00
Lukas Bielesch
b45865a808
chore(eckhart): use dedicated function for menu buttons creation
2025-05-30 17:38:16 +02:00
Lukas Bielesch
40d9b049b8
chore(eckhart): update show_mismatch, confirm_output and confirm_value and progress_screen functions
2025-05-30 17:38:16 +02:00
Lukas Bielesch
4eb872e1c8
feat(eckhart): implement trait functions: confirm_value_intro,
...
confirm_modify_output, confirm_modify_fee, confirm_with_menu,
show_info_with_cancel and confirm_props
2025-05-30 17:38:16 +02:00
Lukas Bielesch
edfec4f407
feat(eckhart): update request number trait function
...
add request number flow instead of screen only
add updatable info screen to show extra information
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
b77db55330
chore(eckhart): TextScreen improvements
...
update page count for the content,
add page limit,
enable subtitle to have two lines
2025-05-30 17:38:16 +02:00
obrusvit
04b61ea6af
feat(eckhart): render_loader and ProgressScreen
...
- `render_loader` shows classic circular loader going around the
display, implemented by rendering `ScreenBorder` and hiding it by 5
black rectangles which progressively diminish
- `render_loader_indeterminate` shows progress loader without known
duration, implemented by rendering `ScreenBorder` in clip which travels
around the SCREEN in an octagonal shape. This achieves an effect of a
constant length line going around the screen shape
- implement `show_progress` and `show_progress_coinjoin` FirmwareUI
functions
chore(eckhart): remove animation code from Header
2025-05-30 17:38:16 +02:00
obrusvit
843ef7d441
feat(eckhart): extract tile pattern constants
2025-05-30 17:38:16 +02:00
obrusvit
f77ca411b2
chore(eckhart): re-export new Close icon
2025-05-30 17:38:16 +02:00