Commit Graph

1995 Commits

Author SHA1 Message Date
Bruno Windels
fdce098245 create cross-signing class, support deriving msk from 4s stored privkey
and check if they match the publicized one and then trust it
2023-02-14 12:12:20 +01:00
Bruno Windels
ce5b27f4b8 support fetching the master signing key for a user in the device tracker 2023-02-14 12:11:59 +01:00
Bruno Windels
2043541f56 fix missing free in key backup 2023-02-10 17:36:14 +01:00
Bruno Windels
7c1117ddd4 keep token in memory to compare stored token with after /messages
and don't look at response.start as it can be different as
the format can change after a server upgrade while
(still pointing at the same location)
2023-02-10 14:08:35 +01:00
Bruno Windels
83d1ea05a1 fix unit test 2023-02-10 11:22:13 +01:00
Bruno Windels
f9fa59609f fix local variable usage after extracting method 2023-02-10 08:48:10 +01:00
Bruno Windels
4a46c98d12 don't assume the call handler is always set in device message handler 2023-02-09 11:57:45 +01:00
Bruno Windels
22a8182266 feature-gate calls everywhere in the app 2023-02-09 11:57:30 +01:00
Bruno Windels
d5929d9ebe make features available in Client and Session 2023-02-09 11:53:39 +01:00
Bruno Windels
fe5794a4bc don't clear options as error boundary may fire after dispose 2023-02-07 23:26:02 +01:00
Bruno Windels
928419502e no point in ref'ing an item on its parent 2023-02-07 22:44:43 +01:00
Bruno Windels
b6c7bbb05c
Merge pull request #1016 from vector-im/calls-fix-1012
Calls: Emit update after sending signalling message + other error fixes
2023-02-07 22:03:36 +01:00
Bruno Windels
dd89aab516 fix typescript error in unit test 2023-02-07 20:19:06 +01:00
Bruno Windels
5ad3f0c671 look at signalingState when even is fired, not later when it may have changed 2023-02-07 20:11:35 +01:00
Bruno Windels
3ff91639c6 log signalingState on negotiationneeded 2023-02-07 20:07:16 +01:00
Bruno Windels
5c2889aa5b show DOM errors on the member error boundary rather than one for call
gives a bit more context
2023-02-07 19:59:13 +01:00
Bruno Windels
7114428b23 now that the dom handler uses an error boundary, don't need this anymore 2023-02-07 19:57:42 +01:00
Bruno Windels
a49c9c17c0
Merge pull request #1017 from vector-im/bwindels/fix-1015
Improve `seq` handling to prevent queue blocking for call signalling messages
2023-02-07 19:50:55 +01:00
Bruno Windels
0fa9d193d9 fix comment typo 2023-02-07 19:42:43 +01:00
Bruno Windels
7f9d64c972 improve logging of arrival of to_device call signalling messages 2023-02-07 19:42:20 +01:00
Bruno Windels
ddb5865ccb actually forgot to dispose peerCall here when replacing 2023-02-07 15:00:56 +01:00
Bruno Windels
02108c69dc remove debug logging 2023-02-07 15:00:45 +01:00
Bruno Windels
f67fb7add6 add unit test for this particular error case 2023-02-07 14:58:57 +01:00
Bruno Windels
e39dd176a4 remove debug logging 2023-02-07 14:58:32 +01:00
RMidhunSuresh
496dfee593
Catch error in promise chain 2023-02-07 19:25:48 +05:30
RMidhunSuresh
6d800ff359
WIP 2023-02-07 19:15:36 +05:30
Bruno Windels
5f4ad30d03 don't block if it does happen that we have processed a message too early
allow dequeueing if the first seq in the queue is actually lower
than what we already processed. Normally should not happen,
but the bug fixed in the previous commit was aggravated by
this behavior, so be more lenient here.
2023-02-07 14:43:28 +01:00
Bruno Windels
39e9a43a1b be strict about the first seq being 0
otherwise if first 2 messages are delivered in reverse order,
the queue gets blocked
2023-02-07 14:42:44 +01:00
Bruno Windels
cadeae98bc prevent ignored signaling messages from blocking the queue
signaling messages get ignored when they are not for the
currently active call id. In that case we currently don't
advance the lastProcessedSeqNr counter, as we had a problem
before where the counter would be brought out of sync with
seq numbers for other call ids.
However when we've previously processed a signalling message
(e.g. the counter is not undefined) and the first message in the queue
is to be ignored, it will prevent the subsequent messages from being
dequeued as their seq number is more than 1 away from the last
processed seq. This adds an additional counter for ignored seq numbers
that is also used to see if the next message is only 1 away from
the next seq value.

I am adding logging as well here to have a better overview in the future
2023-02-07 14:18:14 +01:00
RMidhunSuresh
7eae171ac9
Emit after sending signalling message 2023-02-06 17:12:39 +05:30
RMidhunSuresh
09e67ec21c
Deal with race in a better way 2023-02-02 18:39:19 +05:30
RMidhunSuresh
de57e07982
Wait for room to come through sync 2023-02-02 15:26:38 +05:30
RMidhunSuresh
9a6d15a72b
Fix unwanted toast appearing when opening client 2023-01-31 16:49:58 +05:30
Bruno Windels
825602a04a dispose local media here when returning early as join takes ownership 2023-01-27 10:12:36 +01:00
Bruno Windels
c8bb5fffb0 don't allow to join a call using a foci 2023-01-27 10:12:22 +01:00
Bruno Windels
365157449e cleanup loops here to not get keys 2023-01-27 10:02:13 +01:00
Bruno Windels
43dea3bfdc detect calls using a foci 2023-01-27 10:01:53 +01:00
Bruno Windels
90ba35da7a listen for members.size changes in CallTile and emit update so memberCount binding updates
also be consistent to not emit updates on call object when changing members map
2023-01-26 14:50:46 +01:00
Bruno Windels
0a9f533421 Merge branch 'bwindels/calls' into bwindels/calltile-ui 2023-01-26 13:27:29 +01:00
Bruno Windels
725757e235 Merge branch 'bwindels/calls' into calls-show-toast 2023-01-26 11:50:52 +01:00
Bruno Windels
043ad98866 element call also terminates prompt calls, so do so too 2023-01-24 23:33:04 +01:00
Bruno Windels
e140a4ba64 element call puts string in terminated, not a boolean 2023-01-24 23:33:04 +01:00
RMidhunSuresh
fa5cb684b0
WIP 2023-01-24 13:51:17 +05:30
Bruno Windels
1df8d31ab5 show call duration in tile 2023-01-23 17:06:33 +01:00
Bruno Windels
3bb889ed9c WIP 2023-01-23 14:53:08 +01:00
Bruno Windels
2bd37970ba each LocalMedia own their streams, so a copy should have their own clone 2023-01-20 17:34:15 +01:00
Bruno Windels
590e9500c1 clone localMedia,so we don't remove audio track from stream sent to peer 2023-01-20 17:33:16 +01:00
Bruno Windels
6645f8f43b remove debug throw 2023-01-20 16:50:15 +01:00
Bruno Windels
b2feaf2b4e fix mixing up params, causing us to call onUpdate on params rather than vm 2023-01-20 16:50:07 +01:00
Bruno Windels
920fedae5e merge master into bwindels/calls 2023-01-20 16:24:38 +01:00
Bruno Windels
2408850678 emit change before logging 2023-01-19 11:33:21 +01:00
Bruno Windels
3842f450dd ensure errors caught by boundary are logged in calls code 2023-01-19 11:30:23 +01:00
Bruno Windels
dfaaf6d234 cleanup reply code a bit, have only 1 path to send message 2023-01-19 09:54:07 +01:00
Bruno Windels
e33209b747 start logging in view model and pass it on to model methods (calls+room) 2023-01-19 09:54:02 +01:00
Bruno Windels
1e4180a71f add error boundary to GroupCall 2023-01-19 09:48:59 +01:00
Bruno Windels
7f9edbb742 this can be private 2023-01-19 09:46:19 +01:00
Bruno Windels
b1687d7115 introduce error boundary in call member 2023-01-19 09:46:19 +01:00
RMidhunSuresh
1cd6540476
Don't use getter here 2023-01-17 14:32:02 +05:30
RMidhunSuresh
ce5c5779bd
Set mute -> mute 2023-01-17 14:24:20 +05:30
RMidhunSuresh
c064336e35
Create localPreviewMedia in GroupCall.setMedia 2023-01-16 15:28:50 +05:30
RMidhunSuresh
f6c94ecc5a
WIP 2023-01-16 13:41:47 +05:30
Bruno Windels
cb0f803276 make this code a bit clearer 2023-01-06 12:05:34 +01:00
Bruno Windels
fcb4f2a62d fix microphone audio being played back through local video preview 2023-01-06 12:05:11 +01:00
Bruno Windels
e26eb30b82 rename m.expires_ts to expires_ts to be compatible with MSC/Element 2023-01-05 15:47:01 +01:00
Eric Eastwood
087a4ad7ce Add copy permalink action 2022-11-10 20:53:14 -06:00
Bruno Windels
e4049c962a
Merge pull request #920 from vector-im/bwindels/fetch-sender-keys-without-tracking-room
Fix keys not being fetched to verify senders when the room isn't tracked yet.
2022-11-10 17:27:55 +00:00
Bruno Windels
155f4beba8 add devicesForUser to fetch devices for untracked room
and use it when fetching senders to verify.
2022-11-10 17:53:11 +01:00
Bruno Windels
3d5a733267 split up _devicesForUserIds to reuse with different outdated criteria 2022-11-10 17:51:40 +01:00
Bruno Windels
c78bed846e create unknown userIdentity when processing /keys/query response
this can happen when the room isn't tracked yet, which is a use case
we add support for in the next commit to verify senders that we don't
know about yet (e.g. when the room isn't tracked).
2022-11-10 17:28:18 +01:00
Bruno Windels
31579b4945 when tracking room, check roomId isn't on user we shouldn't share with 2022-11-10 17:26:50 +01:00
Bruno Windels
860f435855 log session afterSyncCompleted with normal log level 2022-11-10 17:26:21 +01:00
Bruno Windels
47d557b38d expand comment how to handle race here 2022-11-10 17:20:59 +01:00
Bruno Windels
32835e26b9 adjust query for finding all state events of a type
we were looking for state events with state key between \0 and \u10FFFF
but an empty state key is also valid and would come before \0,
so allow empty state keys at the beginning of the range and include them
in the result by opening the lower bound.
2022-11-10 14:12:22 +01:00
Bruno Windels
ec4413550b apply method rename (and catch errors) 2022-11-08 07:59:26 +01:00
Bruno Windels
f18aac017a
Merge pull request #819 from Kaki-In/recalculate_dm
Deleting leaving Heroes
2022-11-04 09:29:00 +00:00
Bruno Windels
cc70d44752
Merge pull request #913 from vector-im/bwindels/verify-unfetched-roomkey-senders
Verify unfetched roomkey senders
2022-11-04 09:04:41 +00:00
Bruno Windels
6c73c31735 take any decryption result, as it might now have a device to verify with 2022-11-03 17:32:01 +01:00
Bruno Windels
dd7bbe89ac put detached logs in correct log item 2022-11-03 16:37:53 +01:00
Bruno Windels
dfede83c0b log verifying senders in own item 2022-11-03 16:37:38 +01:00
Bruno Windels
2582600249 await operation, otherwise it keeps running during next sync 2022-11-03 16:37:20 +01:00
Bruno Windels
25c8f1cf04 always return a promise from this method, even if nothing to verify 2022-11-03 16:36:31 +01:00
Bruno Windels
cd5343414a fix lint 2022-10-28 17:16:32 +02:00
Bruno Windels
6123d794da also fetch unknown sender keys after decrypting entries outside of sync 2022-10-28 16:55:36 +02:00
Bruno Windels
dc25f96e73 update observed events as well 2022-10-28 16:55:20 +02:00
Bruno Windels
218d25d973 fix typo 2022-10-28 16:50:01 +02:00
Bruno Windels
d0122d17c0 don't assume timeline is open as have an await since last check 2022-10-28 16:49:33 +02:00
Bruno Windels
6dbcd46d80 cleanup of ctor 2022-10-28 16:31:00 +02:00
Bruno Windels
fcb1546fba fetch keys as part of afterSyncCompleted step
remove needsAfterSyncCompleted step as well, performance difference
should be neglible
2022-10-28 16:25:31 +02:00
Bruno Windels
9c13b2b4a4 add method to fetch missing sender keys 2022-10-28 16:09:03 +02:00
Bruno Windels
c544819b42 rename and refactor method to verify locally known senders a bit
to differentiate with method to come for verifying senders that need to
be fetched still, and also allow reuse of verification logic by said new
method.

Also get rid of roomTracked flag in DecryptionResult as once we fetch
unknown senders (in commit to come), we should now always have a device,
unless the device isn't known on the server,
in which case we should shout.
2022-10-28 15:35:31 +02:00
Paulo Pinto
ad02c1625f Encode SSO redirect URL as it may contain multiple query parameters
If the returnURL contains multiple query parameters (e.g. http://localhost:3000?foo=bar&bar=baz), the homeserver would fail to correctly parse the URL, and only the first query parameter would be kept.

This is not an issue with the homeserver since the URL cannot be parsed in an unambiguous way, as the resulting URL would be:

https://example.com/_matrix/client/r0/login/sso/redirect?redirectUrl=http://localhost:3000?foo=bar&bar=baz

It's not possible to know whether the bar parameter is part of the "parent" URL, or part of the redirectUrl parameter.

----

To fix this, we now encode the redirectUrl parameter, which results in:

https://example.com/_matrix/client/r0/login/sso/redirect?redirectUrl=http%3A%2F%2Flocalhost%3A3000%2Fparent.html%3Ffoo%3Dbar%26bar%3Dbaz

This URL is correctly parsed by synapse.
2022-10-27 15:42:24 +01:00
Robert Long
e9b8cfbd9e Member should be expired if there's no expires at key 2022-10-18 13:42:01 -07:00
Eric Eastwood
9ad5dd752c
Make no content PL fallback to 0 (#863)
Make no `content` PL fallback to `0`. A valid PL event will have `content` but when you're just stubbing a PL event with an empty object `{}`, it doesn't need to exist and we can just as easily fallback to `0` PL level.

Split off from https://github.com/vector-im/hydrogen-web/pull/653

Changes necessary for https://github.com/matrix-org/matrix-public-archive/pull/57
2022-10-17 15:59:24 -05:00
Eric Eastwood
b4f4636555
Clarify that we no-op because if it's already aborted, that's what we wanted to do anyway (#861)
Split off from https://github.com/vector-im/hydrogen-web/pull/653
2022-10-17 15:56:34 -05:00
Bruno Windels
d37965ef91 return promise from _createSessionAfterAuth 2022-10-14 20:08:26 +02:00
Bruno Windels
4d5f202d94
Merge pull request #889 from vector-im/login_with_access_token
Add abiity to setup session immediately after registration without using /login
2022-10-14 08:54:52 +00:00
Bruno Windels
1f8a591cf6 dont need extra log depth 2022-10-14 10:28:42 +02:00
Bruno Windels
f46d2c1bf5 make startWithFinishedRegistration more broadly useful 2022-10-14 10:17:32 +02:00
RMidhunSuresh
dcba6d1500
Split method 2022-10-11 18:05:54 +05:30
RMidhunSuresh
a448c0218d
Fix missing semicolon 2022-10-11 18:01:54 +05:30
RMidhunSuresh
1f764664c9
Expose homeserver from Registration object 2022-10-11 17:58:33 +05:30
RMidhunSuresh
85a9a019c8
Don't inhibit login 2022-10-11 17:58:07 +05:30
R Midhun Suresh
8ef163353a
Merge pull request #793 from ibeckermayer/ibeckermayer/ts-conversion-observable-map
Typescript conversion for `src/observable/map`
2022-10-10 11:31:25 +05:30
Bruno Windels
7d10bec4ac remove comment not relevant anymore 2022-10-07 10:59:13 +02:00
Bruno Windels
4350537004 cleanup 2022-10-07 10:58:12 +02:00
Bruno Windels
7936863934 remove options on dispose in Member
to ensure callback can't be called anymore, as we don't check
that the member argument is the one currently in GroupCall._members.
2022-10-07 10:07:46 +02:00
Bruno Windels
400df6a4ff ensure removing expired members from call is always logged
also return the log item from logger.log so we can ref it
2022-10-07 10:07:10 +02:00
Bruno Windels
a07be730f9 bring member validity period back to 1h 2022-10-06 16:10:50 +02:00
Bruno Windels
a8ac504efd explain when joinedData is set 2022-10-06 16:10:36 +02:00
Bruno Windels
7ae9c3af0d renew at least 10s before own membership expires 2022-10-06 16:00:38 +02:00
Bruno Windels
c87fd4dfed cleanup 2022-10-06 15:59:45 +02:00
Bruno Windels
2ecfb8f139 unify dispose logic in Member 2022-10-06 15:22:15 +02:00
Bruno Windels
7eb8015ace ensure member.dispose is called when removing member
so expiration timer is always stopped
2022-10-06 15:20:05 +02:00
Bruno Windels
56ecd39f26 don't assume joinedData is set here
although not entirely sure why it wouldn't be
2022-09-30 17:46:57 +02:00
Bruno Windels
1dddabc038 make removing own membership a bit clearer in the logs 2022-09-30 11:21:26 +02:00
Bruno Windels
b694d13348 can be readonly 2022-09-30 11:20:33 +02:00
Bruno Windels
f2564ed5cc also emit updates for expired, connected members that we didn't kick 2022-09-30 11:20:00 +02:00
Bruno Windels
b5f686b10e also allow clean up while still in Joining state, otherwise we get stuck
in joined state but without joinedData
2022-09-30 11:17:54 +02:00
Bruno Windels
282cba0ff1 call points for PeerCall.delay rely on AbortError actually being thrown
+ fix this in one call point where it wasn't the case
2022-09-30 11:17:07 +02:00
Bruno Windels
8f8a964b3b allow to actually process the invite in the new peer call 2022-09-30 11:15:48 +02:00
Bruno Windels
05bb360c00 allow to dequeue signalling messages with repeated seq (from other call)
they will just be ignored by peerCall.getMessageAction() but we don't
want to block dequeuing on these
2022-09-30 11:12:04 +02:00
Bruno Windels
6f0e781b49 WIP 2022-09-26 19:15:13 +02:00
Bruno Windels
bf71a88799
Merge pull request #880 from vector-im/matthew/turn
Implement TURN
2022-09-26 14:19:00 +00:00
Bruno Windels
c660d82d6a make internal method private 2022-09-26 16:00:25 +02:00
Bruno Windels
eccbab1491 cleanup polling and also hangup on all ongoing calls on dispose session 2022-09-26 15:57:20 +02:00
Bruno Windels
24ebf6c559 cleanup 2022-09-26 15:47:48 +02:00
Bruno Windels
ac319bdafd we can assume setConfiguration is available 2022-09-26 15:45:41 +02:00
Bruno Windels
d36b9be24f fix screwing up whitespace 2022-09-26 15:41:30 +02:00
Bruno Windels
05c2da95c4 fix typo 2022-09-26 15:38:04 +02:00
Bruno Windels
e6bf49a6cc remove previous hardcoded turnServers setting 2022-09-26 15:27:41 +02:00
Bruno Windels
f74c4e6425 remove previous approach 2022-09-26 15:26:16 +02:00
Bruno Windels
917ad52302 use observable for turnserver in peercall
and subscribe if changing config is supported
2022-09-26 15:25:53 +02:00
Bruno Windels
3a4c38086c fetch turn server settings when joining a call, and pass down 2022-09-26 15:25:24 +02:00
Bruno Windels
035ead0d5b implement polling of voip turnServer settings from HS in separate class 2022-09-26 15:24:41 +02:00
Matthew Hodgson
6570ec46f4
setTurnServers doesn't need to be async 2022-09-26 09:02:22 +01:00
Matthew Hodgson
3d7852a469 set array of turnservers 2022-09-26 01:07:24 +01:00
Matthew Hodgson
eab87e5157 fix plurals 2022-09-26 00:52:41 +01:00
Matthew Hodgson
af2098327b first cut at implementing TURN 2022-09-26 00:47:12 +01:00
Matthew Hodgson
31e67142bd typo 2022-09-25 22:11:35 +01:00
Matthew Hodgson
8aa62b2573 don't ignore end-of-ICE candidates 2022-09-25 21:39:38 +01:00
Bruno Windels
7ce5cdfc4a prevent concurrent calls of OlmEncryption.encrypt to OOM olm wasm heap
This is being triggered by connecting to many call members at once,
while encrypting the signaling messages. This keeps many olm.Session
objects into memory at the same time, which makes olm run out of
wasm heap memory.
2022-09-22 13:19:56 +02:00
Bruno Windels
bb2e63b05b don't queue messages for different callIds so last seq doesn't corrupt
this includes handling invite glares differently
2022-09-20 17:27:39 +02:00
RMidhunSuresh
1898c4892e
Specify return type 2022-09-12 23:44:51 +05:30
RMidhunSuresh
88091622db
Rename variable 2022-09-12 23:21:55 +05:30
RMidhunSuresh
2d4b6b0341
Exctract into function 2022-09-12 17:22:10 +05:30
R Midhun Suresh
ca4f6d83f9
Merge pull request #850 from vector-im/fix-798
Perform forced logout when access token is invalidated
2022-08-26 16:31:06 +05:30
RMidhunSuresh
216c5da386 Implement forced logout 2022-08-22 21:59:33 +05:30
RMidhunSuresh
d6cea6fc5c Extract method to function outside class 2022-08-19 16:36:21 +05:30
RMidhunSuresh
34dd7e4fa5 Remove code 2022-08-19 16:31:48 +05:30
RMidhunSuresh
bfd54f2764 Delete localstorage on logout 2022-08-09 23:11:02 +05:30
Isaiah Becker-Mayer
b33db1df36 refactors ObservableMap 2022-08-07 21:12:59 -07:00
Kaki In
f812519187
Merge branch 'vector-im:master' into recalculate_dm 2022-07-29 16:29:02 +02:00
Bruno Windels
4838e19c92
Merge pull request #811 from vector-im/bwindels/sharekeyswithinvitees
Key sharing based on room history visibility
2022-07-29 14:23:26 +00:00
Bruno Windels
cb0ac846c7 remove obsolete comment 2022-07-29 16:22:01 +02:00
Kaki In
69871ab985
Merge branch 'vector-im:master' into recalculate_dm 2022-07-29 12:08:33 +02:00
Bruno Windels
2a5e0302dc
Merge pull request #785 from vector-im/hs/log-when-storage-access-fails
Log the error when we can't get storage access
2022-07-29 09:47:58 +00:00
Half-Shot
5b5c852401 Revert "use logging items"
This reverts commit d937b9b14b.
2022-07-29 10:44:37 +01:00
Half-Shot
d937b9b14b use logging items 2022-07-29 10:39:41 +01:00
Bruno Windels
d3e93196e3
Merge pull request #777 from ibeckermayer/ibeckermayer/ts-conversion-loginviewmodel
TS conversion for `LoginViewModel`
2022-07-29 09:27:10 +00:00
Bruno Windels
62b3a67e33 write unit tests for correctly reading history visibility when needed 2022-07-28 17:09:41 +02:00
Kaki In
b73e3e9883 Don't add a memeber to the members list if it left the DM 2022-07-28 13:06:47 +02:00
Bruno Windels
319ec37864 fix typos preventing to load the history visibility 2022-07-28 11:44:50 +02:00
Isaiah Becker-Mayer
7b7b19476c updates some signatures to be more verbose, fixes wrong type for attemptLogin 2022-07-27 22:09:30 -07:00
Isaiah Becker-Mayer
ad0bd82bda creating default exports 2022-07-27 22:09:30 -07:00
Isaiah Becker-Mayer
d7657dcc4d first draft of fully typescriptified LoginViewModel.ts 2022-07-27 22:09:30 -07:00
Bruno Windels
0df66b5aea track room before listing user ids when sharing key 2022-07-27 12:06:55 +02:00
Bruno Windels
f18520a2fe let loadMembers use own txn in case members haven't been fetched yet
if they haven't, it will need a network request, meaning that the txn
will get closed, so we can't reuse it afterwards
2022-07-27 11:39:50 +02:00
Bruno Windels
50b6ee91d7 don't need history visibility here 2022-07-27 11:39:36 +02:00
Bruno Windels
bfaba63f47 fix ts error 2022-07-26 17:55:21 +02:00
Bruno Windels
544afef902 test adding and removing when tracking multiple rooms 2022-07-26 17:41:26 +02:00
Bruno Windels
dd878bb8d6 also take rejecting invites into account to remove user identity 2022-07-26 16:58:07 +02:00
Bruno Windels
dea3852425 add some tests for sharing keys with invitees 2022-07-26 16:57:28 +02:00
Bruno Windels
4c17612b05 allow passing txn to loadMembers so we can do it as part of sync txn
to rewrite useridentities upon receiving new history visibility
2022-07-26 16:53:02 +02:00
Bruno Windels
a23df8a545 pass history visibility to device tracker
and delegate adding and removing members to share keys with to it
2022-07-22 17:49:59 +02:00
Bruno Windels
17f42f523a add write method for when history visibility changes
also returning added and removed user ids
2022-07-22 17:49:26 +02:00
Bruno Windels
f6011f3f34 take history visibility into account in device tracker
and return added and removed userids to their userIdentity for the given
room, so room encryption can share and discard the keys for them
2022-07-22 17:48:26 +02:00
Bruno Windels
86c0e9e669 logic for whether a key should be shared by membership and h. visibility 2022-07-22 17:46:53 +02:00
Bruno Windels
f337940202 this migration shouldn't be needed anymore
and undoes the export of addRoomToIdentity, which is somewhat internal
2022-07-22 17:46:29 +02:00
Bruno Windels
22831e710c support async callback in iterateResponseStateEvents 2022-07-22 14:15:26 +02:00
Bruno Windels
c8a8eb10b5 get user ids for sharing a new key when the message is sent
rather than when the key happens to get sent
2022-07-20 15:21:33 +02:00
Bruno Windels
d79e5f7806 create key share operations for invitees when history visibility=invited 2022-07-20 15:20:23 +02:00
Bruno Windels
3346f68d25 WIP 2022-07-12 11:59:52 +02:00
Bruno Windels
e9649ec7c2 different streams never have the same id, even for same devices 2022-07-07 15:47:09 +02:00
Bruno Windels
2f08cd8984 clone localMedia in Member when connection, like we do for setMedia 2022-07-07 15:36:49 +02:00
Bruno Windels
f187a51c97 stop replaced track in PeerCall 2022-07-07 15:36:30 +02:00
RMidhunSuresh
cd9e00b847 Support power_level_content_override 2022-07-07 17:17:05 +05:30
Will Hunt
a85d2c96d6
Log the error when we can't get storage access
This is quite useful when debugging why a session isn't working properly.
2022-07-06 10:06:00 +01:00
Bruno Windels
206ac6e2dd WIP: prevent stream id from changing when upgrading call 2022-07-05 18:22:36 +02:00
Bruno Windels
6aab049052 Merge branch 'master' into bwindels/calls 2022-07-04 16:59:17 +02:00
Bruno Windels
84bac0afe9 Also allow undefined, which means at the end of the paginated direction
we already detect the end by chunk.length===0, so we just need to not throw
2022-06-25 19:37:36 +02:00
Bruno Windels
8a90c48d1e debugging unmuting not working 2022-06-25 05:56:43 +02:00
Bruno Windels
375d8b066c complete settings view model for logs ui 2022-06-15 11:13:46 +02:00
Bruno Windels
a644621889 basic support for sending rageshake in view model 2022-06-14 18:46:02 +02:00
Bruno Windels
41288683fc allow unmuting when we don't yet have a mic/cam track 2022-06-10 17:10:23 +02:00
Bruno Windels
bfdea03bbd start with seq 1, like Element Call does 2022-06-03 15:50:02 +02:00
Bruno Windels
ed5fdb8154 don't withhold member event for call just because we don't have profile 2022-06-03 12:43:51 +02:00
Bruno Windels
c8b5c6dd41 expose own user on BaseRoom
so we don't have to pass session around everywhere we need this
2022-06-02 17:30:17 +02:00
Bruno Windels
8ba1d085f6 fix refactor mistake in logging 2022-06-02 15:58:50 +02:00
Bruno Windels
90b6a5ccb6 update call member info with room member info 2022-06-02 15:56:23 +02:00
Bruno Windels
a52740ed1b give room state handler access to member sync to get sender profile info 2022-06-02 15:55:08 +02:00