Package Details: discord_arch_electron 0.0.75-1

Git Clone URL: https://aur.archlinux.org/discord_arch_electron.git (read-only, click to copy)
Package Base: discord_arch_electron
Description: Discord using system provided electron for increased security and performance
Upstream URL: https://discord.com
Keywords: chat discord discord-stable discordapp electron video voice
Licenses: custom
Conflicts: discord
Provides: discord
Submitter: johnnyapol
Maintainer: Zoddo (Thaodan, SunRed)
Last Packager: Zoddo
Votes: 195
Popularity: 5.19
First Submitted: 2020-05-19 23:51 (UTC)
Last Updated: 2024-11-19 19:20 (UTC)

Dependencies (9)

Required by (25)

Sources (3)

Pinned Comments

SunRed commented on 2024-06-09 20:34 (UTC)

After a chat with @Zoddo and me just taking too long to come back to this, there should everything now be included that was in my old discord-electron package some migrated from (Krisp patcher, Wayland, autostart fix). Additionally I replaced the scrappy rizin patcher with a Python script someone from the nix community kindly made available.
Instead of checking against a checksum to know whether the Krisp binary was patched the script is run on every start of the client that results in slightly longer start times but has the advantage that we don't have to update the package if Discord ever silently updates the binary between client updates over their modules api.

Cheers

Zoddo commented on 2022-09-15 17:54 (UTC) (edited on 2023-03-31 17:24 (UTC) by Zoddo)

Starting with 0.0.26-1 (2023-03-31):
  • Switched back to the main electron package (electron22)
  • Watching cameras and streams is working again
Starting with 0.0.20-1 (2022-09-15):
  • Bumped electron16 to electron19 (I still have blocking issues with electron20)
  • Added support for $XDG_CONFIG_HOME/discord-flags.conf: this works like electron-flags.conf, you can set in this file the command line flags you want to pass to electron when running Discord (there are some useful flags in the wiki, especially if you are experiencing lag in the Discord UI).
FAQ

Discord requires an update, but this package isn't yet updated
Check the wiki.

The Discord UI is lagging
Try to add the flags recommended in the wiki in $XDG_CONFIG_HOME/discord-flags.conf.

Krisp not working
This is an issue that will likely never be fixed for this package. The Krisp module checks if Discord binaries are signed by Discord, which is not the case with this package.
See this comment and this GitHub issue for more details and possibles workarounds.

Latest Comments

« First ‹ Previous 1 .. 13 14 15 16 17 18 19 20 21 22 23 .. 38 Next › Last »

Neko-san commented on 2022-09-13 16:00 (UTC) (edited on 2022-09-13 16:01 (UTC) by Neko-san)

Recently Discord got an in-app update that interacted with Kwallet for me, so I'm not sure if this is because they're doing something with Linux suddenly or if it's just a fluke; however, I can't imagine what that fluke would be, if so, because I don't think Windows has a secrets keyring?

Funny though, they do this but then still don't have Linux-hosted stream audio working...

cjvth commented on 2022-09-13 15:54 (UTC)

Having the same problem as @kode54. [WebContents] crashed (reason: crashed, exitCode: 139)... reloading after opening a stream or join a video call. With community/discord everything works. The problem appeared about a month ago, probably just after updating to 0.0.19

sl1pkn07 commented on 2022-09-05 15:18 (UTC) (edited on 2022-09-14 23:04 (UTC) by sl1pkn07)

anyone know if the bundled electron comes with upstream discord uses ffmpeg4 or ffmpeg5 library versions? 0.0.136 working for me with a custom electron15 builded against ffmpeg4 instead of ffmpeg5 like arch do. with zero workgrounds like disable the openh264 acceleration or something (the infamous crash when join to a stream)

greetings

EDIT 0.0.138 still working with electron15(with ffmpeg4), so, I just keep it

EDIT2: tested with electron20 with ffmpeg4.4. get mic error (can't enable it). seems a problem with sdp and webrtc things

[1737753:0913/232750.263963:ERROR:sdp_offer_answer.cc(758)] Failed to set remote answer sdp: The order of m-lines in answer doesn't match order in offer. Rejecting answer.

EDIT3: tested with electron19 with ffmpeg4.4. the mic works, but i cant share my display. tested in X11 and wayland mode

EDIT4. tested electon 18, 17 and 16 with ffmpeg 4.4. only 16 and 15 versions works everityng without any workground

lcronos commented on 2022-09-01 15:46 (UTC)

Well it looks like the openasar devs have come across some of the same fixes I did. It looks like they have it working on electron 20 as well, and there aren't any open issues about the mic not working on their git repo. Here's a blog post on electron20:

https://goose.icu/discord-electron-20/

I downloaded openasar and tried it to see what would happen, and the mic still doesn't work, but I get some error messages that don't appear with electron19. I'm not sure if this is relevant to the stock app.asar, but it might be worth looking at.

97681:0901/104247.716386:ERROR:ev_root_ca_metadata.cc(290)] Failed to register OID: 0
(node:97681) UnhandledPromiseRejectionWarning: Error: Script failed to execute, this normally means an error was thrown. Check the renderer console for the error.
    at node:electron/js2c/sandbox_bundle:57:405
    at EventEmitter.<anonymous> (node:electron/js2c/sandbox_bundle:45:375)
    at EventEmitter.emit (node:electron/js2c/sandbox_bundle:112:3752)
    at Object.onMessage (node:electron/js2c/sandbox_bundle:37:756)
(Use `electron-20 --trace-warnings ...` to show where the warning was created)
(node:97681) 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: 1)

kode54 commented on 2022-09-01 08:14 (UTC)

I can't get the stock electron16 version to work with video calls, the app resprings repeatedly until forcibly closed if I answer a video call.

lcronos commented on 2022-08-31 03:23 (UTC)

The best lead I have so far is this: https://www.electronjs.org/docs/latest/tutorial/security#4-handle-session-permission-requests-from-remote-content

It would likely go in splashScreen.js just after the nodeIntegration section. I think you'd use the _electron variable, but I haven't had a chance to mess with it. For now I'll be installing electron19 just to have a working instance, but I'll continue digging into it.

lcronos commented on 2022-08-30 22:01 (UTC)

@Thaodan I don't think it's a browser support issue. I think electron 20 changed some default settings around. If there's a way to access chrome://settings (or equivalent) from electron, it should be solvable.

Thaodan commented on 2022-08-27 18:21 (UTC)

Using Electron20 my micrphone doesn't work. I'm not sure if related but think this browser isn't supported.

pendo324 commented on 2022-08-27 18:13 (UTC) (edited on 2022-08-27 18:14 (UTC) by pendo324)

Here's a full patch (based on the last few comments) for electron20 support. I've tested it myself on Arch with all the latest KDE/wayland packages, and the following flags (may not be necessary anymore): --ignore-gpu-blocklist --enable-gpu-rasterization. I'm pretty sure that the sed command that I added could be cleaner, but I'm lazy

diff --git a/PKGBUILD b/PKGBUILD
index 0069bf6..42d6c95 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,14 +5,14 @@
 pkgname=discord_arch_electron
 _pkgname=discord
 pkgver=0.0.19
-pkgrel=1
+pkgrel=2
 pkgdesc="Discord (popular voice + video app) using the system provided electron for increased security and performance"
 arch=('x86_64')
 provides=('discord')
 conflicts=('discord')
 url='https://discord.com'
 license=('custom')
-depends=('electron16')
+depends=('electron')
 makedepends=('asar')
 optdepends=('libpulse: Pulseaudio support'
             'xdg-utils: Open files')
@@ -39,6 +39,8 @@ package() {
   rm Discord/resources/app.asar
   sed -i "s|process.resourcesPath|'/usr/lib/$_pkgname'|" Discord/resources/app/app_bootstrap/buildInfo.js
   sed -i "s|exeDir,|'/usr/share/pixmaps',|" Discord/resources/app/app_bootstrap/autoStart/linux.js
+  sed -i "s|^      nodeIntegration: false|      nodeIntegration: true|" Discord/resources/app/app_bootstrap/splashScreen.js
+  sed -i "s|^module.paths.*|module.paths = [\"/home/\" + process.env.USER + \"/.config/discord/${pkgver}/modules\"];|" Discord/resources/app/app_bootstrap/requireNative.js
   asar p Discord/resources/app Discord/resources/app.asar --unpack-dir '**'
   rm -rf Discord/resources/app

@@ -47,7 +49,7 @@ package() {

   # Create starter script for discord
   echo "#!/bin/sh" > "$srcdir"/$_pkgname
-  echo "exec electron16 /usr/lib/$_pkgname/app.asar \$@" >> "$srcdir"/$_pkgname
+  echo "exec electron20 /usr/lib/$_pkgname/app.asar \$@" >> "$srcdir"/$_pkgname

   install -d "$pkgdir"/usr/{bin,share/{pixmaps,applications}}
   install -Dm 755 $_pkgname "$pkgdir"/usr/bin/$_pkgname

Thaodan commented on 2022-08-27 18:01 (UTC)

I figured that one out too. electron20 enabled sandboxing for the renderer by default. It looks like discord doesn't like that. Adding sandbox: false, into app_bootstrap/splashScreen.js in the 'webPreferences' section fixes it, enabling electron20. Did microphone and co work after?