Commit Graph
67 Commits
Author SHA1 Message Date
Timo K. 365204d04c fix media queries in component based element call. 2026-09-07 14:50:36 +02:00
Valere 6e44332fd1 Stop reading URL parameters from inside the call path
The view models reached for getUrlParams() — and so window.location —
from deep inside the call path: CallViewModel, MediaDevices, Publisher,
LocalMember and the footer view model. An embedded Element Call has no URL
of its own, so these values have to arrive as arguments instead.

Add the relevant options to CallViewModelOptions, to the MediaDevices and
Publisher constructors, to createLocalMembership$ and enterRTCSession, and
to createCallFooterViewModel. The remaining React consumers read the
context added in the previous commit. AppViewModel now takes its audio
output options too, moving that URL read out to main.tsx, where the app
shell can act as the adapter.

The new CallViewModelOptions fields are optional, defaulting to what the
URL parameters resolve to outside widget mode; the MediaDevices and
Publisher arguments are required, so that every construction site has to
be explicit.

useTheme.test.ts mocked the UrlParams module with a factory, so it needed
updating to mock the hook rather than getUrlParams.

No functional change.
2026-09-02 10:31:48 +02:00
Robin 1c03ad335c Hide reactions interface in PiP mode 2026-08-19 17:44:45 +02:00
Robin b554fa63d1 Performance: Isolate tile store debug info in its own component
It's very uncommon to have this debug option enabled, and yet it currently causes the footer to re-render on every layout update, which is a small but avoidable cost.
2026-08-17 16:45:26 +02:00
Robin a443a55bec Factor out a layout switch view + view model
So it can easily be shown and hidden wholesale.
2026-07-28 15:06:15 +02:00
Robin bff41ad66a Update spotlight icon 2026-07-13 12:22:44 +02:00
Robin 32e30dd4f5 Merge branch 'livekit' into mobile-gradient 2026-07-09 12:56:28 +02:00
Robin 11fadebb87 Fix test failures due to scoped class names 2026-07-08 17:06:25 +02:00
Robin 943ce5b853 Update test snapshots to use scoped class names 2026-07-08 17:06:09 +02:00
Robin 900d0abd27 Let page background shine through the footer
By visually separating it from other page content with an additional gradient background only when necessary.
2026-06-30 16:29:20 +02:00
Robin e11c04ac87 Move ringing status indicator to header on mobile
On mobile, the ringing status indicator is supposed to display in the header rather than on a tile. The exact layout differs between Android and iOS. To get it right I had to refactor AppBar to use CSS grid templates.

(Also, I changed my mind about the exact ringing data I needed out of CallViewModel - sorry. A little move of the ringtone audio renderer into its own component was necessary to accommodate that.)
2026-06-18 17:41:35 +02:00
Valere 62a3ec8319 review: cleanup removed redundant default properties 2026-06-05 12:50:25 +02:00
Valere acc5a440c7 review: remove unneeded early return 2026-06-05 12:35:21 +02:00
Valere b5b238ffd3 storybook: Add storybook for audio/video busy 2026-06-04 19:13:27 +02:00
Valere 4606373e5b feat(mute): add syncing state and disable toggle during async mute 2026-06-04 18:55:31 +02:00
Robin cec78a383d Fix footer stories 2026-06-02 11:14:53 +02:00
Robin 5fed562db2 Request full device names when device switchers are open 2026-06-02 10:36:57 +02:00
Robin 164765cd27 Show the right fallback labels in device switcher menus 2026-06-02 10:15:40 +02:00
Timo K dc52573ce2 fix backgroundBlurToggleClick -> videoBlurToggleClick 2026-05-20 17:03:45 +02:00
Timo K ec3b52f963 del: windowMode$ from public callViewModel
replace with edgeToEdge$
2026-05-20 15:00:28 +02:00
Timo K c9fa586db1 merge fixups 2026-05-20 14:25:40 +02:00
Timo K a494b64055 Update MediaMuteAndSwitchButton.test.tsx 2026-05-18 21:00:55 +02:00
Timo K e19d5865b0 cleanup 2026-05-18 20:08:39 +02:00
Timo K bc81da43c2 use previous device selection logic 2026-05-18 19:39:29 +02:00
Timo K 68a487c9de translation fixes 2026-05-18 19:17:43 +02:00
Timo K d5bebcc3a5 refactor video blur toggle 2026-05-18 18:11:32 +02:00
Timo K e22ab9355c Review (everything except translation feedback) 2026-05-18 14:31:03 +02:00
Timo K 88f660e43f review 2026-05-15 18:37:25 +02:00
Timo K e10bc6c7cf fix unit tests 2026-05-13 13:35:12 +02:00
Timo K 0082ade234 reuse exisng mute buttons (fixes most playwright issues) 2026-05-13 13:16:24 +02:00
Timo K 07e7090cc7 fix unit tests 2026-05-12 16:50:45 +02:00
Timo K 7ad8f9f182 Fix tests (accessibility issues with new buttons) 2026-05-12 16:48:08 +02:00
Timo K 7842f5a8d0 test coverage? 2026-05-12 14:11:48 +02:00
Timo K f3ef7c074b lint 2026-05-12 12:52:23 +02:00
Timo K 246db5a820 simplifications docs and tests 2026-05-12 12:46:36 +02:00
Timo K b042f2594d fix lints and format 2026-05-11 20:09:55 +02:00
Timo K 102542c1b0 update tests 2026-05-11 20:02:56 +02:00
Timo K ff3b4c6ff4 cleanups 2026-05-11 20:02:56 +02:00
Timo K 936dfb193f add the CallFooterViewModel 2026-05-11 20:02:56 +02:00
Timo K 7615e146a5 Use ViewModel approach for the CallFooterView + interaction tests
(this is just imaginary. There is no view model yet.)
2026-05-11 20:02:56 +02:00
Timo f4ff790d2c Add MediaMuteAndSwitchButton component (storybook only) (#3938)
* add MeidaMuteAndSwitchButton

* User button in footer

* Add tests

* update styling (dark bg on menu open + chevron white + chevron up)

* fix tests

* add storybook to CI

only add storybook with storybook label

test names

another env name test

TestName

new default name

remove label condition

Update pr-deploy.yaml

* Update pr-deploy.yaml

* add toggle example to default component

* hook up footer select actions

* fix video audio button (swapped) and lable in story
2026-05-11 11:50:33 +02:00
Robin 069074d241 Merge branch 'livekit' into hs/compound-switch 2026-05-11 09:36:08 +02:00
Robin f093946a29 Allow calls to display edge-to-edge on mobile
By adding viewport-fit=cover to the <meta name="viewport"> header, the page now requests to be displayed edge-to-edge across the entire screen. This gives us control over what we display around camera cut-outs and system navigation UI, if the user agent supports it. I then adjusted the styles of various UI elements to ensure that they still lie within the screen's safe area.
2026-05-01 12:14:40 +02:00
Half-Shot c196e9ea10 Add name 2026-04-27 14:01:04 +01:00
Half-Shot ef1e8b5d3f Merge remote-tracking branch 'origin/livekit' into hs/compound-switch 2026-04-27 13:54:46 +01:00
Will HuntandValere d335a307bb Update compound-web to 9.3.0 and update Buttons from "sm" to "md". (#3926)
* Update compound-web to 9.3.0 and update Buttons from "sm" to "md".

* Clean up the liast bits

* Update snaps too

* fix test, need to dismiss a new dialog

---------

Co-authored-by: Valere <bill.carson@valrsoft.com>
2026-04-27 13:54:00 +01:00
Half-Shot d8be069747 Fix type 2026-04-24 11:54:24 +01:00
Half-Shot 44b6db6ff1 Replace LayoutToggle with compound-web Switch component 2026-04-24 11:47:24 +01:00
Timo K 9fa382ed0c fix loudspeaker confusion and icons 2026-04-15 16:42:28 +02:00
Timo K 3fc823e049 Fix unit tests 2026-04-15 15:51:21 +02:00