Commit Graph

1455 Commits

Author SHA1 Message Date
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
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
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
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
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 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
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
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
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 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