Skip to content

Implement new Pip Layout (with control buttons)#3775

Merged
toger5 merged 10 commits intolivekitfrom
toger5/new-pip-layout
Mar 11, 2026
Merged

Implement new Pip Layout (with control buttons)#3775
toger5 merged 10 commits intolivekitfrom
toger5/new-pip-layout

Conversation

@toger5
Copy link
Copy Markdown
Contributor

@toger5 toger5 commented Mar 4, 2026

Fixes: https://github.com/element-hq/voip-internal/issues/488
Also fixes: #3620

copied upcoming PR Template

Content

Update the desktop pip call layout:

  • dont hide footer
  • dont use fullscreen video tiles
  • adjust css to match margins and layout.

This allows us to achive the UX described here: https://github.com/element-hq/voip-internal/issues/488

Motivation and context

We want to update the UX for pip:

  • allow mute unmute
  • use webview hangup button
  • show mute state while in pip
  • simplify pip by removing custom overlay buttons and actions to hangup

Screenshots / GIFs

Before After
Screenshot 2026-03-10 at 11 12 00 Screenshot 2026-03-10 at 11 14 27 Screenshot 2026-03-10 at 11 15 46

(The bottom after image is on hover)
Be aware that this is WIHTOUT the associated EW changes!
-> This just proves that things are not completely broken in case we fail on shipping them simultaneously.

With EW patches:

Before After
Screenshot 2026-03-10 at 11 23 50 Screenshot 2026-03-10 at 11 22 29Screenshot 2026-03-10 at 11 22 34

Proving that things are not broken in case we fail on shipping them simultaneously.

Tests

  • Step 1
  • Step 2
  • Step ...

Checklist

  • I have read through CONTRIBUTING.md.

  • Pull request includes screenshots or videos if containing UI changes

  • Tests written for new code (and old code if feasible).

  • Linter and other CI checks pass.

  • I have licensed the changes to Element by completing the Contributor License Agreement (CLA)

  • test on mobile (dont regress mobile pip)

Copy link
Copy Markdown
Member

@BillCarsonFr BillCarsonFr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, but need a playwright test.
Test for the visibility of the footer button. and test they are interactive. See this test for setting up the pip https://github.com/element-hq/element-call/blob/livekit/playwright/widget/pip-call.test.ts

@toger5
Copy link
Copy Markdown
Contributor Author

toger5 commented Mar 10, 2026

Test for the visibility of the footer button

I am noticing that those tests are not super useful yet. Since we will still have the overlay, we are not able to click the buttons without bumping EW.

On top I created tests checking that we can press the buttons (that there is nothing blocking the clicks) in EW.
So everything beyond "are the buttons pressable" is not needed.
We can still create a playwright test, that checks if the footer is hidden.

@BillCarsonFr
Copy link
Copy Markdown
Member

I am noticing that those tests are not super useful yet.

But as soon as the web PR will be merged it will be fine, right? Meanwhile the test can be ran on HOST=https://pr32654--matrix-react-sdk.netlify.app/

@toger5
Copy link
Copy Markdown
Contributor Author

toger5 commented Mar 10, 2026

I now went with a test that only checks for the visibility of those buttons. Clicking is commented out for now see:
6485da8

 await expect(hangupButton).toBeVisible();
  await expect(videoMuteButton).toBeVisible();
  await expect(audioMuteButton).toBeVisible();

  // TODO once we have the EW version that supports the interactive pip element we can activate those checks
  // await videoMuteButton.click();
  // await audioMuteButton.click();

  // await expect(videoMuteButton).toHaveCSS("disabled", "true");
  // await expect(audioMuteButton).toHaveCSS("disabled", "true");

@toger5 toger5 requested a review from BillCarsonFr March 10, 2026 14:38
@toger5
Copy link
Copy Markdown
Contributor Author

toger5 commented Mar 10, 2026

@BillCarsonFr Does this justify merging the PR as is? #3794

Copy link
Copy Markdown
Member

@BillCarsonFr BillCarsonFr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙏

@toger5 toger5 merged commit c05d223 into livekit Mar 11, 2026
22 checks passed
@toger5 toger5 deleted the toger5/new-pip-layout branch March 11, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR-Feature Release note category. A PR that introduces a new user facing feature.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

EC PIP should let you mute/unmute.

2 participants