matejcik
959cf7d515
fix(core/homescreen): properly redraw when an outside process kills homescreen
...
This happens with FIDO which does not use the normal workflow management
and so `workflow.close_others()` is never called.
2021-05-06 13:14:21 +02:00
matejcik
2cb379108c
refactor(core/homescreen): load homescreen image on-demand
2021-05-06 13:14:21 +02:00
matejcik
f6f3c7ffcf
fix(core): prevent flickering when homescreen does not need to redraw
2021-05-06 13:14:21 +02:00
Martin Milata
ac711fb8ee
style(core): use more recent type annotation syntax
...
https://www.python.org/dev/peps/pep-0585/ - Type Hinting Generics In Standard Collections
https://www.python.org/dev/peps/pep-0604/ - Allow writing union types as X | Y
2021-04-01 11:12:30 +02:00
Martin Milata
9b60cc0098
feat(core): restart loader from current position
...
On "hold to confirm" dialogs, when you hold your finger, lift it, and
quickly hold again, the progress bar jumps to the beginning. This commit
changes the behavior so the progress continues from its current position
of the reverse animation.
2021-02-24 00:10:10 +01:00
Martin Milata
192d0dcf87
feat(core): hold homescreen to lock
2021-02-24 00:10:10 +01:00
Martin Milata
fa1566cb71
refactor(core): call super().__init__() in Component and Layout subclasses
2020-11-30 14:48:08 +01:00
Martin Milata
830592f2d9
feat(core): add experimental_features setting
...
The setting is off by default. When it is enabled protobuf messages
marked UNSTABLE are rejected after decoding.
2020-10-16 13:53:31 +02:00
matejcik
cea634158a
core: make sure Homescreen is properly initialized ( fixes #1095 )
2020-08-05 14:22:06 +02:00
Tomas Susanka
a6acefbdf5
core: wipe before reset and recovery; introduce 'intialized' field
2020-06-16 11:31:29 +02:00
matejcik
7579ac5274
core: fix rendering issues in homescreens
2020-06-04 16:18:46 +02:00
matejcik
847691798b
core: simplify homescreen and lockscreen implementations
2020-06-04 16:18:46 +02:00
matejcik
4bc865794f
core: only unlock storage if it is locked (solves determinism issue in tests)
2020-06-04 16:18:46 +02:00
matejcik
70f67883c5
core: fix artifacts in click-based UI tests
2020-06-04 16:18:46 +02:00
matejcik
a4f47ddd21
core/lockscreen: ignore exception when user taps "unlock" and then cancels
2020-06-04 16:18:46 +02:00
matejcik
7ff1251ee1
core: dim lockscreen ( fixes #974 )
2020-06-04 16:18:46 +02:00
matejcik
a9ddc2a8e2
core/boot: modify initial lockscreen label
2020-06-04 16:18:46 +02:00
matejcik
09af8aed4e
core: consider lockscreen to be a separate homescreen
...
this involves some changes to the workflow defaults:
* workflow.start_default() takes no arguments
* workflow.set_default() (originally replace_default) configures the
default that will be started by next call to start_default().
The intended usecase is to set_default() first and then start it
separately.
* apps.base.set_homescreen() factors out the logic originally in
main.py, that decides which homescreen should be launched. This uses
set_default() call. start_default() is then used explicitly in main.py
2020-06-04 16:18:46 +02:00
matejcik
04c8b2803d
core: refactor homescreen app, include lockscreen in it
2020-06-04 16:18:46 +02:00
matejcik
d5e45c02bb
core: move base functions from "homescreen" app to "base"
2020-06-04 16:18:46 +02:00
Tomas Susanka
6c47bf8230
core: store multiple sessions/caches at the same time
2020-02-21 14:40:42 +01:00
matejcik
1e9352b9e0
core: add SD format dialog, generalize sdcard usage
2020-02-20 12:51:48 +01:00
Tomas Susanka
15ed5cd19e
core: do not clear cache on ClearSession
2020-02-07 11:41:03 +00:00
Tomas Susanka
c65b57affb
core, legacy: remove passphrase_cached
2020-02-07 11:41:00 +00:00
Tomas Susanka
a3f3d4fcdb
remove ping.passphrase/pin
2020-02-07 11:41:00 +00:00
Tomas Susanka
cd09f9ce94
all: modify passphrase source to always on device
2020-02-07 11:40:59 +00:00
Tomas Susanka
eafd57c301
common, core: add passphrase entry capability
2020-02-07 11:40:58 +00:00
Tomas Susanka
90d5cdfd5b
all: rework passphrase
...
The `on_device` field is being moved to PassphraseAck, State messages
are removed. Features newly contain `session_id`.
2020-02-07 11:40:58 +00:00
Pavol Rusnak
bb8d809a6d
common: change language field to IETF BCP 47 language tag
2019-12-08 11:27:10 +01:00
Andrew Kozlik
1bc8226a50
common, core: Add wipe_code_protection to the Features message.
2019-11-25 12:32:20 +01:00
matejcik
33bd4d3ba9
Merge branch 'master' into matejcik/storage-relocation
2019-11-07 12:51:02 +01:00
Tomas Susanka
ca484b2c06
core: remove persistence boot and set recovery as a default workflow
2019-11-07 11:27:45 +01:00
matejcik
5c93ecd53a
core: create top-level storage module
...
This is to avoid including app-specific functionality in storage and
avoid circular imports. The following policy is now in effect: modules
from `storage` namespace must not import from `apps` namespace.
In most files, the change only involves changing import paths.
A minor refactor was needed in case of webauthn: basic get/set/delete
functionality was left in storage.webauthn, and more advanced logic on
top of it was moved to apps.webauthn.resident_credentials.
A significant refactor was needed for sd_salt, where application (and
UI) logic was tightly coupled with the IO code. This is now separated,
and storage.sd_salt deals exclusively with the IO side, while the app/UI
logic is implemented on top of it in apps.common.sd_salt and
apps.management.sd_protect.
2019-10-31 16:21:56 +01:00
Tomas Susanka
0511cc8b8c
core: add final mypy fixes!
2019-10-22 14:36:25 +00:00
Tomas Susanka
0f34b50c05
core/features: add sd card and protection
2019-10-17 16:04:11 +02:00
Tomas Susanka
cefb1cf4fd
core: refactor slip39
2019-09-19 16:38:29 +02:00
Pavol Rusnak
1a71c7a3e8
common: rename Features.features to Features.capabilities
2019-08-28 15:02:30 +02:00
Pavol Rusnak
dde4c12796
common: add Feature.ShamirGroups to features
2019-08-28 09:25:11 +02:00
Pavol Rusnak
74bc83726c
common: add Feature.Shamir to features
2019-08-27 17:17:26 +02:00
Pavol Rusnak
9ae319211f
core: fill in Features.features
2019-08-23 13:52:14 +02:00
Jan Pochyla
6d1a315b0e
core/homescreen: render homescreen in a layout
...
FIxes a bug introduced in bb25562
2019-08-22 16:08:38 +02:00
Jan Pochyla
bb2556a22c
core: improve code documentation, simplify wire package
...
* docs: improve loop.py, ui.init
* docs: improve trezor.loop, rename spawn to race
* docs: wire
* core/wire: simplify and document the session handler
* core/wire: improve documentation
* core/wire: improve docs
* core/docs: document ui.grid function
* core: decouple ui and workflow, document both
* core: improve docs
Co-authored-by: Tomas Susanka <tsusanka@gmail.com>
2019-08-20 16:20:02 +02:00
Tomas Susanka
a8c9a4ddc4
core/shamir: send boolean flag in Features that Recovery is in progress
2019-07-26 16:38:05 +02:00
Jan Pochyla
ebe883e4a9
core: support rebooting into default mode
2019-07-24 15:12:04 +02:00
Tomas Susanka
d2597d54c1
core/shamir: persistence
...
updates #270
2019-07-24 15:12:04 +02:00
Tomas Susanka
8f4bbb8825
core/homescreen: move err and warn to ui module
2019-07-24 12:55:12 +02:00
Jan Pochyla
758a1a2528
core/typing: add annotations
2019-07-09 12:51:48 +02:00
Tomas Susanka
46e4c02602
core: refactor storage
...
Each namespace now has its own file in apps.common.storage and
storage/__init__ serves as an entry point.
Updates #274 .
2019-07-08 15:24:56 +02:00
Tomas Susanka
80f8f7900d
core: add slip39 support to reset and recovery device
2019-06-23 21:33:58 +02:00
Pavol Rusnak
54d348228f
all: rename TREZOR to Trezor where possible
2019-06-17 20:28:29 +02:00