Commit Graph

181 Commits

Author SHA1 Message Date
Timo
b8951944ab start with a couple of more logs 2025-05-27 17:38:45 +02:00
Timo
5374342d98 Disable device switching when in controlled audio devices mode (#3290)
* Disable device switching when in controlled audio devices mode

* Temporarily switch matrix-js-sdk to robin/embedded-no-update-state

To allow us to test this change on Element X, which does not yet support the update_state action.

* Also add a check for controlled audio devices in useAudioContext

* use develop branch

* fix tests

---------

Co-authored-by: Robin <robin@robin.town>
2025-05-23 15:54:47 +00:00
Timo
f0403c80bc also add non deprecated audio url parameter 2025-05-22 19:18:04 +02:00
Timo
9f84a5cae0 Deprecate old naming and introduce new words 2025-05-22 18:58:18 +02:00
Timo
a056a28423 review 2025-05-21 12:53:17 +02:00
Timo
435a7d0adb earpice -> earpiece 2025-05-20 16:37:14 +02:00
Timo
a1759a46de rename everything to controlledMediaDevices to make it consistent with the actual name in the url parameters (controlledOutput is now only used for the hook that provides the output handle) 2025-05-20 15:30:02 +02:00
Timo
0412629871 fix start with for output devices. 2025-05-20 10:14:08 +02:00
Timo
ed234a1ad1 change label on button 2025-05-19 19:44:19 +02:00
Timo
6d0697cf2f inform ios about earpice mode 2025-05-19 18:44:48 +02:00
Timo
5d6ec19ca0 Allow some controls to be set before the call view is loaded. 2025-05-19 14:14:08 +02:00
Timo
7f4b0a33f6 isBluetooth -> isExternalHeadset 2025-05-16 17:06:54 +02:00
Timo
35963bbc9e Add flags to optimize EC device handling 2025-05-16 15:50:19 +02:00
Timo
acaf69ca1b add change audio button with callback on ios 2025-05-16 12:28:49 +02:00
Timo
7227c7b368 Merge branch 'livekit' into robin/audio-output-controls 2025-05-16 11:36:33 +02:00
Timo
2012b09845 review cleanup 2025-05-16 11:32:32 +02:00
Timo
b5fe55aef2 Add custom audio renderer for iPhone earpiece and only render joined participants (#3249)
* Add custom audio renderer to only render joined participants & add ios earpice workaround

fix left right to match chromium + safari
(firefox is swapped)

earpice as setting

Simpler code and documentation
The doc explains, what this class actually does and why it is so complicated.

Signed-off-by: Timo K <toger5@hotmail.de>

use only one audioContext, remove (non working) standby fallback

* Add tests

* use optional audio context and effect to initiate it + review
2025-05-15 20:46:39 +02:00
Timo
610e792394 rename setOutputDevices-> setAvailableOutputDevices 2025-05-15 17:20:12 +02:00
Timo
7fa534d70d refactor
- `MediaDevice`->`MediaDeviceHandle`
 - use just one provider and switch inside the
 MediaDevicesProvider between: controlledAudioOutput, webViewAudioOutput
 - fix muteAllAudio
2025-05-15 15:34:35 +02:00
Timo
c8091ac111 Quickfix for testing 2025-05-15 11:37:01 +02:00
Timo
f69c75322f add earpice mode 2025-05-14 19:55:08 +02:00
Timo
f9b04ae38e temp 2025-05-14 19:07:36 +02:00
Robin
53adfa4497 WIP 2025-05-14 19:07:36 +02:00
Valere Fedronic
86d80630c1 Fix connection leaks: Ensure that any pending connection open are cancelled/undo when ActiveCall is unmounted (#3255)
* Better logs for connection/component lifecycle

* fix: `AudioCaptureOptions` was causing un-necessary effect render

AudioCaptureOptions was a different object but with same internal values, use directly deviceId so that Object.is works properly

* fix: Livekit openned connection leaks

* review: rename to AbortHandles

* review: rename variable

---------

Co-authored-by: Timo <toger5@hotmail.de>
2025-05-14 18:41:22 +02:00
Timo
18a59dd7db use optional audio context and effect to initiate it + review 2025-05-14 17:23:42 +02:00
Timo
6b8c620bbb Add tests 2025-05-14 10:59:23 +02:00
Timo
56328108ca Add custom audio renderer to only render joined participants & add ios earpice workaround
fix left right to match chromium + safari
(firefox is swapped)

earpice as setting

Simpler code and documentation
The doc explains, what this class actually does and why it is so complicated.

Signed-off-by: Timo K <toger5@hotmail.de>

use only one audioContext, remove (non working) standby fallback
2025-05-14 10:41:03 +02:00
Timo
e6710f72e3 Fix to-device encryption info label (#3208)
* Fix to-device encryption info label
The label was shown also without checking that we use PerParticipantE2EE. Which is a prerequisite for toDevice transport. As a result the label was shown when not desired.

* rename: useLiveKit -> useLivekit

* make the settings naming consistent
2025-05-13 22:05:55 +02:00
Robin
cd9035b5fc Make background blurring actually react to track restarts 2025-04-28 16:00:03 +02:00
Robin
02ce1f701a Document the background transformer a bit better 2025-04-28 15:59:32 +02:00
Robin
e88e0b1901 Import the segmenter model in a more statically-analyzable way 2025-04-28 15:58:50 +02:00
Robin
3fc4cc908e Cleanup + use a better check for blurring support 2025-04-22 19:20:43 +02:00
Robin
63ad4a3ad3 Get blurring working again 2025-04-22 18:32:01 +02:00
Robin
3243afd061 Merge branch 'livekit' into toger5/track-processor-blur 2025-04-18 12:32:03 +02:00
Timo
3c0d81844f Add option to enable to-device-encryption (#3167)
* enable to-device-encryption

* add logging for key provider

* make rooms encrypted

* add dev setting to choose to-device or room encryption

* add indicator when to-device is used.
2025-04-11 10:07:50 +02:00
Timo
75933a508c Merge branch 'livekit' into toger5/track-processor-blur 2025-04-05 00:00:00 +02:00
Robin
33700d1529 Merge branch 'livekit' into toger5/src-to-lib-import 2025-03-27 14:35:08 -04:00
Robin
cd5ecb2352 Rename error boundary hook
It doesn't check whether it's actually used inside a GroupCallErrorBoundary, and it's generally useful for interacting with any error boundary, so I'm giving it a generic name to reflect this.
2025-03-21 15:17:41 -04:00
Valere
fd20ac4022 Merge branch 'livekit' into valere/async_error_show_boundary 2025-03-19 09:30:16 +01:00
Robin
45c3c7a37e Show "insufficient capacity" when hitting participant limits 2025-03-18 13:33:36 -04:00
Timo
adb5934f0b temp 2025-03-13 17:51:41 -04:00
Valere
188fe75534 Merge branch 'livekit' into valere/async_error_show_boundary 2025-03-13 11:20:32 +01:00
Valere
b02ad8871e review: Make widget prop mandatory 2025-03-12 10:27:45 +01:00
Valere
612ace137a code review: recoveryActionHandler should not be optional 2025-03-12 09:44:41 +01:00
Valere
4c27551014 refactor: Centralize group call errors in custom GroupCallErrorBoundary 2025-03-11 16:54:19 +01:00
Valere
04a46ebabe error management: Handle fail to get JWT token 2025-03-11 09:07:19 +01:00
Valere
28c7c9dd38 refactor: Centralize group call errors in custom GroupCallErrorBoundary 2025-03-05 20:50:19 +01:00
Valere
4c91326edb fix, testing: i18n not properly configured 2025-03-03 14:41:31 +01:00
Robin
31577d7263 Show an error screen when the SFU is at capacity (#3022)
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: fkwp <fkwp@users.noreply.github.com>
2025-02-26 12:00:56 +00:00
Hugh Nimmo-Smith
0f5dc33918 Fix copyright header to say dual license not just AGPL (#3013)
This probably should have been part of https://github.com/element-hq/element-call/pull/2984
2025-02-18 17:59:58 +00:00