Richard van der Hoff
ce03f016b9
Copy unbase64.js into the right place
2022-11-01 10:19:13 +00:00
Richard van der Hoff
4557494da6
Optimise unbase64
...
Use a lookup table instead of a function with if statements
2022-11-01 10:18:44 +00:00
Richard van der Hoff
093856671a
Encode the WASM as base64
...
Some nasty hackery to get around the nastiness of the JS ecosystem
2022-10-31 22:39:44 +00:00
Ivan Enderlin
471ac07c88
fix(crypto-nodejs): Set KeepAlive to false since Node.js v19
...
Disable keepAlive in download-lib.js, allowing node bindings to work on Node.JS 19
2022-10-31 14:35:57 +01:00
Will Hunt
f4f3ca4b25
A newline
2022-10-31 13:18:16 +00:00
Will Hunt
c009f54ba9
Tidy
2022-10-31 13:17:48 +00:00
Will Hunt
546dc9a652
Run CI against 19
2022-10-31 13:04:05 +00:00
Will Hunt
717f86332f
Disable keepalive to prevent hanging connections
2022-10-31 12:39:23 +00:00
Jonas Platte
6c975b01b5
Revert #1151
...
This reverts the commits
- cacb20e3ef
- 01cc896dab
2022-10-31 12:03:23 +01:00
Ivan Enderlin
182733e984
feat(crypto-js): OlmMachine.initialize is the new constructor
...
feat(crypto-js): `OlmMachine.initialize` is the new constructor
2022-10-31 11:41:50 +01:00
Andy Uhnak
e4964b92a2
Local trust
2022-10-31 11:14:04 +01:00
Ivan Enderlin
bdf460cd91
doc(crypto-js): Rephase something.
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2022-10-31 11:07:21 +01:00
Ivan Enderlin
0276552c72
feat(crypto-js): Use WeakRef to avoid calling free manually
...
feat(crypto-js): Use `WeakRef` to avoid calling `free` manually
2022-10-31 11:06:45 +01:00
Ivan Enderlin
3441c6cf9a
feat(crypto-js): Use WeakRef to avoid calling free manually.
...
By asking `wasm-bindgen` to generate JS glue code for `WeakRef` support,
it removes the need to call `free` manually to free objects, thus we reduce
potential memory leaks inside Rust. See https:// rustwasm.github.io/docs/wasm-
bindgen/reference/weak-references.html to learn more.
It uses [`FinalizationRegistry`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry )
under the hood, I reckon it's quite common and fits into Matrix's clients needs
in terms of browser support.
2022-10-28 21:02:35 +02:00
Ivan Enderlin
a07f89e340
feat(crypto-js): OlmMachine.initialize is the new constructor.
...
While technically a type constructor can return a `Promise`, it's not
considered as idiomatic JavaScript to do that. We are changing `new OlmMachine`
to `OlmMachine.initialize`. The rest of the code is strictly the same.
2022-10-28 20:37:46 +02:00
Benjamin Kampmann
cacb20e3ef
fix(ffi): Remove duplicate RequireState definition, left over after #1151 ( #1155 )
matrix-sdk-crypto-ffi-0.1.5
2022-10-28 13:38:21 +02:00
Benjamin Kampmann
255d3b7a18
Merge pull request #1154 from matrix-org/stefan/sessionVerificationFixes
...
Sliding Sync FFI and DevEx fixes
2022-10-28 11:40:33 +02:00
Jonas Platte
6ad7d29364
refactor(sdk): When processing remote events, check for duplicates
2022-10-28 11:30:32 +02:00
Jonas Platte
333c4f0644
refactor(sdk): Move timeline event origin_server_ts and raw_event fields
...
… from TimelineEventMetadata to Flow because they always exist for
remote events, and never for local echoes.
2022-10-28 11:30:32 +02:00
Jonas Platte
6ce23b17a6
refactor(sdk): Update tracing event for local echo not being found
2022-10-28 11:30:32 +02:00
Benjamin Kampmann
0cb34f7c86
fix: style fixes
2022-10-28 11:01:54 +02:00
Jonas Platte
0d84cf7b74
refactor(sdk): Make Debug format of EventTimelineItem less noisy
2022-10-28 10:56:28 +02:00
Jonas Platte
f2ea72224d
feat(bindings): Add {TimelineItem,EventTimelineItem}::fmt_debug
2022-10-28 10:56:28 +02:00
Jonas Platte
01cc896dab
refactor(bindings): Use uniffi proc-macros a little more in sdk-ffi
2022-10-28 10:55:46 +02:00
Benjamin Kampmann
278c6059ae
perf(sliding-sync): run outgoing e2ee requests and sync in parallel.
...
And continue the loop if even we hit an error in between
2022-10-27 15:59:02 +01:00
Benjamin Kampmann
d164165c7c
fix(ffi): remove extra to-device processing
2022-10-27 15:57:36 +01:00
Benjamin Kampmann
0e59078211
fix(ffi): call process_sync_error of client for sliding-sync errors. break if wnated
2022-10-27 12:32:49 +01:00
Benjamin Kampmann
120d5edb03
feat(sliding-sync): Replace anyhow with proper Error type
2022-10-27 12:32:05 +01:00
Benjamin Kampmann
afc33e616c
revert start_sync removal
2022-10-27 12:06:06 +01:00
Jonas Platte
324411201e
fix(sdk): Enable required ruma features for experimental-timeline
2022-10-27 12:56:51 +02:00
Jonas Platte
e1ecc9de0d
chore: Bump versions of matrix-sdk, matrix-sdk-base
...
… to bring them up to the released ones from the v0.6.x branch.
All changes from those versions are already present on main.
2022-10-27 12:56:37 +02:00
Jonas Platte
c9c4473cd4
ci: Cache xtask for bindings checks
2022-10-27 11:58:42 +02:00
Jonas Platte
41be4c5209
ci: Test bindings generation
2022-10-27 11:58:42 +02:00
Jonas Platte
426f60a6a2
ci: Add bindings check to xtask
2022-10-27 11:58:42 +02:00
Jonas Platte
eddf202a76
chore: Upgrade UniFFI
2022-10-27 11:27:28 +02:00
Stefan Ceriu
d4cd8710a4
Refactor the SessionVerification flows and get them working through sliding sync
2022-10-27 10:45:05 +03:00
Benjamin Kampmann
a443e7277d
feat: Add sliding sync timeline events and extensions ( #1054 )
...
Add general extension framework for sliding sync, implementing the e2ee, to-device and account-data extensions as per existing proxy implementation. Add a new (ffi exposed) function to use activate the extensions.
Also extends jack-in to have permanent login and storage support now, rather than posting an access token and expose messages inside the sliding-sync layer to actually use the decrypted messages if given. Contains a lot of fixes around these aspects, too, like uploading any remaining messages from the olm-machine on every sliding-sync-request or processing even if no room data is present (which can happen now as processing only extensions might takes place).
matrix-sdk-crypto-ffi-0.1.4
2022-10-25 13:42:43 +02:00
Jonas Platte
2232092f11
refactor(sdk): Move timeline event handling fns to TimelineInner
2022-10-25 13:03:52 +02:00
Damir Jelić
2547d6ed64
fix(crypto): Don't create an infinite amount of streams in the SAS examples
2022-10-25 13:00:27 +02:00
Damir Jelić
6cb37520ce
docs(bindings): Document the EncryptionSettings a bit better
2022-10-25 12:44:18 +02:00
Jonas Platte
50a5ec89e9
chore: Fix more clippy lints
2022-10-25 12:20:07 +02:00
Jonas Platte
285dc129c3
chore(crypto): Clean up SecretInfo::as_key implementation
2022-10-25 12:20:07 +02:00
Jonas Platte
a59fdc08bb
chore: Fix clippy lints
...
Automated with cargo clippy --fix.
2022-10-25 12:20:07 +02:00
Jonas Platte
9de98dfa65
fix(sdk): Remove token field from SyncSettings Debug output
2022-10-24 13:14:30 +02:00
Damir Jelić
c03c90c1cf
feat(bindings)!: Allow passing the E2EE settings when sharing a room key
2022-10-24 09:50:57 +02:00
Damir Jelić
4a6208f808
feat(crypto): Add signaling to the SAS verification
...
This patch adds a way for users to listen to changes in the state of a
SAS verification.
This makes it much more pleasant to go through the verification flow and
incidentally easier to document it.
2022-10-24 09:50:17 +02:00
Jonas Platte
1aa48beca9
Revert "refactor(bindings): Use new uniffi::Enum derive macro in crypto-ffi"
...
This reverts commit 6b9075aa42 .
2022-10-20 17:41:16 +02:00
Jonas Platte
e05444554d
chore: Fix typo in comment
2022-10-20 14:14:18 +02:00
Jonas Platte
411095425c
refactor(sdk): Make ClientBuilder::{sled_store, indexeddb_store} simple setters
2022-10-20 13:35:06 +02:00
Jonas Platte
6b9075aa42
refactor(bindings): Use new uniffi::Enum derive macro in crypto-ffi
2022-10-20 12:53:09 +02:00