Christian Pauly
da8ebe85ef
fix: Do not try to decrypt redacted events
2022-10-28 12:25:35 +02:00
Nicolas Werner
c8a97ce7f8
Merge branch 'krille/on-secret-stored-stream' into 'main'
...
feat: Add onSecretStored StreamController to SSSS
Closes #331
See merge request famedly/company/frontend/famedlysdk!1135
2022-09-20 07:42:04 +00:00
Christian Pauly
f0356532be
feat: Add onSecretStored StreamController to SSSS
2022-09-19 15:15:27 +02:00
Christian Pauly
403824b261
feat: Store original event
2022-09-19 09:40:42 +02:00
Christian Pauly
3976b0f1e2
refactor: Avoid using private types in public api
2022-08-30 11:55:17 +02:00
Krille Fear
d30d1a8cf9
Merge branch 'nico/dehydrated-devices' into 'main'
...
feat: support dehydrated devices
Closes #315
See merge request famedly/company/frontend/famedlysdk!1111
2022-08-29 13:18:02 +00:00
Nicolas Werner
dd1f61c29e
feat: support dehydrated devices
2022-08-29 13:05:55 +02:00
Christian Pauly
81e55ade67
feat: Allow auto request keys via key sharing requests
2022-08-28 13:59:34 +02:00
Christian Pauly
994faf1012
fix: Decrypt of last event might make an old message as last event
...
We should only decrypt the
last message in room if it is
the current last message.
By just fetching the state
we might bring up an old
encrypted message which
is not really the last event.
2022-08-21 14:10:29 +02:00
Nicolas Werner
a47833ab80
Merge branch 'nico/lints' into 'main'
...
feat: switch from pedantic to lints
See merge request famedly/company/frontend/famedlysdk!1094
2022-08-15 14:15:51 +00:00
Nicolas Werner
6555f36d6d
feat: switch from pedantic to lints
2022-08-15 14:15:51 +00:00
Christian Pauly
527bcc63ad
refactor: Add reference to itself in bootstrap onUpdate callback
2022-08-12 15:23:32 +02:00
Lanna Michalke
05ff61ac86
chore: introduce native implementations
...
- adds Client.nativeImplementations
- deprecates Client.compute
Allows to properly implement accelerated native operations in web
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-07-28 13:30:22 +02:00
Christian Pauly
7885281c72
refactor: Use import sorter and ci templates
2022-07-21 15:44:04 +02:00
Nicolas Werner
6e211f5a81
fix: race conditions in the SDK and its tests
2022-07-13 00:36:49 +00:00
Krille Fear
3f3d4d38d6
refactor: Migrate to Matrix Api Lite 1.0.0
2022-05-17 22:50:04 +00:00
Christian Pauly
5fbd0a73a4
chore: Make sure account data and device keys is loaded when using isCached
2022-05-12 13:48:13 +02:00
Christian Pauly
bce45cbf2b
refactor: Remove old deprecations
...
They have been lived long
enough and the next version
will have breaking changes
anyway.
2022-04-22 12:44:45 +02:00
h.carnot
2cd4eb5e2c
fix: remove pendaing outbound group session creation on completed or errored
2022-03-24 13:52:28 +01:00
Christian Pauly
f1d422b89a
fix: Dont encrypt reactions
...
This fixes that server
sends notifications for reactions.
2022-03-15 08:42:53 +01:00
Lanna Michalke
cab03aa73b
fix: Allow unpadded base64 decoding
2022-01-11 09:02:34 +00:00
Krille Fear
3bce8b4489
refactor: Remove unnecessary type checks and imports
2021-12-23 11:46:45 +01:00
Sorunome
872bc04674
fix(ssss): Strip all whitespace characters from recovery keys upon decode
...
Previously we stripped all spaces off of the recovery when decoding it,
so that we could format the recovery key nicely. It turns out, however,
that some element flavours also format with linebreaks, leading to the
user having to manually remove them. We fix this by just stripping *all*
whitespace off of the recovery key.
2021-12-05 12:19:22 +01:00
Krille Fear
03418bfe8b
chore: Enable E2EE recovery by default
...
We have disabled it by default to
prevent using workarounds as
long time solutions and to not
miss bugs. But in a federated
context we can not be sure that
we all Matrix clients are ever
bug free and we have now the
onEncryptionError Stream
anyway.
2021-11-25 15:48:17 +01:00
Krille Fear
f3775fa5ba
fix: Decrypt last event of a room
2021-11-22 10:18:44 +01:00
Krille Fear
048b7faba0
fix: JSON parsing in decryptRoomEvent method
...
This makes the use of the
event content null safe and
type safe which fixes a
regression when sessionId is
null.
2021-11-10 09:19:40 +01:00
Krille Fear
9be87918f1
refactor: Make room in Event class not nullable
2021-11-04 14:21:04 +01:00
td
3130931f0d
Merge branch 'krille/dont-upload-keys-after-logout' into 'main'
...
fix: Do not upload keys after logout
Closes #213
See merge request famedly/company/frontend/famedlysdk!866
2021-10-29 13:21:01 +00:00
Krille Fear
176dbbeda9
fix: Do not upload keys after logout
...
This should fix a race condition where uploading keys is still ongoing
after user has already logged out.
2021-10-28 16:46:45 +02:00
Nicolas Werner
7d78233bf0
refactor: remove literal boolean comparisons leftover from nullsafety conversion
2021-10-28 14:40:22 +02:00
Nicolas Werner
6e20c53b01
refactor: remove redundant null checks
2021-10-28 14:32:09 +02:00
Nicolas Werner
ebd5bc3d24
refactor: make room nullsafe
2021-10-28 00:54:25 +02:00
Nicolas Werner
fb0a84d7b2
refactor: make client nullsafe
2021-10-25 16:34:02 +02:00
Nicolas Werner
17fd1f22b3
refactor: make event nullsafe
2021-10-25 10:10:25 +00:00
Krille Fear
d2ee73f96f
chore: Bump version
2021-10-25 11:19:45 +02:00
Krille Fear
7a85d52d93
fix: Remove unnecessary null check
2021-10-25 11:11:55 +02:00
Nicolas Werner
60956bde00
chore: port the remaining encryption files to nullsafety
2021-10-13 13:58:21 +00:00
Lukas Lihotzki
a7818bbd0f
refactor: null safety for all utils
2021-10-05 15:41:25 +02:00
Lukas Lihotzki
4bd659fd56
style: remove unneeded trailing comma
2021-09-30 15:53:43 +02:00
Lukas Lihotzki
85004e1faf
refactor: capture member variables as finals
2021-09-30 15:53:43 +02:00
Lukas Lihotzki
41d905ca60
refactor: use more ?.
2021-09-30 15:53:43 +02:00
Nicolas Werner
71e5ec1bb5
style: use map entry with explicit types over cast
2021-09-30 12:58:37 +00:00
Nicolas Werner
6f7f7100e1
fix: use explicit type in fold instead of cast
2021-09-30 12:58:37 +00:00
Nicolas Werner
7dd176c278
fix: apply review feedback
2021-09-30 12:58:37 +00:00
Nicolas Werner
08bbb3f6f5
fix: prefer ! over ?
2021-09-30 12:58:37 +00:00
Nicolas Werner
d15c71e5b3
fix: pre vs postcrement confusion
2021-09-30 12:58:37 +00:00
Nicolas Werner
e5682fcb91
refactor: remove clientid from encryption code
2021-09-30 12:58:37 +00:00
Nicolas Werner
1c838e3be8
fix: Cleanup nullsafe encryption a bit
2021-09-30 12:58:37 +00:00
Nicolas Werner
a196b53219
refactor: nullsafe encryption
2021-09-30 12:58:37 +00:00
Krille Fear
62fe7a1704
fix: New verification requests on requesting history
...
If requesting history happens to contain a m.key.verification.request we currently create a new key verification object and push it to the client.
This fixes it.
2021-09-27 14:51:25 +02:00
Jayesh Nirve
77ca7523d0
refactor: remove unused clientId
2021-09-24 16:05:05 +02:00
Sorunome
b41c7b1bc6
fix: Don't re-play m.dummy to_device events
...
If both ends had m.dummy events queued as last messages an an olm
session corrupted, then the clients landed in an infinite game of
ping-pong. It was so stable, that the clients could have won the
ping-pong world championships!
2021-09-21 10:05:51 +02:00
Sorunome
fe9145d580
fix: missing null check
2021-09-18 07:50:45 +00:00
Sorunome
0611ea1495
fix: Auto-reply key requests
2021-09-16 22:14:41 +02:00
Christian Pauly
00771fc209
refactor: _updateUserDeviceKeys method
2021-09-13 14:58:07 +02:00
Nicolas Werner
e000fbf9be
fix: compilation against newer matrix_api_lite
2021-09-10 16:40:40 +02:00
Christian Pauly
630203e7b6
fix: Check if database got disposed in keyManager
2021-09-03 15:05:34 +02:00
Christian Pauly
9c1f79359e
refactor: Replace all logic regarding sortOrder
...
The current implementation of sortOrder can be made way more easier now
by just keeping the sortOrder of the list
and the timelineFragments in the hiveStore. This needed a huge
change but mostly removes a lot of code which can be done
way more easy now. This also needed some rewriting of the setState logic and changes to
the prevEvent calculation. This solution should also be more stable.
More information:
https://www.reddit.com/r/fluffychat/comments/pfnlhq/the_sort_order_of_matrix_timelines/
2021-09-02 07:13:38 +00:00
Christian Pauly
fb62307730
fix: Check if client is disposed in a callback
...
This fixed an edge case in the tests.
2021-09-02 06:43:06 +00:00
Christian Pauly
9b7474e2f2
refactor: Update to dart 2.12 and opt out in all files
...
This also adds some missing license headers, I have detected while
using license header search&replace to add the
null safety opt out
2021-08-18 08:09:39 +02:00
Sorunome
98b0bd4322
feat: Add a way to get a verification request by its transaction id
...
A client might find the need to get the verification request object by
its transaction id, to be able to e.g. display for in-room verification
an "accept verification request" button easily.
2021-08-17 15:03:30 +00:00
Marcus
f91f662c75
chore: update to matrix_sdk_lite 0.4.1
2021-08-05 12:10:45 +00:00
Nicolas Werner
08c808562b
fix: Typo in key backup requests
...
This may lead to messages not decrypting after interactive verification,
which would make the user manually press the request keys button.
2021-08-03 13:18:15 +00:00
Nicolas Werner
162436cc8d
fix: accidental OTK uploads on internal fakeSync
2021-08-02 20:52:09 +02:00
Christian Pauly
e8d511a371
fix: Missing null checks in syncUpdate handling
2021-07-27 10:49:50 +02:00
Lukas Lihotzki
46b2f8898e
fix: use TryGet.optional
2021-07-26 15:33:36 +02:00
Lukas Lihotzki
8665f092f4
chore: matrix_api_lite 0.4.0
2021-07-26 14:54:22 +02:00
Nicolas Werner
179f73db3a
fix: Upload OTKs if the otk_count field is missing
...
fixes #180
2021-07-26 09:47:05 +02:00
Christian Pauly
209035ffbd
refactor: Use official Dart isolates
...
The isolates package is discontinued and not compatible
with the newest Dart version.
dart:isolate is not an option because importing this
library makes it impossible to run the matrix
SDK on dart web native. It just won't
build. So we now just depend on
that the flutter app pass through the compute method.
2021-07-21 12:34:43 +02:00
Christian Pauly
99c900be9c
fix: Add missing null check
...
With Synapse 1.38 SyncUpdate.accountData is null if it is empty.
2021-07-19 09:18:23 +02:00
Christian Pauly
69b52ba85b
refactor: Move pedantic to dev_dependencies
...
The unawaited method from the pedantic package was a historic solution
for the case that you dont want to await a future in an async function.
But now we can do this with just a comment which
is the recommended way to do this now.
This makes it possible to have pedantic as a dev_dependency which means just one dependency less.
2021-06-18 10:15:59 +02:00
Christian Pauly
c0c7f68bf3
chore: Rename to matrix
2021-06-18 09:58:25 +02:00
Christian Pauly
9631cea83a
feat: Add toJson method for StoredInboundGroupSession
2021-06-01 12:51:17 +02:00
Christian Pauly
c3d47b16c6
CI: Use correct image
2021-05-25 10:46:34 +02:00
Christian Pauly
c66e35c16c
refactor: Create a clean database API
2021-05-20 07:36:03 +00:00
Lukas Lihotzki
c196610998
chore: operation names from OpenAPI spec
2021-05-12 13:56:16 +02:00
Lukas Lihotzki
fdf650abd5
refactor: avoid if-condition based on bit value
2021-04-26 18:48:54 +02:00
Lukas Lihotzki
b4f755388a
refactor: high-level loops
2021-04-19 18:58:59 +02:00
Christian Pauly
ffef732103
refactor: enable more linter rules
...
enable prefer_final_locals and prefer_final_in_for_each linter rules
2021-04-14 10:29:29 +02:00
Lukas Lihotzki
545ce26e39
style: fix format and lint
2021-04-12 14:49:03 +02:00
Lukas Lihotzki
761138a56d
refactor: use OpenSSL for AES
2021-04-12 14:49:01 +02:00
Lukas Lihotzki
7faf05fe90
refactor: selectable hash for pbkdf2
2021-04-12 14:48:38 +02:00
Lukas Lihotzki
a25d1932ee
fix: fast pbkdf2 with OpenSSL
2021-04-12 14:48:38 +02:00
Lukas Lihotzki
285b14912a
chore: null safe crypto dependencies
2021-04-12 14:48:36 +02:00
Lukas Lihotzki
08043c06f4
refactor: high-level loops
2021-04-01 12:51:45 +02:00
Christian Pauly
0ceb2b26df
refactor: Constants names
2021-03-30 12:43:50 +02:00
Christian Pauly
9012ce6b2c
fix: Display errors from isolates in the logs
2021-03-17 09:46:13 +01:00
Christian Pauly
0a9f8497e2
chore: Make bootstrap logs more chatty
2021-03-17 08:22:22 +01:00
Krille Fear
9bef8452d3
docs: Clean up dart documentations
...
Changing to `code` blocks where it cant be resolved to [stuff] things.
2021-03-16 12:32:21 +00:00
Krille Fear
57fde98fec
Merge branch 'soru/less-sql-statements' into 'main'
...
chore: Reduce needed database accessess
See merge request famedly/famedlysdk!666
2021-03-09 18:12:40 +00:00
Sorunome
c76dc0daa2
chore: Reduce needed database accessess
2021-03-09 18:28:58 +01:00
Sorunome
7ef288ec91
fix: A few ssss fixes
2021-03-09 18:28:42 +01:00
Krille Fear
44ca96e544
refactor: Update pedantic
...
This enforces to NOT use curly braces in Strings where not needed
and not await non-future variables.
2021-03-09 17:28:04 +00:00
Krille Fear
0d8bddf708
Merge branch 'soru/fallback-keys' into 'main'
...
feat: Add fallback keys support
Closes #136
See merge request famedly/famedlysdk!653
2021-03-03 07:38:32 +00:00
Sorunome
498c7825a5
feat: Add fallback keys support
2021-03-02 16:17:32 +01:00
Christian Pauly
c9d3c327f6
refactor: Deprecate eventType in EventUpdate
2021-02-26 13:06:02 +01:00
Sorunome
34b15e45fc
fix: Better logic when to auto-trigger self-sign
2021-02-13 15:03:10 +01:00
Sorunome
6c2fc1679a
feat: Auto-selfsign and auto-cache when opening ssss keys
2021-02-13 14:55:09 +01:00
Krille Fear
6d7ab8e1d4
Merge branch 'soru/cancel-broadcast-verify' into 'main'
...
fix: Allow to broadcast cancels during key verification
See merge request famedly/famedlysdk!643
2021-02-10 12:44:21 +00:00
Sorunome
2d70360a8d
fix: Better detection if x-signing and megolm backup is enabled
2021-02-10 13:35:45 +01:00