Ioan Bizău
c91590426d
feat(core): add nostr
2024-12-11 15:22:03 +01:00
M1nd3r
01cf58f2a1
docs(core): add and modify docs to context and cache
...
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
8eb62fdeca
refactor(core): abstract cache and context
...
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
e434aabc77
chore(core): remove unused session_id from codec_v1
...
[no changelog]
2024-11-15 08:47:24 +01:00
matejcik
8fb41ee290
feat(core): enforce return type annotations
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
1fc7d41b8d
fix(core): set default value for do_not_restart
...
otherwise if _handle_single_message raises an exception (which is
fortunately not something that should generally happen), the
finally-block would fail on "referenced before assignment"
2024-11-12 16:55:17 +01:00
matejcik
7617bc8c25
refactor(core): remove debuglink support from main handle_session
...
It is being moved into a custom handler for the debug app.
2024-11-12 16:55:17 +01:00
matejcik
cab6fd0799
refactor(core/wire): move restarting control to handle_single_message
...
that way it is possible to avoid restarting if we failed to find a
handler for a message (makes it faster with no ill effects because
"failed to find handler" (a) shouldn't happen and (b) doesn't cause any
significant fragmentation)
2024-06-05 12:35:09 +03:00
Ioan Bizău
8870869f93
chore(core): rename recovery type & kind and tweak feature flags
2024-06-05 12:35:09 +03:00
matejcik
49daeaa746
refactor(core): introduce wire filters
2024-06-05 12:35:09 +03:00
Martin Milata
3efa0f6bbd
feat(core/ui): sending button requests from rust
...
[no changelog]
2024-05-28 21:20:38 +00:00
matejcik
29863f84ca
refactor(core): simplify context.wait() to only accept one task
...
Nobody was using the multi-task version and this is easier to properly
type-annotate.
2024-03-07 09:53:00 +01:00
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