Comments (16)
My experience, without logs unfortunately, Webcord 4.7.0 on Arch Linux with i3 (nvidia proprietary drivers):
- Screen/window picker shows up
- Clicking on any window or screen closes the picker and the sharing doesn't start.
Also confirmed on colleagues setup with Webcord 4.7.0 on Arch Linux with Gnome (amd drivers), same behavior.
Downgrading to 4.6.1 solved the issue on both machines.
from webcord.
I am experiencing the exact same behavior as @ionspin, rolling back to 4.6.1 fixes the issue. I'm running Q4OS (Debain Linux with KDE Plasma x11), and I'm using the flatpak releases. full system information here:
Operating System: Debian GNU/Linux 12
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8
Kernel Version: 6.1.0-17-amd64 (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 7 PRO 4750U with Radeon Graphics
Memory: 44.8 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Manufacturer: LENOVO
Product Name: 20UD000CUS
System Version: ThinkPad T14 Gen 1
I'm not sure what logs to check, but I would like to help get this issue fixed, Webcord has been very stable for me otherwise. If anyone knows what other information would be useful, I would be happy to share.
from webcord.
I was able to reproduce this by pressing cancel on the GNOME popup which triggers the promise exception. Afterwards screen share button doesn't do anything and gets fixed with ctrl+r. Screen sharing otherwise works great.
I'm on 4.8.0 rpm and electron 29.0.0
Fedora 39, gnome
❯ webcord --trace-warnings
[UPDATE] Application is up-to-date!
[WebSocket] Listening at port 6463.
'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
[117293:0306/123101.388987:ERROR:screencast_portal.cc(367)] Failed to start the screen cast session.
[117293:0306/123101.389041:ERROR:base_capturer_pipewire.cc(81)] ScreenCastPortal failed: 2
(node:117293) UnhandledPromiseRejectionWarning: Failed to get sources.
at emitUnhandledRejectionWarning (node:internal/process/promises:203:15)
at processPromiseRejections (node:internal/process/promises:297:13)
at processTicksAndRejections (node:internal/process/task_queues:96:32)
(node:117293) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
from webcord.
I was able to reproduce this by pressing cancel on the GNOME popup which triggers the promise exception. Afterwards screen share button doesn't do anything and gets fixed with ctrl+r. Screen sharing otherwise works great.
As for me, in a Plasma Wayland session under XWayland, this works well, but leads to various issues when using "ozone".
For example, starting screenshare from KDE Screen Share portal works well, but If I close Portal window without starting screensharing it will produce:
[24517:0308/204038.586720:ERROR:screencast_portal.cc(367)] Failed to start the screen cast session.
[24517:0308/204038.586743:ERROR:base_capturer_pipewire.cc(81)] ScreenCastPortal failed: 2
(node:24517) UnhandledPromiseRejectionWarning: Failed to get sources.
(Use `electron --trace-warnings ...` to show where the warning was created)
(node:24517) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
Also, successully started screensharing produces:
'loop->recurse > 0' failed at ../pipewire/src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
from webcord.
As of 4.8.0 screen sharing is working properly for me. Thanks for your work on webcord!
from webcord.
Please explain further what's wrong with it, so far it worked for me just fine on Linux and with Electron 29 I've even had a success screen sharing with audio enabled.
from webcord.
(FYI, Electron 29 is still in beta, which is main reason why I didn't make an update to it.)
from webcord.
I'm using AppImage, I just changed my webcord.desktop Exec= to the new version, and when using screen sharing a notification appears in the top bar and then disappears. Linux Ubuntu 22.0.4
from webcord.
I guess it would help if you could show how it works (screen capture or screenshots are welcome), share some logs (whatever could show if there's anything going on when clicking on the button, both from DevTools and the STDOUT/STDERR) from the app or at least just tell if the bug happens on your side with Wayland/XWayland or X11…
I just need more info. I can't help if I can't reproduce it, and I'm Linux user as well (except I'm still on X11, my main DE doesn't support Wayland yet).
from webcord.
I am on Arch Linux, Hyprland; starting in a terminal it outputs
'loop->recurse > 0' failed at ../pipewire/src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
when sharing using xdg-desktop-portal-hyprland
and
[31480:0130/213630.914844:ERROR:screencast_portal.cc(325)] Failed to select sources for the screen cast session.
[31480:0130/213630.914864:ERROR:base_capturer_pipewire.cc(81)] ScreenCastPortal failed: 3
(node:31480) UnhandledPromiseRejectionWarning: Failed to get sources.
(Use `electron --trace-warnings ...` to show where the warning was created)
(node:31480) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
when sharing using xdg-desktop-portal-wlr.
In the webcord gui itself nothing happens.
from webcord.
Looks like this is a problem then on your side or (maybe) with the PipeWire screen sharing provider (at least from the logs given by @floriansagerer and my tests) – I was able to trigger the PipeWire screen sharing once I've set up GNOME correctly – but given I'm on (still kinda experimental, yet promising) nouveau
+ GSP.bin
, GNOME shell literally crashes for me once I start the screen share and throws me back to the display manager.
from webcord.
(I'm on Arch as well, without testing packages installed, so the version of PipeWire or anything else is likely the same.)
from webcord.
Same setup works in OBS and Vencord.
from webcord.
Then again, why I was able to trigger the GNOME screen share menu and you claim nothing happens? It feels rather odd it works for me in GNOME just fine yet you claim on Hyprland/Wlroots portals implementation it just crashes? Also Chromium somehow points this (as far as I understand the logs correctly) as an internal error returned by screen share picker...
from webcord.
Then again, why I was able to trigger the GNOME screen share menu and you claim nothing happens?
That's the main reason I think it might be somehow a problem specific to the given picker implementation. However, if you could reproduce the same error in GNOME as well, it feels like this problem is somehow related to your current workflow, since again, picker seems to be triggered just fine on my side. I might check again if Chromium behaves differently.
Also, about the new API I've moved to, it seems Vencord already uses it as well. So it could be also somehow related to the Electron version, I don't think the implementation is any different from Vencord in case of triggering the PipeWire screen share picker.
from webcord.
(...) and I'm using the flatpak releases.
I should say, bugs reported under flatpaks won't be resolved by me (flatpaks are not maintained by me, and are not maintained by anyone right now), so any comment regarding reproducing it with flatpaks will likely be ignored. The same is with snaps or any other packaging method outside of official builds, especially for those running under a sandbox.
from webcord.
Related Issues (20)
- Add streaming quality 1080p and higher HOT 6
- "Automatic Gain Control" does not work HOT 4
- Change User-Agent option for privacy HOT 1
- [Windows] About page is missing version information HOT 1
- Poor performance on Hyprland + Nvidia HOT 1
- Clear cache option
- Links generated by the "open in browser" function aren't accepted by the CDN HOT 2
- Take Ownership of the io.spacingbat3.webcord Flathub repo HOT 7
- RPM package cannot be installed on Mageia 9 HOT 1
- UncaughtException: WebCord threw 'SyntaxError' HOT 1
- Webcord RPM package cannot be installed because headers are not signed. HOT 2
- Activites do not load due to the Content Security Policy HOT 3
- Font size
- Webcord crashed, now crashes on startup. HOT 2
- Drag and drop breaks mouse on Wayland HOT 6
- Ctrl+Tab does not work
- Disable startup webcord splash screen HOT 3
- Custom CSP configurable by the user HOT 1
- Screen share on Wayland does not work HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webcord.