100 Commits
Author SHA1 Message Date
David Baker 70c042aeee Merge remote-tracking branch 'origin/livekit' into dbkr/ppe2ee 2023-10-27 20:48:51 +01:00
David Baker bc0d679d50 Add sentry message if we hit the extra mic check
If we hit the condition detecting that we're trying to add an extra
mic input, send a sentry message so we know if this is happening in
the wild.
2023-10-27 16:18:00 +01:00
David Baker 0fcf6debb6 Migrate to @sentry/browser 2023-10-27 16:07:16 +01:00
David Baker 2d5b4dbc57 Merge remote-tracking branch 'origin/livekit' into dbkr/ppe2ee 2023-10-26 10:29:12 +01:00
David Baker 8a18dadc02 Don't log keys
Although I'm not sure this actually did anyway, but it was very spammy
2023-10-25 15:30:58 +01:00
David Baker 99d5103dfa Stop logging encryption keys 2023-10-23 12:31:37 +01:00
David Baker 74f1aa0cba Add the file 2023-10-23 12:17:28 +01:00
David Baker f04beab99f Make e2ee type clearer hopefully 2023-10-23 12:10:25 +01:00
David Baker 9126fb3f3e Fix key format on the wire to be base64 2023-10-20 17:31:15 +01:00
David Baker 5ab706e26b Merge remote-tracking branch 'origin/livekit' into dbkr/ppe2ee 2023-10-20 17:22:53 +01:00
David Baker 7b538363be Don't require shared key in ppe2ee mode 2023-10-19 17:43:31 +01:00
David Baker 22ef625b55 Disable ratcheting
The auto ratcheting sets the keys and so looks like it can clobber
us setting a key from the app if they race, so just disable it, at
least for now - we aren't using it.
2023-10-19 16:50:29 +01:00
David Baker 550315e8d7 Update js-sdk branch 2023-10-19 14:40:59 +01:00
David Baker ba999e7bc3 Update event name 2023-10-18 15:27:44 +01:00
David Baker 5ce5795bde Merge remote-tracking branch 'origin/livekit' into dbkr/ppe2ee 2023-10-18 15:22:58 +01:00
David Baker 635badbda1 Bump to latest js-sdk PR commit 2023-10-18 15:19:25 +01:00
David Baker d6d9acd492 Update js-sdk to fix sending call member events on leave 2023-10-17 15:39:59 +01:00
David Baker 97aba9c315 Update js-sdk branch 2023-10-16 18:21:08 +01:00
David Baker 74e4c2fd08 Remove testing hack 2023-10-16 17:58:21 +01:00
David Baker 15d3e7574d Re-apply Simon's emebdded e2ee work on latest livekit branch
Replaces https://github.com/vector-im/element-call/pull/1350
2023-10-16 17:45:06 +01:00
David Baker ea1c2e9ec3 Merge remote-tracking branch 'origin/livekit' into dbkr/remove_e2ee_setting 2023-10-13 15:26:30 +01:00
David Baker 2faf9527a0 Fix using a non-default audio device
We were passing the output option when we wanted the input, so the
mic track pre-creation would just always use the system default.
2023-10-13 13:34:25 +01:00
David Baker aac92c18b3 Re-enable screen sharing on Safari
Appears to work fine now, and no reason to think it shouldn't on
Livekit.
2023-10-13 11:02:20 +01:00
David Baker 5ef208e789 Remove E2EE setting
Since e2ee is enabled by default now
2023-10-13 10:30:06 +01:00
David Baker 515a73ce30 i18n 2023-10-13 10:06:36 +01:00
David Baker 32657084aa Remove E2EEBanner
We have e2ee now
2023-10-13 10:04:54 +01:00
David Baker d579acd21f Even prettier 2023-10-11 16:29:08 +01:00
David Baker 11664a5bf6 Prettier 2023-10-11 16:27:17 +01:00
David Baker d058f08c47 Prettier 2023-10-11 16:25:47 +01:00
David Baker 4c742d0ac4 Merge remote-tracking branch 'origin/livekit' into dbkr/write_key_with_right_roomid 2023-10-11 16:14:24 +01:00
David Baker a9c74172a5 Add logging & guards for mic pre-creation & focus
Logs & guard for pre-recating the mic track as well as logging what
we select as the active focus (JWT URL + livekit alias).
2023-10-11 16:07:46 +01:00
David Baker 59cd0c87cd Merge remote-tracking branch 'origin/livekit' into dbkr/write_key_with_right_roomid 2023-10-11 12:53:54 +01:00
David Baker 6039253a32 Reafctor a bit 2023-10-11 12:53:33 +01:00
David Baker fbb2dc2afd Update to merged js-sdk commit 2023-10-10 17:17:16 +01:00
David Baker 07cde7ee4d Don't use event.sender
Pull in a js-sdk change to avoid using event.sender (see js-sdk PR
for details).

Fixes https://github.com/vector-im/element-call/issues/1697
2023-10-09 20:49:03 +01:00
David Baker d7b33ee959 Always store room passwords with the right room ID
Take the room ID from the URL rather than just assuming it's still
the one that was in URL params before: if only the hash changes,
the app won't reload.

Fixes https://github.com/vector-im/element-call/issues/1708
2023-10-09 17:43:50 +01:00
David Baker df93fb4a3f Add comment 2023-10-09 16:35:27 +01:00
David Baker 6faceb07cd Log if password needed url encoding 2023-10-09 16:28:48 +01:00
David Baker 0892edc432 Use base64url encoding for the password param
As base64 is fairly obviously not sensible for URLs and we were not
URL encoding it so we were ending up with spaces in the URL.

Also base 64 encode the password in case, as per comment.
2023-10-09 10:08:10 +01:00
David Baker e9798441f7 Merge remote-tracking branch 'origin/livekit' into dbkr/use_secure_random 2023-10-06 16:18:53 +01:00
David Baker f2435f1c31 More consistent variable naming 2023-10-06 16:15:16 +01:00
David Baker 715c5c73ca Merge remote-tracking branch 'origin/livekit' into dbkr/refactor_room_create 2023-10-06 15:15:30 +01:00
David Baker 87d5062d34 Don't use js-sdk's base64 encode function
It uses the NodeJS Buffer global which presumably is provided by
Webpack in element-web but isn't here, apparently.
2023-10-05 17:57:23 +01:00
David Baker d373081db1 Generate call passwords with secure RNG 2023-10-05 17:32:43 +01:00
David Baker 6481b2f67e Merge branch 'dbkr/keep_password_in_url' into dbkr/refactor_room_create 2023-10-05 17:27:03 +01:00
David Baker b646b0ae56 Remove extra function
that was now doing exactly the same thing as the one above it.
2023-10-05 17:25:06 +01:00
David Baker e63721acea Refactor room creation code a little
We c+ped the code to create room passwords between two places, but we
already had a createRoom utility function that knew about e2ee.
2023-10-05 16:44:31 +01:00
David Baker 4984bd630e Keep the password in the URL
We changed our minds: people do copy the URL from the bar and
give that to people and expect it to work: it doesn't make sense
to prioritise shorter URLs over this. There's no security advantage
unless we think there's a risk someone might steal your key by taking
a photo of your monitor over your shoulder and decrypting the calls
they can't already hear by standing behind you.
2023-10-05 16:13:56 +01:00
David Baker c37b2924af Comment 2023-10-03 18:27:10 +01:00
David Baker e0cabbc514 Switch capture devices if the default device changes
This is a bit of a hack, but is the only way I can see that we can
update to using the new default device when the OS-level default
changes. Hopefully the comments explain everything.
2023-10-03 18:22:56 +01:00
David Baker 3016866a4b Make the right function a real function, then the 'this' param works 2023-09-26 18:30:39 +01:00
David Baker 4613d43c3c Re-enable livekit rageshake logging & with depth limit
Puts livekit logs back in the rageshake logs and adds a recursion
limit to the object serialiser in rageshake.
2023-09-26 12:08:08 +01:00
David Baker c546042d18 Use the loglevel library's extensions
...instead of monkey patching the console log objects. We use a logging
framework everywhere now (this fixes the times when we didn't...)
so there's not really a reason to do this the hacky way anymore.

This means that log lines now appear to come from whatever else is
intercepting the logger (eg. sentry) rather than rageshake.ts.

Opinions on this welcome on whether it's better or not.
2023-09-25 18:04:34 +01:00
David Baker 0297008339 Don' always try to join rooms
Look up the alias manually instead. As hopefully explained by the comment.

We hope this may fix a bug where the room ID appeared instead of the room name.
2023-09-22 18:56:34 +01:00
David Baker f05cae71a8 Use consistent import 2023-09-22 18:05:51 +01:00
David Baker f35dd28bd3 Bump js-sdk
For https://github.com/matrix-org/matrix-js-sdk/pull/3745
2023-09-22 17:40:00 +01:00
David Baker 3cd0ca205b Refactor useIsRoomE2EE
Make it take a room object rather than a room ID to avoid it depending
on a side effect, ie. if the room object input changes, the hook will be
re-run but if we can't get the room from the room ID for whatever reason,
we'd be stuck.

Also add logging on why we decided a room was e2ee.
2023-09-22 15:35:03 +01:00
David Baker 9bf0dc7dee Unused import 2023-09-21 16:58:02 +01:00
David Baker 9c878eab80 Capture livekit's logs in rageshakes 2023-09-21 16:50:31 +01:00
David Baker cbf27fc887 Also use return value password in the other hook 2023-09-20 17:40:37 +01:00
David Baker ed0059c898 Hopefully actually fix password bug 2023-09-20 17:05:10 +01:00
David Baker 4f43402299 Log an error if we don't have the key when generating a url for en e2ee room 2023-09-20 16:29:46 +01:00
David Baker 96c6217a83 Fix race where app would be opened with no e2ee key
The key hadn't been extractwed from the URL at the point the modal
was mounted, so it just didn't get the key.
2023-09-20 16:25:02 +01:00
David Baker 5b5e62c851 i18n 2023-09-20 13:14:01 +01:00
David Baker a115f0530f Better error for browsers that don't support e2ee 2023-09-20 13:05:11 +01:00
David Baker d4b67015b8 Fix layout toggle on safari 2023-09-20 10:22:48 +01:00
David Baker 01ec38493a Be consistent with imports 2023-09-19 22:04:37 +01:00
David Baker fe9ea31149 Fix a type
This was cast because of a minor optional mismatch
2023-09-19 19:23:19 +01:00
David Baker 1ebf1bd4e6 Merge remote-tracking branch 'origin/livekit' into dbkr/include_room_name 2023-09-19 18:56:04 +01:00
David Baker 83fdb094d5 Factor out common function to generate the URLs 2023-09-19 18:55:33 +01:00
David Baker aab27ae616 Wrong mouse event 2023-09-19 18:36:51 +01:00
David Baker f33170f5f4 Don't reload the page 2023-09-19 18:29:09 +01:00
David Baker a268a804bb Use compound components 2023-09-19 18:27:53 +01:00
David Baker e604c7bcae i18n 2023-09-19 18:26:23 +01:00
David Baker 2753f04f0b Include the room name in the generated URL 2023-09-19 18:23:44 +01:00
David Baker 728e37b23c i18n 2023-09-19 18:02:57 +01:00
David Baker 79d46621fa Well, half of the line changes were correct. 2023-09-19 18:00:09 +01:00
David Baker 24ffb6547c Don't auto create calls from visiting the URL
This didn't work with e2e calls and just ended up with everyone who
went to the URL creating their own room because it didn't add the
alias to any of them.

This has it show a very simple 404-esque screen instead. If the call
already exists, it will show it as before, so existing URLs will
continue to work.
2023-09-19 17:57:16 +01:00
David Baker 6581d64618 Use the room ID as the react key
room alias doesn't work now some rooms don't have aliases.
2023-09-19 17:42:17 +01:00
David Baker f97878bf21 Add nightly & main app to assetlinks 2023-09-19 09:53:08 +01:00
David Baker 4a5a7126f4 Lint the test files 2023-09-18 17:58:49 +01:00
David Baker 6561c0a898 Merge remote-tracking branch 'origin/livekit' into dbkr/refactor_urlparams 2023-09-18 17:54:49 +01:00
David Baker 4f48751aa2 Small refactor of URLParams stuff
Splits out the room locartion parsing from everything else to avoid
one function that fills out different parts of its return struct
depending on its args.
2023-09-18 17:49:10 +01:00
David Baker a02261561c Add comment 2023-09-13 15:03:54 +01:00
David Baker c5118f38c5 Merge remote-tracking branch 'origin/livekit' into dbkr/smooth_focus_switch 2023-09-12 16:35:51 +01:00
David Baker a4d20f85a0 Use js-sdk from latest develop 2023-09-12 16:25:59 +01:00
David Baker 1fb210c5cc Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession 2023-09-12 11:30:46 +01:00
David Baker 378ce403f5 Update livekit components 2023-09-12 10:34:13 +01:00
David Baker 9d9765f668 Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession 2023-09-11 09:58:03 +01:00
David Baker 2c1692bd4f Always publish microphone track when joining 2023-09-08 17:22:02 +01:00
David Baker 7b14d9dacb Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession 2023-09-07 14:09:52 +01:00
David Baker da5bef1206 Wrong finger or something 2023-09-06 16:23:49 +01:00
David Baker b0e7b949da Assetlinks for android too 2023-09-06 16:03:54 +01:00
David Baker 1757bc546d Rename to not have file extension
As this is what apple need. Also make the docker container serve
it with the right content type.
2023-09-06 13:59:37 +01:00
David Baker 00f14c9814 Fix the mute icon being incorrect when using PTT
We were manipulating the participant's mute state directly for some
reason, just for setting the mute state directly, which bypased the
mutestates hook.
2023-09-06 11:45:01 +01:00
David Baker 5d969563f7 Prettier 2023-09-06 10:35:41 +01:00
David Baker ef037c5c1d Add apple site association 2023-09-06 10:22:02 +01:00
David Baker 8f570b7893 Include the colon in the user ID in the numebr of parts we check for 2023-09-06 09:12:04 +01:00
David Baker 83fd9a49ab Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession 2023-09-06 09:01:58 +01:00
David Baker 3e72604391 Remove unintentional change 2023-09-05 17:38:43 +01:00