matejcik
5f016a896a
chore: upgrade style checkers
...
black 24.2.0
flake8 7.0.0
some neat improvements for if-else statements there
2024-02-29 13:08:18 +01:00
obrusvit
8c5f73c413
docs: improve documentation for core
...
[no changelog]
2024-02-13 16:51:54 +01:00
matejcik
edc2add85e
style(core): apply isort 5
...
[no changelog]
2023-08-16 13:29:51 +02:00
matejcik
fe80793b47
feat(core): keep track of current context for workflow
2023-07-12 10:09:36 +02:00
grdddj
523fdd8157
chore(core): make minor improvements
2023-05-11 21:02:21 +02:00
Martin Milata
14a8b0c62b
fix(core): do not touch idle timer on USB events
2023-04-07 19:44:32 +02:00
grdddj
d1732ae9bc
chore(core): delete unused variables
2022-11-10 14:08:28 +01:00
grdddj
52558c7b96
chore(core): use more const to decrease space
2022-11-10 14:08:28 +01:00
Andrew Kozlik
3d645d609a
chore(common): Rename "unstable" protobuf tag to "experimental_message".
...
[no changelog]
2022-11-02 14:58:01 +01:00
matejcik
ac6936d65d
fix(core/debug): separate buffer for debuglink to prevent BufferLock deadlocks
...
[no changelog]
2022-10-19 14:24:59 +02:00
grdddj
3d505874aa
feat(ci): create pyright tool and include it in CI
...
[no changelog]
2022-03-02 15:43:50 +01:00
Pavol Rusnak
b9bbd5fcd7
chore: update dependencies
...
[no changelog]
Co-Authored-By: Martin Milata <martin@martinmilata.cz>
2022-02-15 13:28:03 +01:00
grdddj
9fc5bb546b
style(core): full pyright-based type-checking
...
Changes many fields to required -- as far as we were able to figure out,
signing would fail if these fields aren't provided anyway, so this
should not pose a compatibility problem.
Co-authored-by: matejcik <ja@matejcik.cz>
2022-01-07 21:41:17 +01:00
matejcik
e972839ac7
style(all): fix pylint complaints
...
[no changelog]
2021-10-27 13:13:15 +02:00
amadejpapez
85ba7c12ba
style(all): use f-strings for formatting
...
[no changelog]
2021-10-13 11:53:17 +02:00
matejcik
b666895303
feat(core/rust): catch, handle and propagate uPy exceptions
2021-09-21 12:43:31 +02:00
matejcik
cb882df100
feat(core): in debug mode, dump contents of received protobuf messages
...
[no changelog]
2021-07-23 11:46:24 +02:00
Martin Milata
8da978981e
perf(core): share wire buffer between wire and debuglink
...
[no changelog]
2021-07-22 15:12:22 +02:00
Jan Pochyla
a8623c4b59
refactor(core): fix imports and use new protobuf API in apps
2021-06-08 09:55:19 +02:00
Jan Pochyla
02aa14fc04
refactor(core): Switch to new Protobuf API
2021-06-08 09:55:19 +02:00
matejcik
86089fa5ad
feat(core): avoid restarting session for select messages ( fixes #1631 )
2021-06-01 14:07:29 +02:00
matejcik
411a7bb802
fix(core/wire): handle codec errors better
2021-05-06 13:14:21 +02:00
matejcik
93db39ad70
fix(core/wire): drop unused reader, clarify writer usage
2021-05-06 13:14:21 +02:00
matejcik
dd655422f1
refactor(core/wire): simplify the message handling loop
2021-05-06 13:14:21 +02:00
matejcik
b1ca6ca848
refactor(core/debug): offload debug configuration from apps.debug
2021-05-06 13:14:21 +02:00
matejcik
7ca67cc4d9
feat(core): clear out memory space after every workflow
...
A small fixed list of modules is kept pre-loaded in the GC arena.
These must not keep references to anything else, as all other modules
are unloaded and the memory is cleared.
2021-05-06 13:14:21 +02:00
matejcik
e629a72c3a
refactor(core): move app registrations to a single handler function
...
apps.webauthn.boot() does not need an if-condition because it's only
called from session.py when the usb interface is enabled
This means that they do not need to be stored in RAM at all. The obvious
drawback is that we need to hand-edit the if/elif sequence, but we don't
register new handlers all that often so 🤷
2021-05-06 13:14:21 +02:00
matejcik
3cdb09c294
refactor(core): modify cache to preallocate all its data
...
also get rid of expensive "wire" import
2021-05-06 13:14:21 +02:00
matejcik
b0116d0bdc
refactor(core): modify wire to preallocate its buffers
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
8b3ac659a0
style(core): mypy: disable implicit Optional for function arguments
...
https://www.python.org/dev/peps/pep-0484/#union-types
2021-04-01 11:12:30 +02:00
Pavol Rusnak
a1dda836ec
style(core/src): use new syntax for typing
2020-12-01 15:52:29 +01:00
Martin Milata
ee64b65b26
refactor(core): call super().__init__() in 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
b0a2297b14
feat(core): convert protobuf decoding errors to DataErrors
2020-09-23 16:00:10 +02:00
matejcik
e0583dd5cb
all: use a specific error code for "invalid session"
2020-08-28 15:37:06 +02:00
matejcik
1ff4a0d239
core: separate BufferIO into Reader (read-only) and Writer
...
also integrates BytearrayReader API into BufferReader
2020-07-24 14:09:31 +02:00
matejcik
3514a31bc9
core: make USB codec resilient to OOM conditions
2020-07-24 14:09:31 +02:00
matejcik
31e2170766
core: make protobuf buffer smaller, dynamically allocate bigger if necessary
2020-07-24 14:09:31 +02:00
matejcik
01d695283f
core: make protobuf buffer bigger
2020-07-24 14:09:31 +02:00
matejcik
0c3bc53aee
core: clean up types for field caching, fix count_message
2020-07-24 14:09:31 +02:00
matejcik
d568afa80d
core: improve protobuf field caching
2020-07-24 14:09:31 +02:00
matejcik
85d74ece76
core: implement synchronous v1 codec
2020-07-24 14:09:31 +02:00
matejcik
a9d8fd3992
core: debuglink interface avoids workflow management
...
This will have unintended consequences if you call a wirelink function
on the debulink interface. TT allows this ... and will behave badly.
2020-06-04 16:18:46 +02:00
matejcik
2d0206c043
core: replace workflow.on_start/on_close with workflow.spawn
2020-06-04 16:18:46 +02:00
matejcik
67b723e4ca
core: add a global idle timer
2020-06-04 16:18:46 +02:00
matejcik
246998910a
core: refactor usage of input_signals
...
this prevents a certain class of UI test failure. It also localizes the
use of debuglink signals into the layout classes instead of call sites,
which is a design we were already using for confirm_signals
2020-06-04 16:18:46 +02:00
matejcik
eabfcab9b9
core: add default messages to some error codes
2020-06-04 16:18:46 +02:00
matejcik
341c5b7d10
core/wire: make handler lookup pluggable
2020-06-04 16:18:46 +02:00
matejcik
123b07e3ad
core: drop support for pre-registering keychain namespaces
2020-05-15 16:30:41 +02:00