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
Christian Pauly
b7e0d10b5a
fix: Wait for keys in pusher
2022-04-14 19:44:19 +02:00
Christian Pauly
5973e629fe
feat: Get event from push notification
2022-04-14 17:01:05 +02:00
Krille Fear
e97fe621d6
chore: Allow custom image resizer to be an async method
2022-04-04 14:35:23 +02:00
Christian Pauly
445252b3a5
feat: Pass through a custom image
...
resize function to the client
This allows the use of the
native imaging package in a more
easy way.
2022-03-30 10:35:17 +02:00
Krille Fear
23e0d29a0d
Merge branch 'krille/try-again-sending' into 'main'
...
feat: Try again uploading file events for one minute
See merge request famedly/company/frontend/famedlysdk!986
2022-03-30 06:38:01 +00:00
Christian Pauly
f86b242dcf
feat: Try again uploading file events for one minute
...
This also refactors the code for
sending events with the same
Duration of one minute.
2022-03-25 12:54:42 +01:00
Christian Pauly
abddbee24c
feat: Set loglevel in client constructor
...
This is just more convenient than
doing it in a line after the constructor.
2022-03-25 12:12:43 +01:00
Nicolas Werner
62780b5b2f
Merge branch 'krille/fix-reactions-trigger-notifications' into 'main'
...
fix: Dont encrypt reactions
See merge request famedly/company/frontend/famedlysdk!974
2022-03-15 10:40:52 +00:00
Christian Pauly
f1d422b89a
fix: Dont encrypt reactions
...
This fixes that server
sends notifications for reactions.
2022-03-15 08:42:53 +01:00
Nicolas Werner
83298cc98b
fix: own profile containing mxid
...
There are a few ways to fix this. We could skip events, where we don't
have the state in memory yet or always do a /profile request and cache
that.
I chose to go with loading the event from the database if necessary. If
we have a room in the db, we should have our memberevent in the db. In
some cases we might not (if the server thinks our memberevent is super
redundant), but I think the spec doesn't really allow that and it
doesn't happen in practice. And even if it would, we probably would want
our member event ASAP. And if we have no rooms, we fetch it from the
server as before instead of constructing a member with an MXID as the
username.
fixes https://gitlab.com/famedly/company/frontend/frontend-issue-inbox/-/issues/65
2022-03-15 02:13:09 +01:00
Krille Fear
58f77cacdb
fix: Rooms sort order after login
...
A two years old workaround prevented
the room sorting for the initial sync. But
this is definitely no longer needed.
2022-02-28 12:19:33 +01:00
Krille Fear
ecc60efea9
fix: Change password using email authentication
2022-02-19 13:37:35 +01:00
Krille Fear
1f8691dd70
Merge branch 'krille/thumbnail-size' into 'main'
...
chore: Increase default thumbnail size to 800
See merge request famedly/company/frontend/famedlysdk!968
2022-02-19 11:16:08 +00:00
Krille Fear
d780ba77c4
chore: Increase default thumbnail size to 800
2022-02-19 11:29:10 +01:00
Christian Pauly
c0ec4c3990
fix: sortRooms should be triggered right before onSync is called
2022-02-18 12:11:10 +01:00
Krille Fear
6b610d0115
feat: Return homeserver summary on checkHomeserver
2022-02-16 07:07:53 +00:00
Christian Pauly
68fcee98cb
fix: Show reactions as last events and refactor hasNewMessage
...
Reactions are triggering push
notifications and should therefore
be displayed as last events
in the room list of a client.
The body should just display
the reaction key.
This fixes that rooms with
new reactions can't set to
read.
2022-02-14 15:06:22 +01:00