1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-14 02:18:07 +00:00
Commit Graph

834 Commits

Author SHA1 Message Date
matejcik
cd25071a29 refactor(core): improve recovery_enter_share 2024-11-12 16:55:17 +01:00
matejcik
eb97bafeef fix(core/ui): repaint the title of Progress layout when requested 2024-11-12 16:55:17 +01:00
matejcik
0e8dcbb498 feat(core): unify RustLayout, implement single global layout 2024-11-12 16:55:17 +01:00
matejcik
df368413c6 refactor(core/rust): introduce layout lifecycle states on Rust side 2024-11-12 16:55:17 +01:00
matejcik
c8f3ebfa21 refactor(core/ui): improve LayoutObj initialization
* RequestPaint message is sent at construction time to force calculation
  of number of pages
* given that Attach corresponds to "start the layout" message, Child now
  responds to Attach the same way it responds to RequestPaint, by
  force-repainting everything.
2024-11-12 16:55:17 +01:00
matejcik
dbe6c1c664 refactor(core/rust): create a single code path allowed to modify SwipeFlow state 2024-11-12 16:55:17 +01:00
cepetr
79cf4959d3 refactor(core): improve button driver (add interrupt support)
[no changelog]
2024-11-07 08:48:21 +01:00
tychovrahe
435fbd6e8c feat(core): add power button to button driver
[no changelog]
2024-11-07 08:48:21 +01:00
Lukas Bielesch
7a61d8e858 chore(core) Translate hard-coded 'Enable labeling' string 2024-11-06 18:34:05 +01:00
cepetr
7b6f444751 refactor(core): introduce global trezor_rtl/bsp/model headers
[no changelog]
2024-11-05 10:00:31 +01:00
Ioan Bizău
93fb415fe0 fix(core/translations): fix string order
[no changelog]
2024-11-02 18:40:53 +01:00
Ioan Bizău
2435e8b101 fix(core/ui): remove unnecessary newline
[no changelog]
2024-11-02 18:40:53 +01:00
M1nd3r
82a202f6a8 fix(core): fix flow_prompt_backup mock
[no changelog]
2024-10-31 16:15:22 +01:00
Ioan Bizău
c300576d6c feat(core/ethereum): new ETH contract flow 2024-10-30 17:25:48 +02:00
Lukas Bielesch
262747baa7 fix(core/rust) Handle also touchStop event in brightess dialog 2024-10-30 10:36:19 +01:00
obrusvit
f746993ca6 fix(ui/model_r): add title for altcoin_tx_summmary 2024-10-30 09:15:10 +01:00
obrusvit
2c6a13064b feat(cardano): use nicer summary for send tx
Also show Recipient {i} for simple tx
2024-10-30 09:15:10 +01:00
obrusvit
a3aacb7f13 fix(ui/model_r): adjust model_r confirm_properties
- change the button text based on `hold`
- make it abortable
2024-10-30 09:15:10 +01:00
obrusvit
20e408d7df fix(ui/mercury): fix should_show_more prompt
This prompt was unintuitive as the menu button served as the "show more"
button. This commit implements a small SwipeFlow which hides the option
to the context menu.
2024-10-30 09:15:10 +01:00
cepetr
93af056c13 refactor(core): adjust system api for syscall verifier
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
0312158aa1 refactor(core): adjust display api for syscall verifier
[no changelog]
2024-10-22 07:41:30 +02:00
Roman Zeyde
f1e01edfcb chore(core/embed): remove unused import
[no changelog]
2024-10-17 21:50:32 +02:00
obrusvit
08845d410d fix(core/ui): add 2nd version of continue anyway
To distinguish between prompt and a question.
2024-10-10 19:14:16 +02:00
obrusvit
faa209b5d9 fix(core/ui): use correct labels at a few places
[no changelog]
2024-10-10 19:14:16 +02:00
obrusvit
3475354a1a fix(core/ui): fix title of XPUB success screen 2024-10-10 19:14:16 +02:00
tychovrahe
91b1d950fd fix(core): fix rust compilation of pixeldata for new rendering on 16bit bus
[no changelog]
2024-10-09 15:06:40 +02:00
Ioan Bizău
9b8f18577f chore(core/ui): crash on button text too long
[no changelog]
2024-10-02 10:55:45 +03:00
Ioan Bizău
69100c0755 feat(core/ui): allow two lines of text in menu items 2024-10-02 10:55:45 +03:00
matejcik
df8be364fb build(core/rust): provide a default value for BUILD_DIR
to make it easier to run cargo separately, and support rust-analyzer
without tweaking its config
2024-09-27 14:11:02 +02:00
matejcik
6cbba09d1d refactor(core): return FlowMsg::Choice and FlowMsg::Text as plain values
instead of tuples
2024-09-26 10:00:48 +02:00
matejcik
2661dbb3d1 fix(core): change incorrect usage of "deadline" in Rust timer code 2024-09-26 10:00:48 +02:00
matejcik
9431f2a77d refactor(core/rust): simplify TryFrom<FlowMsg> 2024-09-26 10:00:48 +02:00
matejcik
a159ea133a refactor(core/rust): add comments in frame.rs 2024-09-26 10:00:48 +02:00
matejcik
85d699a42d refactor(core/rust): simplify match statement in footer.rs 2024-09-26 10:00:48 +02:00
matejcik
f7ce99e7d7 refactor(core/rust): EventPropagation enum
to indicate in a better way that some event should be propagated further

there are probably more places where this would be appropriate
2024-09-26 10:00:48 +02:00
matejcik
c0bb55258b refactor(core/rust): use SwipeEvent in place of SwipeDetectMsg 2024-09-26 10:00:48 +02:00
matejcik
9f083c1865 refactor(core/rust): replace TouchAbort event with explicit abort via a detected swipe
worth considering:

pub enum Phase {
    Start,
    Move,
    End,
}

pub enum TouchEvent {
    Touch(Phase, Point),
    Swipe(Phase, Point),
}

(Swipe needs its own Phase because it needs a progress on the Move, but
otherwise...)
2024-09-26 10:00:48 +02:00
matejcik
943d6d9b30 refactor(core/rust): use separate files for button and touch events
this makes it easier to feature-gate them
2024-09-26 10:00:48 +02:00
matejcik
e049efd171 refactor(core/rust): move ui::component::SwipeDirection to ui::geometry::Direction
it's a rather general thing, no reason to tie its existence to Swipe
2024-09-26 10:00:48 +02:00
matejcik
48edb483a0 refactor(core/rust): streamline FlowState handling
* use the freed-up FlowState name for an alias to &'static dyn
FlowController
* replace StateChange with raw Decision
* move FlowState into Decision::Transition (the other Decisions should
not have the ability to change state
* also rename `transit` to `goto` which is a much better name
2024-09-26 10:00:48 +02:00
matejcik
9cc03c91d1 refactor(core/rust): rename the FlowState trait to FlowController
so that we can use the FlowState name for a type alias
2024-09-26 10:00:48 +02:00
matejcik
30c08b6442 refactor(core/rust): simplify code for internal paging events
[no changelog]
2024-09-26 10:00:48 +02:00
cepetr
454b8140ec fix(core): fix slow jpeg decoding
[no changelog]
2024-09-25 12:46:57 +02:00
cepetr
35c6f52133 refactor(core/embed): introduce system, tasks, applets and emergency mode
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
b1a41ded79 refactor(core/embed): improve bootuils api
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1443f86983 feat(core/embed): introduce systick and systimer drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a3fcc62655 refactor(core/build): remove hardcoded build path
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
4312c08612 refactor(core/embed): extract hw entropy logic to its own module
[no changelog]
2024-09-24 12:21:53 +02:00
Ioan Bizău
6da38f4cf3 feat(core): show account info in ETH send/stake flow 2024-09-24 11:57:34 +03:00
tychovrahe
6658c42a95 fix(core): use new rendering in changing_text
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
23d68eb0bb fix(core): fix model T new-rendering loader
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
c6a1eba4b6 fix(core): fix fading on model T bootloader
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
1dc5c4c03f fix(core): fix model_tr icons for new rendering
[no changelog]
2024-09-17 17:46:11 +02:00
Ioan Bizău
32be89a29a refactor(core): use code to append colon to strings
[no changelog]
2024-09-17 01:44:20 +02:00
Ioan Bizău
1c7bfdb04c refactor(core): use a template to add colon to strings
[no changelog]
2024-09-17 01:44:20 +02:00
obrusvit
8d1a9bc17f chore(core): remove duplicated FlowMsg conversion
[no changelog]
2024-09-13 12:08:42 +02:00
obrusvit
9b4b1203b6 refactor(core/mercury): remove some unused code
[no changelog]
2024-09-12 21:26:45 +02:00
obrusvit
aab68b9dfa feat(core/mercury): impl footer in RemainingShares 2024-09-12 21:26:45 +02:00
obrusvit
d15ecfb859 refactor(core/mercury): self-updating footer
This commit enables registering function for updating footer and header
based on the content. This eliminates the need to create wrappers around
Frame to update them.

[no changelog]
2024-09-12 21:26:45 +02:00
Ioan Bizău
f6aa7cbb08 fix(core): tweak swipes in ETH staking flow 2024-09-12 11:45:30 +03:00
Ioan Bizău
ba8f0ea4bc feat(core): use new ETH send flow also for staking 2024-09-03 18:59:53 +03:00
obrusvit
c5f9fadbd1 fix(core/mercury): show remaining shares
This commit enables showing "Remaining shares" from the context menu
during recovery process. This is only shown during super-shamir.
2024-09-03 14:20:34 +02:00
tychovrahe
d334b92073 feat(core): add bootloader unlocking functionality to U5 optiga models 2024-09-03 13:07:34 +02:00
tychovrahe
b8c27d5fd6 feat(core/bootloader): only allow confirm-less firmware installation for full-trust images 2024-09-03 08:39:42 +02:00
Martin Milata
7db1529533 refactor(core/ui): alternative multipage footer 2024-09-02 19:36:25 +02:00
Martin Milata
2572705d1f refactor(core/ui/mercury): delete CancelInfoConfirm
[no changelog]
2024-09-02 19:36:25 +02:00
Martin Milata
7c8be6f0ea fix(core/ui/mercury): FIDO2 layouts 2024-09-02 19:36:25 +02:00
tychovrahe
6caafd6642 fix(core/bootloader): fix T3B1 bootloader UI - unsafe screen, boot image 2024-09-02 15:50:51 +02:00
obrusvit
9e18e72a2c feat(core): ask for 20/33 words to unlock backup
Unlocking repeated backup is only possible with SLIP-39 extendable
backup which contains shares of 20 or 33 words. It is UI bug to have the
user choose from all options (12, 18, 20, 24, 33). This commit reduces
the choices when unlocking repeated backup to (20, 33) for all models.
2024-08-29 16:01:13 +02:00
tychovrahe
384615c047 fix(core): fix button alignment in T3T1 bootloader
[no changelog]
2024-08-29 10:49:32 +02:00
obrusvit
f0989e20b8 fix(core/ui): fix persistent word during recovery
Remove the current word from recovery progress if a user goes to
previous word.

[no changelog]
2024-08-28 14:33:02 +02:00
obrusvit
65d3fd00f1 fix(core/ui): fix mnemonic keys availability
This commit disables keys of mnemonic keyboard if their press cannot
lead to a valid word if the keyboard is initialized with a pre-filled
word. This is useful to get valid keyboard state when going to a
previous word during recovery.

[no changelog]
2024-08-28 14:33:02 +02:00
obrusvit
e2022db8fa feat(core/mercury): use less severe icon color
Not using danger color during onboarding.

[no changelog]
2024-08-28 14:21:07 +02:00
Andrew Kozlik
2a567f3a0c feat: Remove display_random feature. 2024-08-27 19:33:23 +02:00
Ioan Bizău
b747a5bcc9 refactor(core): merge confirm_summary flow into confirm_output flow 2024-08-27 16:21:03 +03:00
Ioan Bizău
692eee3e07 feat(core): add progress to Ethereum transaction signing 2024-08-27 16:21:03 +03:00
Ioan Bizău
09d3301785 feat(core): improve ETH send flow 2024-08-27 16:21:03 +03:00
obrusvit
e19138cdc8 chore(core): remove unused mercury ButtonContent
[no changelog]
2024-08-22 08:58:10 +02:00
obrusvit
50dc265162 feat(core/mercury): impl flow_request_passphrase
This commit replaces request_passphrase with flow_request_passphrase.
The added benefit is that the user is prompted for confirmation if they
want to proceed with an empty passphrase.
2024-08-22 00:47:15 +02:00
obrusvit
60ad7219fe refactor(core): use PromptMsg instead of Option<>
PromptScreen now uses dedicated PromptMsg with Confirmed and Cancelled
values instead of empty Option<>. This change affects only mercury code.

This is more explicit and enables "yes" or "no" prompts screens.
Otherwise, the "no" option was handled by the 'x' button handled by
Frame.

[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
2b4d6eb798 feat(core/mercury): passphrase confirm empty btn
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
15526343c9 feat(core/mercury): introduce binary_selection
This commit adds a Component which prompts a user with a pair of two
buttons - left and right. The Component is parametrized by the buttons
contents and styles.

[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
d99a94758b feat(core/mercury): allow passphrase in FlowStore
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
2203d9be1a feat(core/ui): introduce FlowMsg::Text option
This commit allows flows to work with ShortString which can be converted
to micropython as str.

[no changelog]
2024-08-22 00:47:15 +02:00
tychovrahe
5417ec15df fix(core): introduce ui_overlay feature - fixes T3T1 bootloader compilation with new rendering
[no changelog]
2024-08-19 12:17:11 +02:00
tychovrahe
182f8d9774 chore(core): fix unused warning
[no changelog]
2024-08-01 16:17:12 +02:00
tychovrahe
effd81ed3b chore(core): fix xframebuffer conditionals
[no changelog]
2024-08-01 16:17:12 +02:00
obrusvit
fbf380caba refactor(core/mercury): init Paragraphs from Vec
[no changelog]
2024-07-31 11:52:47 +02:00
obrusvit
71b2c986f8 feat(core/ui): send BR from rust during recovery
[no changelog]
2024-07-31 11:36:32 +02:00
obrusvit
510230628b feat(core): allow BR from rust on every Attach
This commit allows creating a rust flow in which a component sends the
configured ButtonRequest repeatedly on every Event::Attach.

This is necessary in recovery homescreen flow where we want to send
ButtonRequest also after restarting the device.

[no changelog]
2024-07-31 11:36:32 +02:00
obrusvit
11308f578d feat(core/ui): T3T1 instruction screens between shares
Changes the content and visual appearance of the screens between shares
during multi-share (shamir) recovery. Context menu with the option to
cancel is added to the screen.
2024-07-31 11:36:32 +02:00
Ioan Bizău
5188dfc83d feat(core): deal with non-breaking spaces
[no changelog]
2024-07-30 18:48:01 +03:00
Ioan Bizău
33f5d47330 chore(core): rename "hidden wallet" -> "passphrase wallet"
[no changelog]
2024-07-29 17:45:28 +03:00
tychovrahe
79feb690ad fix(core/mercury): prefer vertical swipes over horizontal 2024-07-29 15:47:24 +02:00
Ioan Bizău
6f96585d4b feat(core): make brightness an u8
[no changelog]
2024-07-29 13:30:34 +03:00
tychovrahe
a15dd6598f fix(core/mercury): improve share words swiping animation 2024-07-29 09:07:35 +02:00
obrusvit
008490bf4b refactor(core/mercury): unify confirm TOS
[no changelog]
2024-07-28 23:14:12 +02:00
obrusvit
f41176af02 feat(core/mercury): change FW update UI
This commit changes the UI of confirming interaction-less firmware
update.
2024-07-28 22:11:30 +02:00
Martin Milata
888e384f79 refactor(core/mercury): remove unnecessary Child
[no changelog]
2024-07-25 21:09:43 +00:00
obrusvit
c6df2179d6 fix(core): show correct word count in more info
Make translated strings describing recovery shares templated so that we
can show correct number of words (i.e. 20 or 33) in more info.
2024-07-22 12:09:16 +02:00