Commit Graph

1895 Commits

Author SHA1 Message Date
Krille c714574c3f
refactor: Check correct if null
This checks it in a more consistent way
and also makes developing new
databases easier as they
might set the json key but
set it null.
2023-05-11 12:17:53 +02:00
Krille 9c2f026b4d
refactor: Remove unused parameters 2023-05-11 09:24:41 +02:00
Nicolas Werner 47c54cb397
fix: mark DMs as DMs properly when joining
If we join first, it is possible that our member event is not the invite
event anymore. As such we should fetch that state first, before joining.
But also there is little reason not to mark the room as a DM
immediately. That prevents the room from temporarily becoming a group
room, that might be visible in the UI temporarily.

fixes https://gitlab.com/famedly/company/product-management/-/issues/1006
2023-05-09 16:09:01 +02:00
Nicolas Werner 53fbe4f7ef
chore: sort imports 2023-05-08 14:49:34 +02:00
Malin Errenst cc377202da fix: remove deprecated sender_key occurrences 2023-05-08 09:12:14 +00:00
td 36070e23b7
fix: cast issues in getEventList 2023-05-05 19:31:08 +05:30
Krille e170325cae
refactor: Make parameters more clear and remove unused methods 2023-05-05 13:38:56 +02:00
Krille f21260b035
fix: Only request users which are valid mxid 2023-05-04 15:22:44 +02:00
Nicolas Werner 4abefa906b
fix: Always wait for account data to load before returning SSSS status
Otherwise it would be possible, that we haven't loaded account data, so
we return that cross-signing is disabled and then we load it and return
a different result. Might fix the sentry issue for that.
2023-05-03 17:11:00 +02:00
Krille 2c14af9a8b
fix: Reactions are sent encrypted 2023-05-03 13:01:10 +02:00
Nicolas Werner a250384eca Merge branch 'td/singleShotSyncBeforeStaleChecker' into 'main'
chore: oneShotSync before staleCallChecker

Closes famedly/company/product-management#658

See merge request famedly/company/frontend/famedlysdk!1284
2023-05-03 06:35:56 +00:00
td 444ba47022
chore: oneShotSync before staleCallChecker
fix: while singleShotStaleCallChecker code seems to be correct we are seeings some random disconnects in group calls, this makes sure we have all the to-device messages we are supposed to have before checking for stale calls
2023-04-29 19:47:13 +05:30
td f240ece32c
fix: updateMuteStatus after kConnected
fix: makes sure any state/race issues we had with sdp packets or cloned streams get fixed automatically
2023-04-29 19:33:34 +05:30
Malin Errenst a0669a505e Merge branch 'krille/set-read-marker-optional-eventid' into 'main'
refactor: Make optional eventId a named parameter

See merge request famedly/company/frontend/famedlysdk!1281
2023-04-28 08:50:26 +00:00
Krille 91617c1892
refactor: Make optional eventId a named parameter
This should not break the
API of consuming apps and
is more intuitive as the
parameter is nullable.
2023-04-28 10:03:04 +02:00
Krille c6f7da12d4
fix: Check the max server file size after shrinking not before 2023-04-28 09:26:54 +02:00
td 1928f292b0
fix: casting of a List<dynamic> to List<String> in getEventList and getEventIdList 2023-04-28 00:55:20 +05:30
Nicolas Werner 831938b8f5
fix: Skip rules with unknown conditions
Without this, when new rules are added with new conditions, we would
always match on them. This would mean all messages now notify. It is
better to skip them instead.
2023-04-26 19:00:24 +02:00
td 046e2caf7d
fix: allow passing a WrappedMediaStream to GroupCall.enter() to use as the local user media stream
currently in the app we start the group call (but do not enter it), then we use the localStreams provided by it to show the setup page (enable/disable media devices). This causes some issues because the user hasn't joined the group call so the member state events don't update and the group call is killed if they just sit on the setup call page. Also creating a group call, sends notifications in our apps but no one has entered it. With this MR, apps can get their own user media, then edit that stream on setup page add it to GroupCall.enter(stream). This way, a group call doesn't have to be started and we get to do the setup page as well.
2023-04-25 14:18:45 +05:30
Nicolas Werner 62b43bef56 Merge branch 'nico/private-receipts' into 'main'
feat: Support private read receipts

See merge request famedly/company/frontend/famedlysdk!1272
2023-04-21 16:37:25 +00: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
Kristian Grønås 101e892cd9
chore: Update image dependency to 4.0.15
Signed-off-by: Kristian Grønås <Kristian.Gronas@student.uib.no>
2023-04-21 06:22:09 +02:00
Nicolas Werner b95edec462
fix: Update the generated enum files 2023-04-17 16:54:43 +02:00
Nicolas Werner 7f519b5619 Merge branch 'main' into 'main'
Implement Thread creating/sending + added neccessary tests

Closes #351

See merge request famedly/company/frontend/famedlysdk!1262
2023-04-17 13:15:36 +00:00
Dmitriy Bragin 203fc25d7a feat: allow sending messages inside threads 2023-04-17 14:39:11 +03:00
Nicolas Werner 7039c33f3a
chore: Upgrade to matrix_api_lite 1.6 2023-04-17 13:23:51 +02:00
Nicolas Werner d99bb05f47
feat: Upgrade to spec 1.6
In theory this is a breaking change, since it changes the read receipt
API slightly.
2023-04-17 11:57:56 +02:00
td 412bd71b23 Merge branch 'td/trySetTrackenabled' into 'main'
fix: update mute status on participants changed.

See merge request famedly/company/frontend/famedlysdk!1263
2023-04-13 14:57:04 +00:00
td 32ba85dc74
chore: stopMediaStream on all streams and make sure dispose runs everytime 2023-04-12 16:36:05 +05:30
td 05ba6368eb
fix: test if setting track enabled on participants changed helps with the media not working randomly issue 2023-04-06 01:18:09 +05:30
Krille 4b1bc435e5
fix: Clear HiveCollection boxes inside of transaction in order
This makes sure that the deleteFromDisk() method is
called AFTER the clear while
the execution order was
random before which could
lead to the problem that
Hive tries to clear a box after
it got deleted.
2023-03-31 13:09:01 +02:00
Malin Errenst da61963d37 Merge branch 'malin/refactorVariableNaming' into 'main'
refactor: Rename one-character-variables in device_keys_list.dart

See merge request famedly/company/frontend/famedlysdk!1259
2023-03-30 13:04:31 +00:00
Malin Errenst d8af3edbe1
refactor: Rename one-character-variables in device_keys_list.dart 2023-03-30 12:30:39 +02:00
Krille c0000c0193 Merge branch 'td/leavedIgnore' into 'main'
chore: ignore stale call checking for archived rooms

See merge request famedly/company/frontend/famedlysdk!1255
2023-03-29 14:12:03 +00:00
td d8d111b1b4
chore: ignore stale call checking for archived rooms 2023-03-29 19:04:10 +05:30
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
Krille efe8e7e5ac
feat: Make possible to overwrite boxcollection opener in Hive Collections Database 2023-03-20 08:01:51 +01:00
Philipp Grieshofer 00cb292781 fix: Use MatrixLocalizations to calculate fallback user displayname 2023-03-13 15:49:05 +00:00
Mohammad Reza Moradi 74deba3d3e Merge branch 'krille/pagination-in-search-events' into 'main'
feat: Implement pagination for searchEvent endpoint

See merge request famedly/company/frontend/famedlysdk!1240
2023-03-06 08:17:24 +00:00
Christian Pauly 89c80e7917 feat: Implement pagination for searchEvent endpoint 2023-03-06 09:02:25 +01: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
td b776e8f9df Merge branch 'td/asyncmesh' into 'main'
fix: make group call stuff async, let clients await what they need

See merge request famedly/company/frontend/famedlysdk!1244
2023-03-03 15:03:32 +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
cloudwebrtc f2e4126e0c chore: update. 2023-02-27 21:02:30 +08:00
cloudwebrtc 380051ab07 fix: skip invalid candidate. 2023-02-27 20:59:38 +08:00
td 936018bebc
chore: remove checker from local list 2023-02-27 11:54:56 +05:30
td fd4577ae84
chore: stop stale group call checker on room leave 2023-02-27 11:53:08 +05:30
td 9cb99377fb
fix: make group call stuff async, let clients await what they need 2023-02-24 22:31:10 +05:30
td 2d0fd9c393
fix: make group call stuff async, let clients await what they need 2023-02-24 22:17:27 +05:30
td 0c555919af
chore: add missing awaits in group call enter and leave funcs 2023-02-20 18:04:56 +05:30
td f7c7cb82de
chore: add useServerCache option to fetchOwnProfileFromServer and fix missing awaits 2023-02-20 17:57:29 +05:30
td 2b2a49d0cb Merge branch 'td/fallbackFetchOwnProfile' into 'main'
chore: add a fetchOwnProfileFromServer method

See merge request famedly/company/frontend/famedlysdk!1241
2023-02-17 11:13:58 +00:00
Nicolas Werner 92999339a9 Merge branch 'krille/fake-user-event' into 'main'
fix: Fake User object

Closes #343

See merge request famedly/company/frontend/famedlysdk!1221
2023-02-17 09:02:59 +00:00
td 7ce6595b3d
fix: ability to upgrade audio calls to video calls
fix: setMicrophoneMuted is now async to match setVideoMuted
2023-02-17 07:56:17 +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
Nicolas Werner 0e26e44d8c Merge branch 'td/ohno' into 'main'
fix: hasActiveGroup call now checks all group calls

See merge request famedly/company/frontend/famedlysdk!1236
2023-02-14 11:26:52 +00:00
Nicolas Werner 468a918b3a Merge branch 'krille/search-method-fix' into 'main'
fix: Request key in searchEvent method crashes because of wrong preconditions

See merge request famedly/company/frontend/famedlysdk!1239
2023-02-14 10:05:53 +00:00
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
Christian Pauly 31d4d5d08e fix: Check if argument is valid mxid in /maskasdm command 2023-02-14 09:16:48 +01:00
Christian Pauly c5898f62b9 fix: Fake User object 2023-02-13 15:32:01 +01:00
Christian Pauly e77a5291c4 fix: Request key in searchEvent method crashes because of wrong preconditions 2023-02-13 13:55:57 +01:00
Krille bdedef9379 refactor: Check config at file sending after placing fake event and add error handling
This should fix the unresponsivness
of apps for a few seconds
when trying to send a file
2023-02-12 18:28:29 +01:00
td ff66337773
chore: bump flutter and dart images 2023-02-01 15:03:36 +05:30
Nicolas Werner dc444538bf Merge branch 'td/expiresTsGroupCallMove' into 'main'
fix: move expires_ts according to spec (breaks group call compatibility with older sdks)

See merge request famedly/company/frontend/famedlysdk!1229
2023-02-01 09:23:17 +00:00
td bdf2c01a5a
fix: move expires_ts according to spec (breaks group call compatibility with older sdks)
this fixes group calls with element calls
2023-01-31 19:17:29 +05:30
td 448b61191a
fix: reject call on own device if you get a call reject 2023-01-30 23:14:04 +05:30
td 47a8e32c57 Merge branch 'td/activeSpeaker' into 'main'
feat: active speaker in group calls

See merge request famedly/company/frontend/famedlysdk!1228
2023-01-30 12:38:25 +00:00
td 00154f3c78
feat: active speaker in group calls 2023-01-30 15:46:21 +05:30
td ef0bf44b70
fix: missed incomingCallRoomId case in removing glare stuff during group calls 2023-01-28 03:42:58 +05:30
duanweiwei1982@gmail.com 0deb8d9e6e fix: fix glare side effects for group calls. 2023-01-28 01:10:29 +08:00
td 169ac9c88c Merge branch 'td/deprecateIsBg' into 'main'
chore: deprecate isBackground

See merge request famedly/company/frontend/famedlysdk!1225
2023-01-27 13:09:13 +00:00
Krille f9c0fdca69 Merge branch 'td/stopRingtone' into 'main'
fix: try to stop ringtone on call termination

Closes famedly/company/product-management#531

See merge request famedly/company/frontend/famedlysdk!1220
2023-01-27 12:58:09 +00:00
td 8a1ca08d7c Merge branch 'td/missedCallreject' into 'main'
fix: only send call reject event when needed

See merge request famedly/company/frontend/famedlysdk!1224
2023-01-27 12:56:45 +00:00
td 6246dd1301
chore: deprecate isBackground
This was used by callkeepv1 to fire a system notification or in call flutter screens on a new call, has always been set to false on web
2023-01-27 18:18:55 +05:30
td d8ac3b337a
fix: try to stop ringtone on call termination 2023-01-27 17:57:53 +05:30
td 10e6b9b0e6 Merge branch 'voip/remove-call-in-group-calls-correctly' into 'main'
fix: Fix can't correctly remove/cleanup call in group call.

See merge request famedly/company/frontend/famedlysdk!1222
2023-01-27 12:23:19 +00:00
Duan Weiwei 8ed9913eb6 fix: Fix can't correctly remove/cleanup call in group call. 2023-01-27 12:23:18 +00:00
td 9a232580be fix: send all servers for getIceServers 2023-01-27 12:05:07 +00:00
td ce0bdd9dc6
fix: only send call reject event when needed
This is fixes rejects by missed calls, which should only reject a new call locally and not send a event if they are already in a call
2023-01-27 17:16:41 +05:30
td 441df7851b Merge branch 'td/glare' into 'main'
fix: glare

Closes famedly/company/product-management#80

See merge request famedly/company/frontend/famedlysdk!1161
2023-01-23 06:48:09 +00:00
td 262b456010 fix: glare 2023-01-23 06:48:07 +00:00
td 5510049dec
fix: update groupCalls state stream
refactor: add a try catch around disposing streams. Decoding streams is broken in flutter_webrtc atm
2023-01-23 06:43:35 +05:30
Nicolas Werner e81fce1f1f Merge branch 'td/generateInviteLink' into 'main'
feat: add method to generate the matrix.to link

See merge request famedly/company/frontend/famedlysdk!1207
2023-01-20 07:32:56 +00:00
td 9e649b7d37
fix: tweak some stuff in group calls code for group calls onboarding feat 2023-01-20 03:46:20 +05:30
td c5d484bb13
feat: add method to generate the matrix.to link 2023-01-20 03:41:43 +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 d6c4b530c5 refactor: room displayname calculation
This deprecates the displayname
getter in favor of the new
getLocalizedDisplayname which
gets the default localization
by default so it can be
called without defining localizations. It adds a method
to calculate if a room is an
abandoned DM room where
it is made sure that the room
is actually empty.
2023-01-17 08:51:07 +01:00
Duan Weiwei 579b01a405 Fix the timing error when the candidate arrives before the answer sdp. 2023-01-11 02:50:38 +00:00
Nicolas Werner 4ff07b58f4 Merge branch 'td/ringtone' into 'main'
fix: play ringtone for incoming calls before trying to getUserMedia

Closes famedly-web#656

See merge request famedly/company/frontend/famedlysdk!1204
2023-01-03 22:56:51 +00:00
td 1138012dd1
fix: propogate filter to getParticipants in requestParticipants 2023-01-04 03:36:51 +05:30
td bd352b60a6
fix: play ringtone for incoming calls before trying to getUserMedia 2022-12-30 20:33:04 +05:30
The one with the braid ed0ab3bdb9 Merge branch 'krille/remove-transaction-workaround' into 'main'
refactor: Remove database transaction workaround

See merge request famedly/company/frontend/famedlysdk!1192
2022-12-27 13:20:21 +00:00
Krille Fear 956a2f793f fix: Add timeout to sync http call 2022-12-27 09:30:04 +01:00
cloudwebrtc 23552d5434 fix: Fix the called party not sending screensharing correctly. 2022-12-21 20:49:37 +08:00
Christian Pauly 7a5b013c92 refactor: Remove database transaction workaround
The workaround was from the
time when we have used
sqflite or when Hive had
bugs. But now HiveCollections
already supports transactions
in Dart zones and concurrent
write operations shouldn't
be a problem anymore.
2022-12-21 09:41:11 +01:00
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
Nicolas Werner 58b3098f16 Merge branch 'braid/null-safe-code' into 'main'
fix: make some Room getters null safe

See merge request famedly/company/frontend/famedlysdk!1196
2022-12-14 22:36:29 +00:00
TheOneWithTheBraid 35a108b704 fix: make some Room getters null safe
- gixes huge error cause in integration tests of related apps

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-12-14 21:20:14 +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 52d6b59cc1
fix: leaved direct chat name 2022-12-12 10:31:40 +01:00
Duan Weiwei 0bd8848ec5 chore: Add voip connection tester. 2022-12-01 14:14:08 +00:00
Philipp Grieshofer 3f82835d3a fix: await requestKey() in event search 2022-12-01 08:55:57 +00:00
Philipp Grieshofer 789527c256 fix: Request session key for bad encrypted events before the text search is carried out 2022-11-28 08:08:26 +00:00
Mohammad Reza Moradi 67e1b9b253 Merge branch 'krille/check-if-verified-by-any-master-key' into 'main'
feat: Check if a key is verified by any master key

See merge request famedly/company/frontend/famedlysdk!1173
2022-11-24 13:11:07 +00: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
TheOneWithTheBraid 6ef8a56041 feat: migrate e2ee test to DinD
- migrate e2ee tests to DinD
- test e2ee against Synapse, Conduit and Dendrite
- fix error handling in push rules (thanks to Dendrite tests)

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-11-23 09:01:53 +01:00
Reza ffb37e834f feat: check if the key is verified by any master key 2022-11-22 17:22: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
td d517581fa5 Merge branch 'krille/fix-powerlevels' into 'main'
fix: PowerLevel calculation regarding to spec

See merge request famedly/company/frontend/famedlysdk!1172
2022-11-21 09:39:50 +00:00
Christian Pauly f3287dbb99 fix: PowerLevel calculation regarding to spec 2022-11-21 10:14:28 +01:00
Christian Pauly aaaf63a0b8 feat: Check if a key is verified by any master key
To check if a device is cross
signed by any master key can
be useful to know which
device can give us the
bootstrap keys on login.
2022-11-21 10:12:12 +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
td 6da10bf233
fix: handleMissedCalls on remote hangups before answer 2022-11-18 12:13:02 +05:30
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
Grieshofer Philipp d60a3aa579 refactor: Add argument for custom CreateRoomPreset to startDirectChat method 2022-11-14 11:07:53 +01:00
td 6784f4e83a Merge branch 'krille/fix-request-users' into 'main'
chore: Follow up fix for request users in invite rooms

See merge request famedly/company/frontend/famedlysdk!1163
2022-11-14 09:32:11 +00:00
Christian Pauly 7caab4d086 chore: Follow up fix for request users in invite rooms 2022-11-14 08:27:47 +01:00
cloudwebrtc 81eacf7291 chore: upgrade webrtc_interface, remove WebRTCDelegate.cloneStream. 2022-11-12 18:48:26 +08: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
td 79378714b9 Merge branch 'krille/do-not-request-users-invite-rooms' into 'main'
fix: Do not request users in not joined rooms

See merge request famedly/company/frontend/famedlysdk!1159
2022-11-07 11:37:00 +00:00
Christian Pauly 0a6a813804 refactor: Get rid of unnecessary type cast 2022-11-07 11:09:20 +01:00
Christian Pauly 2af89aeb8b feat: Allow converting of stacktraces in logs
This makes it possible to
print the correct stacktraces
when using web.
2022-11-07 10:40:02 +01:00
Christian Pauly f8140866ae fix: Do not request users in not joined rooms 2022-11-07 08:41:15 +01:00
td 70af77b3ac Merge branch 'voip/fix-offre-issue-for-ios' into 'main'
fix: sdp negotiation issue on iOS, close #335.

Closes #335

See merge request famedly/company/frontend/famedlysdk!1150
2022-11-03 02:48:58 +00:00
cloudwebrtc d2d29b5966 chore: Put all hard-coded timeout parameters into the Timeouts class. 2022-11-03 09:16:55 +08:00
cloudwebrtc fdee6fe590 fix: sdp negotiation issue on iOS, close #335.
Update lib/src/voip/call.dart

chore: flutter format.
2022-11-01 22:17:48 +08:00
td 6566bb8eeb
chore: reduce error logging level of groupCall is null 2022-10-28 22:01:17 +05:30
td aa03f5aa06
fix: filter list for adding p2p call events 2022-10-28 21:52:02 +05:30
Malin Errenst 380963e87a Merge branch 'krille/dont-try-to-decrypt-redacted-events' into 'main'
Krille/dont try to decrypt redacted events

See merge request famedly/company/frontend/famedlysdk!1156
2022-10-28 12:31:56 +00:00
Krille Fear 78cb434bf2 Merge branch 'krille/remove-deprecated-fluffybox' into 'main'
refactor: Remove deprecated fluffybox

See merge request famedly/company/frontend/famedlysdk!1155
2022-10-28 11:28:16 +00:00
Christian Pauly e6182db16b refactor: Remove deprecated fluffybox 2022-10-28 12:56:20 +02:00
Christian Pauly 296b193c1d chore: Lower logs level of native implementation noSuchMethod
Otherwise it would spam in the
production logs all the time
2022-10-28 12:45:27 +02:00
Christian Pauly 411cf3d4ec fix: Redact originalSource on redaction 2022-10-28 12:30:27 +02:00
Christian Pauly da8ebe85ef fix: Do not try to decrypt redacted events 2022-10-28 12:25:35 +02:00
Krille Fear fc1146fe94 Merge branch 'krille/more-stable-migration' into 'main'
fix: Do not wait for first sync after migration init

See merge request famedly/company/frontend/famedlysdk!1153
2022-10-26 10:07:58 +00:00
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
TheOneWithTheBraid ed7913e710 feat: introduce hightlighted room getter
- adds `Room.isUnreadOrInvited` extending `Room.isUnread` to invited rooms

This is some high-level abstraction simplifying computation of unread
room badges / notifications.

Related: https://gitlab.com/groups/famedly/company/-/epics/28

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-10-26 11:51:32 +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 1656c51f05 Merge branch 'fix/audio-input-auto-selection' into 'main'
chore: update audio device for call when input device changes.

Closes famedly-web#587

See merge request famedly/company/frontend/famedlysdk!1144
2022-10-18 14:06:50 +00: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
Nicolas Werner 1719bcec9e chore: add pushrules to the event types 2022-10-14 12:31:05 +00:00
Christian Pauly 3cc2f2fa4a fix: Edge case where MatrixException.error differs from errcode 2022-10-14 14:22:13 +02:00
cloudwebrtc e50c0ec641 chore: null safety. 2022-10-12 19:11:53 +08: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
td 157b488255 Merge branch 'td/staleGroupCalls' into 'main'
feat: implement expire_ts in group calls and provide methods to terminate stale calls

Closes #332

See merge request famedly/company/frontend/famedlysdk!1137
2022-10-07 10:13:59 +00:00
td da4174c91a
feat: implement expire_ts in group calls and provide methods to terminate stale calls 2022-10-07 15:08:38 +05:30
duanweiwei1982@gmail.com 27527f0417 chore: update audio device for call when input device changes. 2022-10-05 21:38:45 +08:00
Nicolas Werner c3ec0ffa2a fix: messages not being processed after a new encryption event. 2022-09-29 12:18:18 +02:00
td 3a8fedb02f Merge branch 'krille/warn-on-unverified-devices' into 'main'
feat: Add getter for own unverified devices

See merge request famedly/company/frontend/famedlysdk!1141
2022-09-27 09:25:20 +00:00
Duan Weiwei e5bc54ef88 Improve ice connection speed. 2022-09-23 20:02:09 +00:00
Christian Pauly dd375eddfd feat: Add getter for own unverified devices 2022-09-21 10:23:01 +02:00
Nicolas Werner 029a4ae77a fix: files get needlessly lowercased
relates to https://gitlab.com/famedly/app/-/issues/1755
2022-09-20 10:59:22 +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
Krille Fear d94bb1e480 Merge branch 'henri2h/dont-assume-redacts-is-valid' into 'main'
fix: don't assume redacts attribute from content to be valid

See merge request famedly/company/frontend/famedlysdk!1131
2022-09-19 13:06:34 +00:00
Christian Pauly 403824b261 feat: Store original event 2022-09-19 09:40:42 +02:00
cloudwebrtc 62cd4e78fb chore: fix analyzer error. 2022-09-17 00:19:21 +08:00
cloudwebrtc e1ccda3cb1 chore: update. 2022-09-17 00:10:50 +08:00
cloudwebrtc df426e763a chore: Properly close usermedia/screen stream for 1v1/group calls. 2022-09-16 23:29:49 +08:00
cloudwebrtc 4a5cf7d55d chore: update. 2022-09-16 00:04:22 +08:00
cloudwebrtc 7e1abd2b95 chore: Fire events by default during hangup. 2022-09-14 23:48:29 +08:00
cloudwebrtc 62cca99edd fix: Ensures that p2p/group calls are in progress to reject new call invitations, and emits a call reject events. 2022-09-14 23:07:32 +08:00
cloudwebrtc b203b5dacb fix: Fix remote hangup call causing local screenstream to be released. 2022-09-13 10:34:07 +08:00
henri2h 7b61f8eb01 fix: don't assume redacts attribute from content to be valid 2022-09-12 17:09:29 +02:00
Nicolas Werner 43ab43966f fix: properly handle events not already in the db
fixes https://gitlab.com/famedly/app/-/issues/1798
2022-09-09 17:16:58 +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 94397e3cb9 Merge branch 'td/typo' into 'main'
chore: fix video muted updates for local stream

See merge request famedly/company/frontend/famedlysdk!1126
2022-09-09 10:09:26 +00:00
td f15b1cf942
chore: fix video muted updates for local stream 2022-09-09 14:39:56 +05:30
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 125ce4d91f Merge branch 'fix/release-renderer-to-fix-crashes-for-android' into 'main'
fix: release renderer to fix crashes on android.

See merge request famedly/company/frontend/famedlysdk!1122
2022-08-31 13:15:45 +00:00
cloudwebrtc 40dd10d2e1 fix: release renderer to fix crashes on android. 2022-08-31 09:48:20 +08: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 3976b0f1e2 refactor: Avoid using private types in public api 2022-08-30 11:55:17 +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
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 6948eb8c06 fix: Parsing of MatrixException parameters 2022-08-29 10:23:44 +02:00
Christian Pauly 81e55ade67 feat: Allow auto request keys via key sharing requests 2022-08-28 13:59:34 +02:00
Malin Errenst ea93867b94 fix: Fixed dysfunctional key-verification (Emoji+manual)
- added snippet from Nico in matrix_keys.dart
Fixes #24
2022-08-26 09:48:11 +02:00
cloudwebrtc 38c37ec168 fix: Fixed issue with group calls for web and flutter. 2022-08-25 10:35:50 +08:00
Krille Fear 4675783311 Revert "fix: Secret storage keys are used as account data but are not uri encoded"
This reverts commit 2f944292ba
2022-08-24 07:57:16 +00: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 a525bb120a chore: strict casts 2022-08-20 17:26:16 +02:00
Nicolas Werner 6a225e3b8c chore: strict raw types 2022-08-20 11:56:34 +02:00
Nicolas Werner 5bd934895d chore: strict inference 2022-08-20 11:53:14 +02:00
Nicolas Werner 7471743be3 chore: disable dynamic calls 2022-08-20 11:28:43 +02:00
Nicolas Werner ff66e1c208 chore: upgrade from pedantic to lints 2022-08-19 12:11:42 +02:00
td ae1d7778d5 Merge branch 'voip/correctly-release-the-cloned-stream' into 'main'
chore: Correctly release the cloned stream.

See merge request famedly/company/frontend/famedlysdk!1101
2022-08-17 14:57:40 +00:00
Nicolas Werner 30060259fe Merge branch 'td/fix_negotiation' into 'main'
fix: correctly pass and wait negotiation callback

Closes #323

See merge request famedly/company/frontend/famedlysdk!1104
2022-08-17 14:53:56 +00:00
td d528ded9f8
fix: setRemoteDescription before adding local stream to prevent early feedsChanged and negotiation 2022-08-17 20:11:16 +05:30
Lanna Michalke 94a922fc31 Merge branch 'braid/natrive-implementations-follow-up' into 'main'
fix: follow up for native implementations web

Closes famedly-web#551

See merge request famedly/company/frontend/famedlysdk!1105
2022-08-17 10:29:57 +00:00
Lanna Michalke ca68c28d41 chore: support MIME in file factory
- defaultly generate MatrixFile based on the present MIME type

Related: https://gitlab.com/famedly/company/frontend/famedly-web/-/merge_requests/598

Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-08-17 11:57:50 +02:00
Lanna Michalke d43164f96d fix: follow up for native implementations web
- remove room key deriviation from web worker
- fix fallback argument

Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-08-17 10:08:58 +02:00
Nicolas Werner 65205ea734 chore: simplify getTimeline condition a bit 2022-08-16 16:58:36 +02:00
cloudwebrtc 8b60f17356 chore: Correctly release the cloned stream. 2022-08-15 23:51:10 +08:00
Nicolas Werner 651abc7c14 Merge branch 'krille/add-mark-as-dm-commands' into 'main'
feat: Add markasdm and markasgroup commands

See merge request famedly/company/frontend/famedlysdk!1092
2022-08-15 14:19:17 +00: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
Christian Pauly 2f944292ba fix: Secret storage keys are used as account data but are not uri encoded
This always encodes the storage
key so it can be used as account data.
Before the app has waited failed
to use this key at all so we do not
need a migration.
2022-08-12 09:06:51 +02:00
Lanna Michalke a983db4946 chore: expose option to retry computations
Fixes: https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/536

Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-08-10 07:59:29 +02:00
Nicolas Werner 064b84305d chore: Add markasdm/group tests 2022-08-09 15:33:59 +02:00
cloudwebrtc f2af63685c chore: Improve code. 2022-08-09 15:24:11 +08:00
cloudwebrtc 3f38a96d4f chore: Remove the previous room state listener method. 2022-08-08 22:54:08 +08:00
cloudwebrtc 9695a5ad10 chore: Use onRoomState to monitor group call creation and member join and leave. 2022-08-08 22:50:43 +08:00
Nicolas Werner f7003933e6 chore: export filter map extension 2022-08-08 16:47:08 +02:00
Christian Pauly 694187d5f1 feat: Add markasdm and markasgroup commands
This makes it possible to mark a
room as dm or group. As most of
the apps using the SDK do not have
a GUI to do this, this makes it now
finally possible to repair broken DM
rooms.
2022-08-08 08:47:07 +02:00
Nicolas Werner e78bf3fc09 Merge branch 'fix/fix-incoming-call' into 'main'
fix: Fix currentCID is null when handleNewCall is triggered, which will cause family-app not to display incoming calls.

See merge request famedly/company/frontend/famedlysdk!1080
2022-08-05 11:57:08 +00:00
Duan Weiwei 2ef59b0651 chore: fix group call id mismatch. 2022-08-03 14:16:08 +00:00
Christian Pauly 04e9ae522d feat: Add a flag to disable colors in logs 2022-08-01 15:39:18 +02: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 8058f88fe2 fix: missing null check
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-08-01 08:16:35 +02:00
Lanna Michalke 368162c76b Merge branch 'braid/compute-implementation' into 'main'
chore: introduce native implementations

See merge request famedly/company/frontend/famedlysdk!1087
2022-08-01 05:50:20 +00:00
Lanna Michalke 1cb04ef9e4 fix: make Hive Collection path nullable
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-08-01 07:19:05 +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
Nicolas Werner 7f55e131f4 Merge branch 'td/enable_group' into 'main'
feat: allow enabling group calls in already created rooms

See merge request famedly/company/frontend/famedlysdk!1084
2022-07-24 19:24:43 +00:00
Jayesh Nirve 29c1241359
chore: add tests for group calls 2022-07-21 23:16:59 +05:30
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
td 5dd53a66d9 Merge branch 'nico/awaited-voip' into 'main'
fix: Await unawaited stuff in voip code

See merge request famedly/company/frontend/famedlysdk!1082
2022-07-21 13:56:13 +00:00
Christian Pauly 7885281c72 refactor: Use import sorter and ci templates 2022-07-21 15:44:04 +02:00
Jayesh Nirve 0aa5ef9eea
feat: allow enabling group calls in already created rooms 2022-07-20 18:44:03 +05:30
Nicolas Werner c14fe937ec fix: Await unawaited stuff in voip code 2022-07-19 13:19:59 +02:00
Jayesh Nirve e9315bbb8d
fix: set fixed time for ringer
element sets lifetime to 60000 which would reject our calls automatically
2022-07-19 15:18:37 +05:30
duanweiwei1982@gmail.com e789ab904f fix: Fix currentCID is null when handleNewCall is triggered, which will cause family-app. 2022-07-15 22:34:19 +08: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