New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: use generic capturer to list both screens and windows when possible #39711
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the patch(es) need to be updated for 24-x-y.
You can update the patch(es) by running:
e sync --3
and then running
e patches all
a153137
to
b9e7ba5
Compare
I've updated the patches. I didn't realize that they were out of date as |
@aiddya |
Screensharing with PipeWire via XDG Desktop Portal requires explicit user permission via permission dialogs. Chromium has separate tabs for screens and windows and thus its portal implementation requests permissions separately for each. However, the screencast portal has no such limitation and supports both screens and windows in a single request. WebRTC now supports this type of capture in a new method called called `CreateGenericCapturer`. The `desktopCapturer` implementation has been modified to use it. Additionally, Chromium has been patched to use same generic capturer to ensure that the source IDs remain valid for `getUserMedia`.
4c16a2a
to
12f72db
Compare
Rebased |
Failing patch application has been addressed
Release Notes Persisted
|
Description of Change
Backport of #39111
Backporting this because the double screen sharing dialogs introduced by #38833 sometimes cause focus bugs, where one dialog is perfectly superimposed on the other, but the bottom one has focus. The top dialog is not clickable, which leaves the impression that the application has frozen.
cc @VerteDinde
Checklist
npm test
passesRelease Notes
Notes: Fixed a redundant permission popup while fetching screens and windows using
desktopCapturer.getSources()
on Wayland.