2035 Commits

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