Commit Graph

5601 Commits

Author SHA1 Message Date
Robin
5e147c6941 Test the CallViewModel output switcher directly 2025-06-25 16:53:16 -04:00
Robin
9d216ae6fa Request capability to learn the room name
We now need the room name in order to implement the mobile (widget-based) designs with the app bar.
2025-06-25 16:25:51 -04:00
Robin
09c81e52f7 Merge branch 'livekit' into robin/earpiece-overlay 2025-06-25 15:54:04 -04:00
Robin
db948cb718 Merge pull request #3364 from element-hq/renovate/livekit-components
Update LiveKit components
2025-06-25 15:49:25 -04:00
renovate[bot]
93cb7955c9 Update LiveKit components 2025-06-25 18:41:41 +00:00
Robin
8f841dfb59 Merge pull request #3363 from element-hq/toger5/fix-initial-device-selection-in-controlled-devices-mode
Fix initial selection when using controlled media
2025-06-25 13:47:42 -04:00
Robin
f4d590c703 Use consistent name for preferred device IDs 2025-06-25 13:42:31 -04:00
Robin
f3419f94c3 Fix empty string IDs not counting as devices 2025-06-25 13:40:39 -04:00
Timo
a53585c96d Fix white borders in PiP mode android (Fix scroll issues in small documents) (#3362)
* Fix scroll issues in small documents (PiP mode android)
This scroll issue resulted in white borders on android PiP mode.
2025-06-25 19:38:51 +02:00
Robin
3b1ce22b71 Fold map operation into combineLatest 2025-06-25 13:38:47 -04:00
Valere Fedronic
9787ac3abc bugfix: #3344 Reconnecting to the same SFU on membership change (#3361)
* bugfix: #3344 Reconnecting to the same SFU on membership change

* fixup! commit error

* Keep useActiveLivekitFocus from changing focus spuriously

* Remove redundant fix for spurious focus changes

We've now fixed it at the source by prohibiting state changes in useActiveLivekitFocus itself.

---------

Co-authored-by: Robin <robin@robin.town>
2025-06-25 19:35:50 +02:00
Timo
2207e6ac21 fix logic for earpiece quick switcher to be based on switching target
(also show quick switcher if headphones are connected)
2025-06-25 17:43:59 +02:00
Timo
a98ced3e5b fix back to video button 2025-06-25 16:23:19 +02:00
Timo
b01a1292c1 add snapshot test 2025-06-25 16:20:04 +02:00
Timo
a8e67b76f2 prioritize header > hideHeader 2025-06-25 15:36:37 +02:00
Timo
ce15188d48 remove dead code 2025-06-25 15:22:45 +02:00
Timo
58c5021cc1 fix tests 2025-06-25 15:16:07 +02:00
Timo
4a39627878 fix lints 2025-06-25 15:13:09 +02:00
Timo
0e5aea4182 Add "Back to video" button 2025-06-25 13:02:39 +02:00
Timo
da847d52d7 fix initial selection when using controlled media 2025-06-25 12:17:35 +02:00
Timo
131bdc3522 fix initial selection when using controlled media 2025-06-25 12:14:05 +02:00
Timo
df3f962f47 Style header icon color as desired and switch earpice/speaker icon 2025-06-25 11:12:25 +02:00
Timo
e5affa8942 Modernize AppBarContext 2025-06-25 09:46:57 +02:00
Timo
eb294b111d revert android overlay app_bar 2025-06-25 09:37:38 +02:00
Timo
12d1f4c03a hide app bar in pip 2025-06-24 18:03:52 +02:00
Timo
d5ba11956c fix styling
- make video render below the header on Android.
2025-06-24 16:38:55 +02:00
Robin
daa931c3c4 Merge pull request #3358 from element-hq/robin/remove-forward-ref
Remove usages of forwardRef
2025-06-24 08:32:03 -04:00
Robin
0f8c4675cf Make condition simpler 2025-06-24 08:28:15 -04:00
Timo
337d09cd4d Use the platform property for ios detection (#3360) 2025-06-24 14:25:05 +02:00
Timo
40fbf19cbf fix top clipping with header 2025-06-24 14:24:02 +02:00
Timo
54a4706bcf Fix header
The header needs to be passed forward as a string to some components and as a bool (hideHeader) to others.
Also use a enum instead of string options.
2025-06-24 14:02:46 +02:00
Robin
e112b527a8 WIP: Add app bar and earpiece toggle button 2025-06-24 11:32:28 +02:00
Robin
6383c94f2f Add an earpiece overlay 2025-06-24 11:30:00 +02:00
Robin
49c9f5e769 Add a global control for toggling earpiece mode
This will be used by Element X to show an earpiece toggle button in the header.
2025-06-24 11:30:00 +02:00
Robin
c084b7518b Tidy up controls.ts 2025-06-24 11:28:55 +02:00
Timo
6b6b679774 Make camera unavailable if using earpice mode (#3351) 2025-06-24 08:59:16 +00:00
Robin
3ffb118dc7 Modernize how we use React contexts (#3359)
* Replace useContext with use

The docs recommend the use hook because it is simpler and allows itself to be called conditionally.

* Simplify our context providers

React 19 lets you omit the '.Provider' bit.
2025-06-24 10:48:35 +02:00
Timo
a507bcde90 Add onBackButtonPressed controls api (#3357)
* Add `onBackButtonPressed` controls api

* Update docs/controls.md

Co-authored-by: Robin <robin@robin.town>

---------

Co-authored-by: Robin <robin@robin.town>
2025-06-24 08:46:04 +00:00
Robin
0c27610119 Remove usages of forwardRef
It has been deprecated in React 19, which allows functional components to receive refs just like any other prop.
2025-06-23 23:06:33 -04:00
Robin
f86c9fe0a0 Merge pull request #3355 from element-hq/renovate/major-compound
Update dependency @vector-im/compound-web to v8
2025-06-23 22:10:07 -04:00
renovate[bot]
3ae535bf31 Update dependency @vector-im/compound-web to v8 2025-06-23 00:39:22 +00:00
Robin
5e2e94d794 Refactor media devices to live outside React as Observables (#3334)
* Refactor media devices to live outside React as Observables

This moves the media devices state out of React to further our transition to a MVVM architecture in which we can more easily model and store complex application state. I have created an AppViewModel to act as the overarching state holder for any future non-React state we end up creating, and the MediaDevices reside within this. We should move more application logic (including the CallViewModel itself) there in the future.

* Address review feedback

* Fixes from ios debugging session: (#3342)

- dont use preferred vs selected concept in controlled media. Its not needed since we dont use the id for actual browser media devices (the id's are not even actual browser media devices)
  - add more logging
  - add more conditions to not accidently set a deviceId that is not a browser deviceId but one provided via controlled.

---------

Co-authored-by: Timo <16718859+toger5@users.noreply.github.com>
2025-06-20 18:37:25 +02:00
renovate[bot]
5bf7361d01 Update dependency livekit-client to v2.13.8 (#3352)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 10:01:31 +02:00
renovate[bot]
0fe8d16740 Update dependency @livekit/components-react to v2.9.10 (#3349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 16:42:15 +02:00
renovate[bot]
f1a2002072 Update dependency livekit-client to v2.13.7 (#3350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 16:40:28 +02:00
renovate[bot]
1af1a8ed0b Update dependency livekit-client to v2.13.6 (#3348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 13:19:31 +02:00
renovate[bot]
0970db8297 Update dependency livekit-client to v2.13.5 (#3343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:59:35 +02:00
Robin
7f4a5a8bab Merge pull request #3338 from element-hq/renovate/compound
Update dependency @vector-im/compound-design-tokens to v4.0.4
2025-06-16 08:50:53 -04:00
renovate[bot]
442fc1fc16 Update dependency @vector-im/compound-design-tokens to v4.0.4 2025-06-16 01:46:00 +00:00
fkwp
32b6250cc3 fix: Force the docker image for lk-jwt-service to be pulled everytime (#3325)
lk-jwt-service latest-ci to be force pulled every time
2025-06-12 16:42:06 +02:00