Krille
0b1281358f
fix: Do not hide matrix exceptions in sync
2023-12-05 09:04:51 +01:00
Krille
06669cbcac
refactor: Store fetched presence in db and deprecate own cache
2023-11-27 15:48:21 +01:00
Krille
193f404885
refactor: Add SyncConnectionException to syncloop
2023-11-27 09:11:57 +01:00
Nicolas Werner
8b8a647cf9
chore: enable discarded_futures lint
...
BREAKING CHANGE: This changes the runInRoot method to not return a
future. As a user, if you need the result of an async computation passed
to runInRoot, please await it directly. Also the KeyVerification start
and a few call methods now return a future.
2023-11-17 12:59:27 +01:00
Nicolas Werner
e03826b1bb
Merge branch 'main' into krille/better-syncloop-error
2023-11-16 22:21:59 +01:00
Nicolas Werner
0b3542730d
Merge branch 'main' into krille/store-presences
2023-11-16 21:36:13 +01:00
Krille
d1bbf57b6f
fix: Set presence when loading archive
2023-11-15 14:18:48 +01:00
Krille
8cc863b1a3
feat: Store presences in database
2023-11-15 06:59:58 +01:00
td
1ab06cb01a
fix: clear local database on logout even if server timesout
2023-11-13 18:12:47 +05:30
krille-chan
b1b2b2ffe2
fix: catch correct exception type for connection problems
2023-11-05 09:52:08 +01:00
Nicolas Werner
37582a3a8e
fix: stale call checker leaks memory
2023-11-04 00:30:14 +01:00
Nicolas Werner
620187c772
Merge branch 'main' into braid/store-left-rooms-in-archive
2023-11-02 08:49:48 +01:00
Krille
f0e4232930
refactor: Wait for room in sync until sync process and trigger cleanup call not before actually start clean up.
2023-10-23 12:30:14 +02:00
The one with the braid
5dea95f02c
fix: Code style
...
Signed-off-by: The one with the braid <info@braid.business>
2023-10-20 14:58:56 +02:00
Clemens-Toegel
0ec6a64cc8
chore: store states to archived rooms ( #1 )
...
* chore: store states to archived rooms
* chore: PR fix
---------
Co-authored-by: Clemens Toegel <clemens.toegel@x-tention.at>
2023-10-20 14:04:11 +02:00
The one with the braid
053dddb76d
chore: incrementally add left rooms to archive
...
- store left rooms in archive during sync (as well as they are removed
on join already)
- refactor room archive code
- fix typo
Internal reference: SMC-385
Signed-off-by: The one with the braid <info@braid.business>
2023-10-20 14:04:11 +02:00
Krille
5c3c85ba3d
refactor: Trigger upload keys on sync and not in background job and upload them before logout
2023-10-20 10:18:05 +02:00
Mohammad Reza Moradi
c38cbbc8dc
fix: apply state event before decryption on leaved room
2023-09-18 11:33:17 +02:00
Nicolas Werner
5b47a647b6
fix: userOwnsEncryptionKeys returns true for empty device lists
2023-09-13 14:26:41 +02:00
Nicolas Werner
cce3646339
fix: startDirectChat might return an unjoined room
...
If you create DM room, but the other party doesn't join it, they might
be unable to create a new DM using startDirectChat. Since creating a new
DM is pretty much the same as joining the invite, we try to join the
pending DM invite first and fall back to creating a new room if that
fails.
2023-09-04 13:27:55 +02:00
Nicolas Werner
334c9e3b78
refactor: Simplify room sorting logic to make invite sorting more obvious
...
It wasn't quite obvious that invites were always sorted at the top, if
you just looked at the sort function. This makes it more explicit and
also makes invites always sort before favourited rooms.
2023-07-31 10:55:27 +02:00
Malin Errenst
395ef0eb8e
refactor: Use tryGet for type casts whenever possible
2023-06-21 15:04:46 +02:00
Malin Errenst
5943576b1b
refactor: Added type casts to match refactored matrix_api_lite
2023-06-16 12:42:10 +02:00
Nicolas Werner
663ab11ec5
feat: Support private read receipts
...
You can either set them to private on the client or overwrite the
behaviour for that on each readMarker call. This also handles incoming
thread receipts and tries its best to figure out what is the latest
receipt. This however breaks the old m.receipt account data event.
2023-04-21 18:31:15 +02:00
Nicolas Werner
7039c33f3a
chore: Upgrade to matrix_api_lite 1.6
2023-04-17 13:23:51 +02:00
Krille
710752060a
feat: Implement onMigration callback to Client.init() method
2023-03-29 15:30:38 +02:00
Philipp Grieshofer
9aff62a18c
feat: Expose a getter for all rooms including archived rooms
2023-03-20 13:12:47 +00:00
Nicolas Werner
6f6f6b5d10
Merge branch 'kushal/http-call-issue-fix' into 'main'
...
fix: http api call replaced with httpClient
See merge request famedly/company/frontend/famedlysdk!1189
2023-03-03 15:21:28 +00:00
Nicolas Werner
99036ca178
Merge branch 'td/stopCheckerLeave' into 'main'
...
chore: stop stale group call checker on room leave
See merge request famedly/company/frontend/famedlysdk!1245
2023-03-03 12:43:27 +00:00
Nicolas Werner
2c3194b823
fix: archive takes 2 minutes to update
...
In Synapse 1.62.0 the default cache duration of initial sync responses
was changed to 2 minutes. That means our archive calls might return
stale data. Since different sync timeouts bust through the cache, we
make use of that to be able to load the new archive immediately.
fixes https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/634
2023-03-03 13:08:31 +01:00
m_kushal
d48542a023
fix: http api call replaced with httpClient
...
Signed-off-by: m_kushal <kushalmahapatro@gmail.com>
2023-03-03 01:16:10 +04:00
td
fd4577ae84
chore: stop stale group call checker on room leave
2023-02-27 11:53:08 +05:30
td
f7c7cb82de
chore: add useServerCache option to fetchOwnProfileFromServer and fix missing awaits
2023-02-20 17:57:29 +05:30
td
eca98b14b9
chore: add a fetchOwnProfileFromServer method which tries to get ownProfile from server first, disk then
2023-02-16 19:22:32 +05:30
td
0c9e129347
fix: clean expired member state events in group calls
2023-02-14 23:08:50 +05:30
td
1219604dc9
fix: hasActiveGroup call now checks all group calls
...
fix: implement activeGroupCallEvents to get all active group call state events in a room
refactor: move staleCallChecker and expires_Ts stuff to an extension on Room, instead of Voip because it makes much more sense per room rather than on voip, also makes testing easier
fix: populate local groupCalls list on instantiating VOIP()
fix: starting stale call checker is now handled by the sdk itself because clients can forget to do so
2023-02-14 15:02:28 +05:30
Krille
05c945b042
fix: Last message set incorrectly on all session key received
...
This fixes a bug that the
last message was sent
incorrectly when a session
key received for example
from the key backup. It may
fix several issues like the
last message is set as a
very old one or the last
message is not decrypted.
2023-01-18 11:46:32 +01:00
Krille Fear
956a2f793f
fix: Add timeout to sync http call
2022-12-27 09:30:04 +01:00
TheOneWithTheBraid
3cc4cd8410
fix: follow account kind in registration
...
- as of now, account kind ist simply ignored
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-11-22 07:53:59 +01:00
Grieshofer Philipp
d60a3aa579
refactor: Add argument for custom CreateRoomPreset to startDirectChat method
2022-11-14 11:07:53 +01:00
Christian Pauly
7caab4d086
chore: Follow up fix for request users in invite rooms
2022-11-14 08:27:47 +01:00
Christian Pauly
0a6a813804
refactor: Get rid of unnecessary type cast
2022-11-07 11:09:20 +01:00
td
aa03f5aa06
fix: filter list for adding p2p call events
2022-10-28 21:52:02 +05:30
Christian Pauly
6c307980a5
fix: Do not wait for first sync after migration init
...
If the first sync fails because of
a connection problem then the
migration is lost. This should not
happen.
2022-10-26 11:54:33 +02:00
Christian Pauly
7b1a519de0
fix: Do not assume that push rules are never malformed in account data
2022-10-21 10:48:40 +02:00
Nicolas Werner
99c77b9276
Merge branch 'nico/decryption-queue' into 'main'
...
feat: Implement a queue for events pending decryption
Closes famedly-web#535
See merge request famedly/company/frontend/famedlysdk!1143
2022-10-18 14:02:48 +00:00
Christian Pauly
69f82b2619
refactor: Remove unused imports
2022-10-18 11:42:11 +02:00
Nicolas Werner
f55bb4776a
feat: Support evaluating pushrules
...
fixes #339
2022-10-17 04:29:20 +02:00
Christian Pauly
779c278854
refactor: Use DateTime method instead of comparing milliseconds
2022-10-12 11:33:00 +02:00
Nicolas Werner
c6a8f5a162
feat: Implement a queue for events pending decryption
...
fixes https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/535
2022-10-12 11:07:50 +02:00
Nicolas Werner
c3ec0ffa2a
fix: messages not being processed after a new encryption event.
2022-09-29 12:18:18 +02:00
Christian Pauly
dd375eddfd
feat: Add getter for own unverified devices
2022-09-21 10:23:01 +02:00
henri2h
7b61f8eb01
fix: don't assume redacts attribute from content to be valid
2022-09-12 17:09:29 +02:00
Nicolas Werner
2b58ec2902
Merge branch 'krille/fix-get-push-rules' into 'main'
...
fix: Get push rules crashes if malformed
See merge request famedly/company/frontend/famedlysdk!1124
2022-09-09 10:14:35 +00:00
Nicolas Werner
ab73047e51
fix: timeout when sending large files
...
fixes https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/540
2022-09-06 21:18:53 +02:00
Christian Pauly
9a8da3c1e6
fix: Get push rules crashes if malformed
2022-09-06 20:19:52 +02:00
Nicolas Werner
abbc474480
fix: Check ahead of download if a file exceeds the maximum file size
...
fixes https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/539
2022-09-06 11:52:30 +02:00
Nicolas Werner
163ad0de6b
fix: The initial sync waiting for a long time in some cases
2022-08-30 14:22:09 +02:00
Christian Pauly
0c107cf917
refactor: Remove databaseDestroyer
...
The need for a database destroyer
is gone since we have switched
from sqflite/moor to Hive. Removing
it is the first step to a major
refactoring to make the database
not nullable anymore.
2022-08-30 11:00:48 +02:00
Nicolas Werner
dd1f61c29e
feat: support dehydrated devices
2022-08-29 13:05:55 +02:00
Nicolas Werner
6555f36d6d
feat: switch from pedantic to lints
2022-08-15 14:15:51 +00:00
cloudwebrtc
9695a5ad10
chore: Use onRoomState to monitor group call creation and member join and leave.
2022-08-08 22:50:43 +08:00
Lanna Michalke
501ee5dce1
Merge branch 'td/add_startGroupCall' into 'main'
...
fix: check for m.call permissions in groupCallEnabled
See merge request famedly/company/frontend/famedlysdk!1088
2022-08-01 09:07:27 +00:00
td
f56e0ddb5f
fix: check for m.call permissions in groupCallEnabled
2022-08-01 14:27:10 +05:30
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
Henri Carnot
2a019eaec3
feat: keep timeline history for archive rooms in memory
2022-07-21 14:14:17 +00:00
td
f04d8a9f40
Merge branch 'krille/import-sorter' into 'main'
...
refactor: Use import sorter and ci templates
See merge request famedly/company/frontend/famedlysdk!1079
2022-07-21 13:59:05 +00:00
Christian Pauly
7885281c72
refactor: Use import sorter and ci templates
2022-07-21 15:44:04 +02:00
Krille Fear
50ef19b8a8
Merge branch 'isabella/create-chat-with-powerlevel' into 'main'
...
Isabella/create chat with powerlevel
See merge request famedly/company/frontend/famedlysdk!1078
2022-07-14 08:32:39 +00:00
Nicolas Werner
6e211f5a81
fix: race conditions in the SDK and its tests
2022-07-13 00:36:49 +00:00
Isabella Hundstorfer
2e649fdcf9
Add powerLevelContentOverride to startDirectChat and createGroupChat
2022-07-12 12:55:11 +02:00
Christian Pauly
7e06d0f578
fix: Cache user profile even with cache=false when there is a cache
2022-07-11 10:48:22 +02:00
Christian Pauly
ff359aedff
refactor: Better fetch own profile
...
This makes it possible to pass cache
and getFromRooms variable in
fetchOwnProfile. It also removes the
never working and duplicated
check from rooms. The Profiles
can be duplicated in the Set
because they are equal but not
the same objects. In the get
profile method, it now checks the
cache first before the rooms as
the cache might have the more
accurate result.
This makes displaying an avatar
change much easier as it makes
it possible to just disable cache
then.
2022-07-11 08:08:40 +02:00
Krille Fear
2a280cec98
Merge branch 'krille/share-keys-with-unknown-devices' into 'main'
...
feat: Calc encryption health state and allow key sharing with unknown devices
Closes #307
See merge request famedly/company/frontend/famedlysdk!1072
2022-07-09 07:50:32 +00:00
Christian Pauly
28231936b1
feat: Calc encryption health state and allow key sharing with unknown devices
...
In order to allow key sharing with
unknown devices (master key has been
verified but this device is not
signed by this master key) the
user should at least be informed.
This makes it possible to set
in the client constructor whether
the app should share keys with
unverified devices or unknown
devices.
2022-07-09 09:39:31 +02:00
Krille Fear
c070a7ed40
Merge branch 'krille/refactor-handle-ephemerals' into 'main'
...
refactor: Handle Ephemerals method
Closes #306
See merge request famedly/company/frontend/famedlysdk!1064
2022-07-08 16:20:51 +00:00
Christian Pauly
211c366662
refactor: Use tryGet in handleRoomEvents
2022-06-30 15:33:20 +02:00
Christian Pauly
5b831fcc83
refactor: Handle Ephemerals method
...
This makes sure that the handle
ephemerals method becomes fully
type and null safe, does not handle
maps directly anymore and stores
the corresponding fake m.read
room account data only once
per sync.
2022-06-30 09:39:34 +02:00
Christian Pauly
9628095ac9
feat: Implement CachedStreamController
...
This makes it possible to access the last
value of a stream at any time.
2022-06-30 09:22:53 +02:00
Christian Pauly
0f17fec3f4
fix: Only trigger onCall streams by latest call event for a call_id
...
This should fix that calls can get
started on
2022-06-29 09:00:01 +02:00
Christian Pauly
c591c1d4b5
refactor: Use handleRoomEvents method instead of handleEvent
...
This makes it easier to update
the state by a whole timeline.
2022-06-28 14:09:12 +02:00
Christian Pauly
fc229c5715
refactor: Pass BasicEvent to handleEvent instead of JSON
2022-06-28 14:09:12 +02:00
Christian Pauly
c4cdf6ab4e
refactor: Call handleEphemerals with BasicRoomEvent instead of dynamic
2022-06-28 14:09:12 +02:00
Christian Pauly
a1c6bc7551
refactor: Let _handleRoomEvents use BasicEvent
...
This is the first step to reduce
the use of pure json in the
sync method.
2022-06-28 14:09:12 +02:00
Duan Weiwei
e2efa3e758
Support group call.
2022-06-13 15:26:25 +00:00
Christian Pauly
58cfd1f688
refactor: Rename methods and get rid of all Future getter
2022-06-08 08:30:05 +02:00
Christian Pauly
b00b1636d1
fix: Do not show seen events in push notification
2022-06-07 16:34:07 +02:00
Christian Pauly
4692c95910
feat: Allow overriding supportedVersions
2022-06-07 08:53:08 +02:00
Henri Carnot
2d018d3d5f
feat: added waitForSync method
2022-05-25 10:53:52 +00:00
Lanna Michalke
dd76e652bf
fix: buggy e2e test
...
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-23 14:40:19 +02:00
Lanna Michalke
039062bfdf
feat: implement session export
...
- implement session export
- implement session import
Please note, this is not device dehydration but a fully offline session
dump eligible for e.g. TOR users.
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-23 12:06:31 +02:00
Krille Fear
3f3d4d38d6
refactor: Migrate to Matrix Api Lite 1.0.0
2022-05-17 22:50:04 +00:00
Henri Carnot
bfdd4c810e
Henri/fragmented timeline v2
2022-05-16 10:54:42 +00:00
Krille Fear
9a87850092
Revert "feat: non cached fragmented timeline"
...
This reverts commit 09b324674e
2022-05-12 09:46:29 +02:00
Christian Pauly
ac293c29c6
chore: Move auth object passing to external msc implementations
2022-05-09 14:32:08 +02:00
Nicolas Werner
907a0d2317
feat: Store timestamp in the presence events
...
This fixes the presence never being accurate in the app.
2022-05-06 13:04:31 +02:00
Henri Carnot
09b324674e
feat: non cached fragmented timeline
2022-05-03 14:08:33 +00:00
Lanna Michalke
ac16724841
chore: make Client.accountData read-only
...
- for external access, Client.accountData should be read only
- added corresponding getter and private Map
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-03 03:29:20 +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
Christian Pauly
eefc40e2d0
refactor: Get rid of dynamic input in checkHomeserver
...
This also fixes the automatic
homeserver detection in the
login method. It no longer uses
the deprecated user.
2022-04-21 15:40:21 +02:00