Issue 1:
Issue Details

Electron Version:

9.0.0-beta.24

Operating System:

macOS Mojave 10.14.6

Last Known Working Electron version:

7.1.11

Expected Behavior

Application builds without issues

Actual Behavior

Errors in console and build fails

Additional Information

Only electron version was changed from 7.1.11 to 9.0.0-beta.24. This leads to failing in build process

Console build error:

signing file=dist/mac/App.app identityName=Apple Development: user@gmail.com (111111) identityHash=222222 provisioningProfile=none

Command failed: codesign --sign 22222222 --force --timestamp --options runtime --entitlements /Users/user//entitlements.mac.inherit.plist /Users/user//mac/App.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework

/Users/user//mac/App.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework: code object is not signed at all

In subcomponent: /Users/user//mac/App.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Helpers/chrome_crashpad_handler

stackTrace= Error: Command failed: codesign --sign 2222222 --force --timestamp --options runtime --entitlements /Users/user//entitlements.mac.inherit.plist /Users/user//mac/App.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework

/Users/user//mac/App.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework: code object is not signed at all

In subcomponent: /Users/user//mac/App.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Helpers/chrome_crashpad_handler

at ChildProcess.exithandler (child_process.js:289:12)

at ChildProcess.emit (events.js:182:13)

at maybeClose (internal/child_process.js:961:16)

at Process.ChildProcess._handle.onexit (internal/child_process.js:250:5)

From previous event:

at runCallback (timers.js:693:18)

at tryOnImmediate (timers.js:664:5)

at processImmediate (timers.js:646:5)

From previous event:

at MacPackager.signApp (/Users/user//node_modules/app-builder-lib/src/macPackager.ts:329:27)

at MacPackager.doPack (/Users/user//node_modules/app-builder-lib/src/platformPackager.ts:244:16)

npm ERR! code ELIFECYCLE

npm ERR! errno 1

Issue 2:
Preflight Checklist

I have read the Contributing Guidelines for this project.

I agree to follow the Code of Conduct that this project adheres to.

I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Electron Version

16

What operating system are you using?

Other Linux

Operating System Version

Any Linux on Wayland

What arch are you using?

x64

Last Known Working Electron version

v15.3.3

Expected Behavior

Screencasting works with one working PipeWire/Portal dialog as in previous releases.

Actual Behavior

When screencasting with an app on Electron 16 duplicate PipeWire/portal prompts are shown. This specific issue does not occur with Chromium 96 (upstream to Electron 16), or in Electron 15.

Tested on Jitsi Meet Electron (now Electron 16) and this demo app.

In Jitsi Meet Electron there is an endless loop of prompts as shown here. The many prompts can also lead to crashes (possibly due to the portal being overwhelmed).

In the demo app I only see up to 2 portal prompts, but typically only one is usable at a time, and even after accepting both prompts it's not guaranteed to work.

This was reported on both GNOME and KDE Plasma Wayland.

Testcase Gist URL

No response

Additional Information

Note: This is a different issue than #30652. #30652 is about the app itself creating an unnecessary dialog. With #30652 screencasting is still reasonably usable. However, this issue effectively makes screencasting unusable (depending on the app it seems).

Test demo with Electron 16:

git clone https://github.com/hokein/electron-sample-apps
npm install -g electron@16
electron ./electron-sample-apps/desktop-capture --enable-features=WebRTCPipeWireCapturer

Electron 15 instead:

npm install -g electron@15
electron ./electron-sample-apps/desktop-capture --enable-features=WebRTCPipeWireCapturer

With Jitsi Meet Electron simply install it (e.g. with Flatpak), start a new meeting and screen share.