Commit Graph

1938 Commits

Author SHA1 Message Date
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
Duan Weiwei 80b7e7c566 fix: Add WebRTCDelegate.cloneStream to adapt to platform differences. 2022-07-09 05:32:51 +00: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 95b060a299 fix: Database did not get cleared correctly 2022-07-08 12:46:17 +02:00
Henri Carnot 65b20e7d17 fix: request history 2022-07-05 13:24:35 +00:00
Duan Weiwei 425274cb9c fix: fixed camera is still active after leaving the group call. 2022-07-01 18:37:37 +00:00
Krille Fear 48a376cdc0 Merge branch 'krille/refactor-handle-rooms' into 'main'
chore: Add macOS libraries to gitignore

See merge request famedly/company/frontend/famedlysdk!1067
2022-07-01 08:12:52 +00:00
Krille Fear c3a9d64329 Merge branch 'reza/sending-queue' into 'main'
fix: implement sending queue

Closes #257

See merge request famedly/company/frontend/famedlysdk!1061
2022-07-01 06:34:22 +00:00
Reza 4af89c6de4 fix:implement sending queue 2022-06-30 20:16:56 +02: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
Nicolas Werner c292a8602b fix: Support for OpenSSL 3.0 2022-06-28 12:31:47 +02:00
Nicolas Werner 9b8f3dae81 fix: ringtone not stopping when rejecting a call 2022-06-16 12:08:37 +02:00
Nicolas Werner d76fee7a20 fix: missing turn servers in group calls 2022-06-14 17:17:22 +02:00
Duan Weiwei e2efa3e758 Support group call. 2022-06-13 15:26:25 +00:00
TheOneWithTheBraid 3f0a177abf fix: BoxCollection not re-assignable
- make BoxCollection field in Hive collection DB re-assignable
- used by session import

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-06-10 06:17:29 +02:00
Christian Pauly 0ab2b7e443 refactor: add calcLocalizedBodyFallback method 2022-06-09 08:48:37 +02:00
Nicolas Werner 24a3369520 tests: Add basic test for space hierarchy api 2022-06-08 15:55:18 +00:00
Henri Carnot 80a4498ba9 fix: use ChildrenState for children_state in the room hierarchy response 2022-06-08 15:54:26 +00:00
Nicolas Werner 21e9b802a0 chore: Update Matrix API Lite for spaces fixes 2022-06-08 12:55:16 +02:00
Christian Pauly 58cfd1f688 refactor: Rename methods and get rid of all Future getter 2022-06-08 08:30:05 +02:00
Nicolas Werner 3dd7ef3444 fix: wrong types in spaces hierarchy API
BREAKING CHANGE (because from is now optional, so it can't be specified
conditionally)

See also:

- https://github.com/matrix-org/matrix-spec/pull/1110
- https://github.com/matrix-org/matrix-spec/pull/1097
2022-06-07 17:05:40 +02:00
Christian Pauly b00b1636d1 fix: Do not show seen events in push notification 2022-06-07 16:34:07 +02:00
Christian Pauly f1751a0744 refactor: Use single quotes 2022-06-07 08:53:14 +02:00
Christian Pauly 4692c95910 feat: Allow overriding supportedVersions 2022-06-07 08:53:08 +02:00
Krille Fear fc4f004312 fix: Add missing versions to fake matrix api
This makes it easier to
use the FakeMatrixApi in
other packages for unit
tests.
2022-06-03 11:05:30 +00:00
Henri Carnot 44b7247d2c fix: add deprecation mention for getUserByMYIDSync 2022-06-02 11:13:27 +00:00
Henri Carnot fb18843b08 refactor: make sender getter async 2022-06-02 08:13:21 +00:00
Henri Carnot 69dacc8ccd feat: allow updating image size 2022-05-31 20:32:35 +00:00
Henri Carnot 2d018d3d5f feat: added waitForSync method 2022-05-25 10:53:52 +00:00
Christian Pauly 8b1ec5b73c feat: Add search for events in timeline 2022-05-25 08:54:58 +02: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
Lanna Michalke 8fd3bbe28c feat: support HiveCollections as Database provider
- support Hive's new `CollectionBox` and `BoxCollection`

Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-21 20:19:52 +02:00
Krille Fear 3f3d4d38d6 refactor: Migrate to Matrix Api Lite 1.0.0 2022-05-17 22:50:04 +00:00
Nicolas Werner d77940b9c2 Merge branch 'reza/delete_reaction' into 'main'
fix: delete reaction

See merge request famedly/company/frontend/famedlysdk!1034
2022-05-17 10:23:17 +00:00
Henri Carnot ff586b06b1 fix: don't assume element is a string 2022-05-17 09:25:13 +00:00
Reza fdc2ae01b2 fix: delete reaction 2022-05-17 11:24:02 +02:00
Henri Carnot 7e4096cc63 Merge branch 'henri/fix-remove-duplicated-fully-read' into 'main'
fix: remove duplicated read marker

See merge request famedly/company/frontend/famedlysdk!1033
2022-05-16 11:09:37 +00:00
Henri Carnot bfdd4c810e Henri/fragmented timeline v2 2022-05-16 10:54:42 +00:00
h.carnot 6c2e525a64 fix: remove duplicated read marker 2022-05-16 10:49:57 +02:00
Nicolas Werner 13b4598c83 feat: Authenticate media downloads
This is not strictly required by the spec, but it improves security to
require auth for media downloads on your homeserver. I enabled that on
my servers now and plan to MSC that soon. This is required for people on
my servers to see images and other content now.
2022-05-16 08:14:48 +02: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
Krille Fear 9a87850092 Revert "feat: non cached fragmented timeline"
This reverts commit 09b324674e
2022-05-12 09:46:29 +02:00
Christian Pauly b8ea213f73 fix: Missing null check in get single room method 2022-05-11 09:45:01 +02:00
Christian Pauly d22c200b5c chore: Make path configurable in uiaLogin 2022-05-10 14:47:50 +02:00
Christian Pauly ac293c29c6 chore: Move auth object passing to external msc implementations 2022-05-09 14:32:08 +02:00
Nicolas Werner d6bb91f7e1 chore: Update to matrix v1.2 2022-05-06 15:14:12 +00:00
cloudwebrtc 2fa6561f36 chore: Add GroupCallPrefix/GroupCallMemberPrefix to EventTypes.
chore: fix flutter analyze issue.
2022-05-06 22:17:33 +08: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 ecdbb06118 feat: introduce new MSC library architecture
- migrated to more useful MSC directory structure
- migrate Widgets API into new structure
- add recent emoji API into new structure

The recent emoji API is non-standard and should be compatible with Element.

Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-03 09:17:57 +02: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
Henri Carnot f23abcd323 feat: get fully read marker 2022-05-02 08:43:54 +00:00
td 60fb103563 Merge branch 'krille/remove-deprecations' into 'main'
refactor: Remove old deprecations

See merge request famedly/company/frontend/famedlysdk!1017
2022-04-27 05:35:32 +00:00
Krille Fear 15c5bf0a13 Merge branch 'henri/make-image-size-editable' into 'main'
feat: make image size editable

See merge request famedly/company/frontend/famedlysdk!1015
2022-04-23 06:09:44 +00: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 eaa2f73bcc feat: make image size editable 2022-04-21 15:45:38 +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 4e657f8e09 fix: Ignore no permission errors on requesting users
In theory even in invite or left rooms it
can be possible to request a room
state regarding the spec. In most
cases it will throw an error though.
2022-04-14 17:32:52 +02:00
Krille Fear c5a6cc9a52 Merge branch 'krille/get-event-from-push' into 'main'
feat: Get event from push notification

See merge request famedly/company/frontend/famedlysdk!1008
2022-04-14 15:08:46 +00:00
Christian Pauly 5973e629fe feat: Get event from push notification 2022-04-14 17:01:05 +02:00
Christian Pauly 059a240214 feat: Add more localization strings and add default matrix localizations 2022-04-14 07:54:15 +02:00
Krille Fear 2f4d455eee fix: Retry sending a file event 2022-04-08 08:41:55 +02:00
Henri Carnot c6393c67d6 Merge branch 'henri/blurhash-fallback' into 'main'
feat: blurhash fallback to thumbnail one

See merge request famedly/company/frontend/famedlysdk!1002
2022-04-07 11:58:48 +00:00
h.carnot 97ca608f60 feat: check thumbnail size 2022-04-06 17:43:31 +02:00
h.carnot f1c007c655 feat: fallback to thumbnail preview 2022-04-06 11:09: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 cdd6111ce1 fix: Missing type check in power level calculation 2022-04-03 08:22:53 +02:00
Krille Fear 6f977b7c9d fix: Store sending files in database and fix retrying to send them 2022-04-01 14:26:57 +02:00
Christian Pauly 117baecfb1 fix: Post load all users on room opening
When opening a room we need to
fetch all users from the database.
Otherwise we would need to
update the timeline per user after
creation which should be much slower.
2022-03-31 13:07:40 +02:00
Christian Pauly ea3910001b fix: Better fallback message for member events without any change 2022-03-31 12:20:23 +02:00
Christian Pauly 6a57f99c00 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 11:15:04 +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
Christian Pauly a915cdacc8 feat: Display dummy event in timeline for sending files
For thumbnail generation, encrypting
and uploading it is not necessary
to block the UI. The given file
event should already be displayed
in the timeline. This placed it in
the UI and adds a additional
fileSendingStatus property so the
app can fetch the current status.
2022-03-30 10:27:42 +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
Nicolas Werner e2d2a69e45 Merge branch 'voip/move-voip-methods-from-room' into 'main'
chore: Move the call methods in room to the voip class.

See merge request famedly/company/frontend/famedlysdk!980
2022-03-25 23:51:55 +00:00
Duan Weiwei cac4dc967d chore: Move the call methods in room to the voip class. 2022-03-25 23:51:55 +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
Krille Fear c897127be5 Merge branch 'henri/fix-olm-session-creation-issue' into 'main'
fix: remove pendaing outbound group session creation on completed or errored

Closes #252

See merge request famedly/company/frontend/famedlysdk!987
2022-03-25 09:17:49 +00:00
Christian Pauly 6b36d6bd79 feat: Get event in a room faster by searching in database 2022-03-24 14:10:41 +01:00
h.carnot 2cd4eb5e2c fix: remove pendaing outbound group session creation on completed or errored 2022-03-24 13:52:28 +01:00
TheOneWithTheBraid c362ead49a feat: implement mofifying widgets
- add predefined MatrixWidget factories
- allow to create widgets
- allow to delete widgets

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-03-24 10:40:10 +01:00
Krille Fear b5336cf589 Merge branch 'henri/event-getLocalizedBody-remove-markdown' into 'main'
feat: allow removing markdown formating from localized body

See merge request famedly/company/frontend/famedlysdk!979
2022-03-24 08:09:43 +00:00
Krille Fear f1be211845 Merge branch 'henri/fix-room-loading' into 'main'
fix: room members loading

See merge request famedly/company/frontend/famedlysdk!982
2022-03-24 08:04:17 +00:00
Henri Carnot 809fe9e621 fix: room members loading
States were used before being fetched from the database.
Thus, room membership states weren't set, and so,
user display names weren't be fetched from the database.
2022-03-24 08:04:17 +00:00
Christian Pauly 657a332b03 refactor: Simplify relates to and make it more type safe
Everything in content is user generated
so we should never expect correct
types and return null instead.
2022-03-22 11:46:48 +01:00
h.carnot b47a5f8dff feat: added doc 2022-03-18 11:42:38 +01:00
h.carnot 77347a44ff feat: allow removing markdown formating 2022-03-18 11:40:10 +01:00
Techno-Disaster 885da787b4
fix: send oldusername in displayname changed event 2022-03-17 18:51:26 +05:30
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
Krille Fear 93b11dd8ca Merge branch 'krille/matrix-file-improvements' into 'main'
refactor: Make MatrixFile final and move all image calculation into isolate

Closes famedly/fluffychat#863

See merge request famedly/company/frontend/famedlysdk!972
2022-03-15 07:40:59 +00:00
Krille Fear 9fa5667234 refactor: Make MatrixFile final and move all image calculation into isolate
This makes all fields in a MatrixFile final and
the object therefore stateless. It also moves
all calculations into the isolate. After some
benchmarks it seems that this does not
really speed up the thumbnail creation
but it does no longer block the UI for
some seconds.
2022-03-15 08:27:40 +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 215de3b948 Merge branch 'krille/fix-background-uia' into 'main'
fix: UIA request stucks forever on unexpected matrixExceptions

See merge request famedly/company/frontend/famedlysdk!966
2022-02-19 11:32:40 +00: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 a7f8838522 fix: UIA request stucks forever on unexpected matrixExceptions 2022-02-17 20:54:03 +01:00
Christian Pauly b30b340b43 fix: hasNewMessage true when last event is sent 2022-02-16 08:09:57 +01:00
td d543a0314d Merge branch 'krille/return-homeserver-summary' into 'main'
feat: Return homeserver summary on checkHomeserver

See merge request famedly/company/frontend/famedlysdk!963
2022-02-16 07:07:53 +00:00
Krille Fear 6b610d0115 feat: Return homeserver summary on checkHomeserver 2022-02-16 07:07:53 +00:00
cloudwebrtc 63d347de8e fix: Correctly end the call. 2022-02-15 22:02:56 +08:00
Christian Pauly 01dfdb29fd fix: Has new messages compares ts
This compares the origin server timestamp which might not map
to the real sort order of the timeline. But it is the best
solution for now.
2022-02-15 10:26:17 +01:00
Lanna Michalke ade7e7e910 fix: handle dynamic content for pinned events
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-02-14 18:18:34 +01: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
Christian Pauly 63e69eaa27 feat: Add hasNewMessages flag to room
This makes it possible to check
if muted rooms have unread
messages.
2022-02-14 10:48:57 +01:00
Christian Pauly 843afe7aa4 fix: Sort rooms after updating the UI on web
FluffyBox behaves different on
web transactions which leads
to the result that _sortRooms()
is performed before the
rooms UI can be there. This
leads to an unsorted room list
on web.
2022-02-14 09:30:33 +01:00
Krille Fear ff55444b52 Merge branch 'voip/fix-black-screen-with-system-button' into 'main'
fix: Fix black screen when end screensharing with system buttons.

Closes famedly-web#268

See merge request famedly/company/frontend/famedlysdk!955
2022-02-14 08:03:23 +00:00
Nicolas Werner 4a52540006 fix: exception on removed widgets
And widgets without a name.

fixes #267
2022-02-13 23:11:53 +01:00
cloudwebrtc 48c0d03bd2 fix: Fix black screen when end screensharing with system buttons. 2022-02-13 07:13:58 +08:00
Christian Pauly d7f0da3545 fix: Call onChange on remove aggregation event 2022-02-08 08:34:20 +01:00
Krille Fear 84e87279e8 fix: Remove onHistoryReceived which was broken anyway 2022-02-07 15:15:44 +01:00
Krille Fear 8e7db020bf fix: Remove aggregation event doesnt trigger onChange 2022-02-07 15:06:38 +01:00
Christian Pauly 846d5b0f46 fix: Add redaction events to timeline
The redaction events should not
be displayed in the GUI but it
is the job of the app to hide
them from the timeline while
the SDK should offer an
accurate list of ALL timeline
events by default.
2022-02-04 08:55:47 +01:00
Christian Pauly 12f846e101 fix: Resize image with compute by using const class arguments 2022-02-04 08:04:18 +01:00
Christian Pauly 01d13e7e2c refactor: Implement on history received in timeline
In order to make delta updates
for GUIs displaying the
timeline events easier, the
onHistoryReceived callback
has been introduced.
2022-02-03 09:38:39 +01:00
TheOneWithTheBraid 7d2a99b500 fix: null-safety issues with widgets
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-02-02 16:17:22 +01:00
TheOneWithTheBraid fa6bd12294 feat: implement to get a room's widgets
Please note that this does not implement *modifying* widgets,
as this requires a full implementation of the Matrix Integration Manager
API first. This is to be done later.

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-02-02 08:38:56 +01:00
Christian Pauly 48572f8f10 fix: Trigger onChange for index on aggregation event update 2022-02-01 11:45:29 +01:00
Krille Fear f8a2a603ad Merge branch 'room-timeline-onupdate' into 'main'
feat: expose Timeline.onChange to Room.getTimeline

See merge request famedly/company/frontend/famedlysdk!943
2022-01-26 12:16:07 +00:00
TheOneWithTheBraid ed6f9c06b7 feat: expose Timeline.onChange to Room.getTimeline
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-01-26 12:52:30 +01:00
Nicolas Werner 999dbb4434 Merge branch 'voip/fix-call-breaks-caused-by-aborting-screen-sharing' into 'main'
Fix call breaks issue caused by aborting screen sharing.

Closes famedly-web#212

See merge request famedly/company/frontend/famedlysdk!938
2022-01-26 10:57:09 +00:00
Lanna Michalke 58f6cde0bf BREAKING CHANGE: high-level hadling of image sizes
- By using [package:image](https://pub.dev/packages/image), the
`MatrixImageFile` was given automatically generated width and heigth.
- Moreover, `MatrixImageFile` was given a factory to create the image
  file from a given maximal dimension.
- When sending images without explicitly providing a thumbnail, the
  thumbnail is automatically generated based on the provided image.
- The blur hash in generated automatically based on the provided image.

Fixes:
https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/162, https://gitlab.com/famedly/fluffychat/-/issues/756

Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-01-19 13:10:17 +01:00
Marcel 1b11efc9eb fix: Use where and map instead of a loop and a removeWhere 2022-01-17 22:06:29 +00:00
cloudwebrtc 38c7109aee fix: fix call breaks issue caused by aborting screen sharing. 2022-01-17 21:16:36 +08:00
MTRNord d77d49430a fix: Remove sorts that shouldnt be required. 2022-01-15 21:54:13 +01:00
cloudwebrtc fba3c1e5f6 fix: Fix turn credentials format issue for safari. 2022-01-14 20:56:51 +08:00
Lanna Michalke cab03aa73b fix: Allow unpadded base64 decoding 2022-01-11 09:02:34 +00:00
Krille Fear b472dd7b92 fix: Room Member updates should always be cached
I think the commit which broke it was this: e3bd0cf1 It makes sure that only important state events get cached and room member events are not important state events and so new invites have no room member events cached. It makes sense to also allow room member events here to always be cached as they are special typed.
2022-01-08 10:44:22 +01:00
Krille Fear bcca5e11f2 feat: Let sendDefaultMessage return false on encryption failure 2022-01-07 17:12:20 +00:00
Krille Fear 6d8fabd1e0 Merge branch 'krille/fix-request-user' into 'main'
fix: Requested users are not stored

See merge request famedly/company/frontend/famedlysdk!930
2022-01-04 06:28:00 +00:00
Krille Fear e9e9dcb4aa Merge branch 'krille/newlinter' into 'main'
refactor: Remove unnecessary type checks and imports

See merge request famedly/company/frontend/famedlysdk!929
2022-01-03 11:45:06 +00:00
Christian Pauly 62a04b52d4 fix: Requested users are not stored
Fake Matrix Events for storing
need more paramters to
actually get stored. This fixes
it by creating a fake event ID
which should be unique.
2021-12-26 09:14:52 +01:00
Krille Fear 3bce8b4489 refactor: Remove unnecessary type checks and imports 2021-12-23 11:46:45 +01:00
Krille Fear 326f1f3223 fix: Localize reactions
In notifications in FluffyChat we
have "Unknown event m.reaction"
for reactions. But it should just be
enough to display the body so it
should look like:
"username: :thumbs_up_emoji:"
2021-12-23 11:43:00 +01:00
Krille Fear e5fde4f801 chore: bump version 2021-12-16 08:17:36 +00:00
Nicolas Werner d687973b01 fix: fallback in body for replies to replies 2021-12-15 19:21:41 +00:00
Lukas Lihotzki 477780d779 feat: deletePusher 2021-12-09 11:33:28 +00:00
Lukas Lihotzki 793ddddd3f feat: add additionalProperties in PusherData 2021-12-09 11:33:28 +00:00
Sorunome fa5abfca92
fix: ignore 4xx errors when re-sending the to_device queue
The to_device queue was introduced to ensure integrity if e.g. the
server temporarily failed when attempting to send a to_device message.
If, for whatever reason, the server responds with a 4xx error, though,
then we want to ignore that to_device message from the queue and move on,
as that means that something different was fundamentally wrong. This
helps to fix the to_device queue clogging up, making clients incapable
of sending to_device events anymore, should such clogging happen.
2021-12-08 13:00:53 +01:00
Sorunome 454e27239c
chore: Add missing matrix error types as per spec
The full list of error codes is here:
https://spec.matrix.org/v1.1/client-server-api/#standard-error-response
2021-12-07 21:10:59 +01:00
cloudwebrtc c0e4008903 fix: Store the call state, fix the invite cannot be sent. 2021-12-06 19:32:33 +08:00
Sorunome b009ada0ac
fix: Allow consecutive edits for state events in-memory
The lastEvent was incorrect when trying to process an edit of an edit.
This fixes that by allowing consecutive edits for the last event.
2021-12-06 11:11:21 +01:00
Sorunome e3bd0cf139
fix: Only save state events from sync processing in-memory if needed
If we dump all state events from sync into memory then we needlessly
clog up our memory, potentially running out of ram. This is useless
as when opening the timeline we post-load the unimportant state events
anyways. So, this PR makes sure that only the state events of post-loaded
rooms and important state events land in-memory when processing a sync
request.
2021-12-06 11:09:50 +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 43d5b1c523 fix: Add missing calcDisplayname global rules to client constructor
This two parameters were
already documented but
were missing in the
constructor. They can
also be final.
2021-12-03 12:34:52 +01:00