-
-
Notifications
You must be signed in to change notification settings - Fork 183
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
Transient screen cast stream restoration no longer works #1124
Comments
It appears that the bug is a result of deleting all transient restore tokens once the screen cast session is closed. However, the documentation for transient persist mode says that "Permissions persist as long as the application is running". |
I can reproduce. I expect this is related to #1004. |
This is not reproducible on Firefox. Are you sure this is not a Chromium issue? |
Now that I test this, I think I've seen that on Chromium for a long time... certainly before #1004. |
Firefox works differently and doesn't rely on stream restoration. I've seen this issue before with Google Meet, which might be a bug in Chromium (on my TODO list), but for example the WebRTC test page has been working all the time. There was no Chromium (WebRTC) change to screen sharing for a while. |
The flow in Chromium is that it starts a screen cast session to show thumbnails on the screen/window picker and it restores the stream in a new session to show the stream on the web page. Firefox does not show thumbnails, so it doesn't use stream restoration. The regression was introduced by #1004, specifically the This is contrary to the documentation of transient persist mode, which says that "Permissions persist as long as the application is running". |
Thanks @aiddya, I think your diagnostic is correct. Patch incoming. |
This is what the documented behaviour mentions - if the peer dies, transient permissions are gone. This doesn't yet work since we're removing transient permissions when the session is closed. Related: flatpak#1124
This is the counterpart to removing transient permissions when the peer dies - not remove them when the session is closed. Closes: flatpak#1124
Can you please test #1125? |
I can confirm that it fixes the issue in Chromium and Electron. P.S.: It took me quite a while to understand that I had to provide |
Patches welcomed :) |
I may not have all the information write such documentation, but I can give it a shot. @grulja I think the Google Meet issue that you're seeing might be fixed with a patch like this on Chromium: electron/electron#40098 |
This is what the documented behaviour mentions - if the peer dies, transient permissions are gone. This doesn't yet work since we're removing transient permissions when the session is closed. Related: flatpak#1124
This is the counterpart to removing transient permissions when the peer dies - not remove them when the session is closed. Closes: flatpak#1124
This is what the documented behaviour mentions - if the peer dies, transient permissions are gone. This doesn't yet work since we're removing transient permissions when the session is closed. Related: flatpak#1124
This is the counterpart to removing transient permissions when the peer dies - not remove them when the session is closed. Closes: flatpak#1124
This is what the documented behaviour mentions - if the peer dies, transient permissions are gone. This doesn't yet work since we're removing transient permissions when the session is closed. Related: #1124
This is the counterpart to removing transient permissions when the peer dies - not remove them when the session is closed. Closes: #1124
Screen cast stream restoration with persist mode as transient no longer works with xdg-desktop-portal 1.18. It works if the persist mode is until explicitly revoked.
Steps to reproduce
Expected behavior
Shared screen/window is displayed.
Actual behavior
The portal dialog appears again.
DBus logs show that the application is passing restore token correctly and the portal implementation is returning restore data. The bug is either in storing the restore token along with restore data or while retrieving it.
cc @jadahl
The text was updated successfully, but these errors were encountered: