Commit Graph

229 Commits

Author SHA1 Message Date
Krille 9d9b1e38ec Merge branch 'krille/store-after-decrypted-last-event' into 'main'
fix: Store decrypted last event in store

See merge request famedly/company/frontend/famedlysdk!1197
2022-12-21 08:24:39 +00:00
Krille Fear 49703f5808 fix: Store decrypted last event in store 2022-12-21 08:43:52 +01:00
Christian Pauly 2f1696bff8 chore: Bump version 2022-12-14 09:00:08 +01:00
Christian Pauly c66d2edb5e refactor: Key manager megolm handling to make key generation more efficient 2022-12-14 08:59:36 +01:00
Reza 7da56ee212 fix: minor stuff 2022-11-24 11:00:10 +01:00
Reza f969a733f1 fix: minor stuff 2022-11-24 10:48:17 +01:00
Reza dd4d0696b3 fix: do not pass the verified device list 2022-11-24 10:19:52 +01:00
Reza 8f37466295 fix: minor stuff 2022-11-24 09:33:36 +01:00
Reza 10cf979877 fix: minor stuff 2022-11-23 19:28:08 +01:00
Reza 44f862b966 feat: start verification with the verified device 2022-11-23 13:43:57 +01:00
The one with the braid 50288698a8 Merge branch 'braid/cute-events' into 'main'
feat: support MSC 3935: cute events

See merge request famedly/company/frontend/famedlysdk!1168
2022-11-21 08:53:44 +00:00
TheOneWithTheBraid 476963069a feat: support MSC 3935: cute events
- add cute event skeletron (`im.fluffychat.cute_events`)
- add cute events to default command batch
- this way, all SDK users can profit from cute events
- supported events: `hug`, `googly_eyes`, `cuddle`

Fixes:
https://rail.chat/@AgathaSorceress@eldritch.cafe/109336005433123570

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-11-21 09:17:07 +01:00
Nicolas Werner dbac5d83dc fix: recover from very unlikely key upload errors
Usually we store the keys we want to upload first, then upload them,
then store, that we uploaded them. So that should be fool proof.

But.

In some cases the filesyste lies to us and the database change isn't
actually persisted yet. That can happen when someone turns of their
phone aprubtly for example. In that case we generate new OTKs with the
same id. Uploading that will fail, since they already exist server side.
We can work around that by manually claiming them and removing them
locally.
2022-11-15 17:18:29 +01:00
Christian Pauly 67fd9cd00e refactor: Improve error handling for no olm session found exception
Finding no olm session can
happen quiet often when there
are dead devices in a room.
We do not need to print the
whole stacktrace then.
2022-11-08 14:02:37 +01:00
Christian Pauly 0a6a813804 refactor: Get rid of unnecessary type cast 2022-11-07 11:09:20 +01:00
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