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
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