Package Details: discord_arch_electron 0.0.78-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: 197
Popularity: 4.19
First Submitted: 2020-05-19 23:51 (UTC)
Last Updated: 2024-12-17 20:22 (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 .. 32 33 34 35 36 37 38 39 Next › Last »

pitbuster commented on 2020-12-03 19:41 (UTC) (edited on 2020-12-03 19:41 (UTC) by pitbuster)

I noticed that the Discord window doesn't get the proper icon with this package, opposed to the situation with the discord package.

Does anyone knows how to fix this?

NoXPhasma commented on 2020-11-25 00:08 (UTC)

@huyizheng Your updated PKGBUILD works for me, thank you.

huyz commented on 2020-11-24 13:20 (UTC)

@NoXPhasma @MGThePro I created an updated PKGBUILD to resolve this issue. BetterDiscord works fine at least in my case.

# Maintained by johnnyapol (arch@johnnyapol.me)
# Contributors: huyizheng
# Based off the discord community repo PKGBUILD by Filipe Laíns (FFY00) <lains@archlinux.org>
pkgname=discord_arch_electron
_pkgname=discord
pkgver=0.0.12
pkgrel=4.1
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://discordapp.com'
license=('custom')
depends=('electron')
makedepends=('asar')
optdepends=('libpulse: Pulseaudio support'
            'xdg-utils: Open files')
source=("https://dl.discordapp.net/apps/linux/$pkgver/$_pkgname-$pkgver.tar.gz"
        'LICENSE.html::https://discordapp.com/terms'
        'OSS-LICENSES.html::https://discordapp.com/licenses')
sha512sums=('c5009e022cac0b76d39cc125a98b9dd3d7a5827dd7d733c5578237b99b746aeccc1cd253aafa99e2a237bd82ef71ee42011f864059aa5ee62812488dbd82f511'
             SKIP
             SKIP)

prepare() {
  cd Discord

  sed -i "s|Exec=.*|Exec=/usr/bin/$_pkgname|" $_pkgname.desktop
  echo 'Path=/usr/bin' >> $_pkgname.desktop
}

package() {
  # Install the app
  install -d "$pkgdir"/usr/lib/$_pkgname

  # HACKS FOR SYSTEM ELECTRON
  asar e Discord/resources/app.asar Discord/resources/app
  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
  asar p Discord/resources/app Discord/resources/app.asar --unpack-dir '**'
  rm -rf Discord/resources/app

  # Copy Relevanat data
  cp -r Discord/resources/*  "$pkgdir"/usr/lib/$_pkgname/

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

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

  cp Discord/discord.png "$pkgdir"/usr/share/pixmaps/$_pkgname.png
  cp Discord/discord.desktop "$pkgdir"/usr/share/applications/$_pkgname.desktop

  # Licenses
  install -Dm 644 LICENSE.html "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.html
  install -Dm 644 OSS-LICENSES.html "$pkgdir"/usr/share/licenses/$pkgname/OSS-LICENSES.html
}

huyz commented on 2020-11-24 13:09 (UTC)

@NoXPhasma @MGThePro I found a temporary workaround of BetterDiscord:

Run sudo asar p /usr/lib/discord/app /usr/lib/discord/app.asar

Then modify /usr/bin/discord and change /usr/lib/discord/app into /usr/lib/discord/app.asar. Now BetterDiscord should work.

MGThePro commented on 2020-11-24 12:11 (UTC)

I'm having the same issue as NoXPhasma. Reverting to the second latest PKGBUILD fixed it for me as well.

NoXPhasma commented on 2020-11-22 18:30 (UTC)

The changes in the last version (0.0.12-4) broke the support for BetterDiscord for me. It still works in the package from the repositories and the previous AUR build.

johnnyapol commented on 2020-11-19 14:36 (UTC)

Thanks @huyizheng, I've gone ahead and tested it and it worked fine for me, I've pushed 0.0.12-4 to incorporate this.

huyz commented on 2020-11-19 06:07 (UTC)

Well, after I extract Discord's app.asar, I found that the file build_info.json and discord.png is only used once. So instead of hacking these files into system electron's directory, perhaps it's better to just hack Discord's app.asar itself to point these files to Discord's directory.

This hack is easy, just run asar e app.asar app to extract app.asar, then modify app_bootstrap/buildInfo.js and app_bootstrap/autoStart/linux.js and change the path of these two files.

Here's my new PKGBUILD that applies this hack:

# Maintained by johnnyapol (arch@johnnyapol.me)
# Based off the discord community repo PKGBUILD by Filipe Laíns (FFY00) <lains@archlinux.org>

pkgname=discord_arch_electron
_pkgname=discord
pkgver=0.0.12
pkgrel=3
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://discordapp.com'
license=('custom')
depends=('electron')
makedepends=('asar')
optdepends=('libpulse: Pulseaudio support'
            'xdg-utils: Open files')
source=("https://dl.discordapp.net/apps/linux/$pkgver/$_pkgname-$pkgver.tar.gz"
        'LICENSE.html::https://discordapp.com/terms'
        'OSS-LICENSES.html::https://discordapp.com/licenses')
sha512sums=('c5009e022cac0b76d39cc125a98b9dd3d7a5827dd7d733c5578237b99b746aeccc1cd253aafa99e2a237bd82ef71ee42011f864059aa5ee62812488dbd82f511'
             SKIP
             SKIP)

prepare() {
  cd Discord

  sed -i "s|Exec=.*|Exec=/usr/bin/$_pkgname|" $_pkgname.desktop
  echo 'Path=/usr/bin' >> $_pkgname.desktop
}

package() {
  # Install the app
  install -d "$pkgdir"/usr/lib/$_pkgname

  # HACKS FOR SYSTEM ELECTRON
  asar e Discord/resources/app.asar Discord/resources/app
  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

  # Copy Relevanat data
  cp -r Discord/resources/*  "$pkgdir"/usr/lib/$_pkgname/
  rm "$pkgdir"/usr/lib/$_pkgname/app.asar

  # Create starter script for discord
  echo "#!/bin/sh" >> "$srcdir"/$_pkgname
  echo "exec electron /usr/lib/$_pkgname/app \$@" >> "$srcdir"/$_pkgname

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

  cp Discord/discord.png "$pkgdir"/usr/share/pixmaps/$_pkgname.png
  cp Discord/discord.desktop "$pkgdir"/usr/share/applications/$_pkgname.desktop

  # Licenses
  install -Dm 644 LICENSE.html "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.html
  install -Dm 644 OSS-LICENSES.html "$pkgdir"/usr/share/licenses/$pkgname/OSS-LICENSES.html
}