Git Product home page Git Product logo

webcord's Introduction

🚧️ A major rewrite of the client is being worked on! That means, most efforts around WebCord will be kept at minimum – there might be no time-intensive and major updates done on top of the existing code. However, WebCord should still receive maintenance updates along with new features or improvements that don't cost investing too much of my time.

Znasz πŸ‡΅πŸ‡±? PrzejdΕΊ tutaj.

WebCord Logo

WebCord

CodeQL Build Weblate badge GitHub downloads Discord server

A Discord and Spacebar client implemented directly without Discord API. Made in πŸ‡΅πŸ‡± with the Electron framework.

Philosophy / key features

Nowadays, WebCord is quite complex project; it can be summarized as a pack of security and privacy hardenings, Discord features reimplementations, Electron / Chromium / Discord bugs workarounds, stylesheets, internal pages and wrapped https://discord.com page, designed to conform with ToS as much as it is possible (or hide the changes that might violate it from Discord's eyes). For all features, take a look at Features.md.

  • πŸ•΅οΈ Hardened for privacy

WebCord does a lot to improve the privacy of the users. It blocks known tracing and fingerprinting methods, but it does not end on it. It also manages the permissions to sensitive APIs like camera or microphone, sets its own user agent to the one present in Chromium browsers and spoof web API modifications in order to prevent distinguishing it from the real Chrome/Chromium browsers.

  • πŸ›‘οΈ Follows the best security practises

WebCord cares a lot about your security. Being fully written in TypeScript, it brings the power of static types to help detecting common bugs without the need of testing the app at runtime. All of this is hardened by ESLint, which forbidds some TypeScript practises like the use of any type and enforces some cosmetic aspects of the code to keep it more consistent.

Unlike the official Discord client, WebCord's policy about Electron also makes it to use the latest major release currently supported and available at the package time. This makes WebCord use more up-to-date Electron releases with more recent Chromium engine.

Built on top Electron and Chromium, WebCord's security is also highly dependant from Chrome's vulnerability rewards program, which is probably one of the most known programs like this when comparing to different popular browser engines choices. Electron is also well-prepared for loading remote content, using their process model to the advantage and different Chromium sandboxing techniques to split Node.js from browser scripts. WebCord also tries its best to follow practises from the Electron#Security.

  • πŸ› οΈ Customizable

WebCord can be configured to your needs and the preferences – you can harden it even more by blocking unnecesarry third-party websites in Content Security Policy settings, improve your privacy by blocking typing indicator and much more! Moreover, a support for custom stylesheets is on its way, allowing you to theme WebCord the way you like!

  • πŸ“± ARM-friendly and Linux mobile support

Although Electron is not designed to work on mobile devices, WebCord tries its best to be responsive even on devices with the smaller screens and touch screens. It's still not ideal, but should work for basic Discord usage. However I plan to focus on it someday and to make it look and work closer to the official Discord Android client.

Documentation:

For newcomers I recommend to read at least the FAQ (to fix common issues and not report them as bugs). You may also read Features to know which features have been implemented and are supported. It is strongly advised to read the application license as well.

History

At first, this project was a fork of the Discord-Electron, but then eventually I rewrote it as Electron Discord Web App project, which is now refered to as WebCord.

At its early days, it had a very simple concept: a better web app implementation than Nativefier was, at least in terms of the features. Since I were too young to understand how to keep things private and secure, this project's code was full of flaws. It was like that until 1.x.y, when the privacy and the security of the code has slowly been shaping, with 1.2.0 being a major step forward, since TypeScript was started to being adopted. Later, I've added the default linter to the project's documentation and configured the rules for it and focused on child window design, which added the documentation, settings and about windows to the Discord page. I've then also realized there's a serious issue with the current screen share dialog – it was injected to the page, meaing Discord could technically access the windows' thumbnails and simulate the mouse click events to trigger sharing the screen even without any interaction. This flaw was thankfully fixed thanks to the BrowserViews in more modern WebCord releases.

With the code quality, a new philosophies and goals has shaped for this project – it now approaches to wrap Discord website and develop its own UI (todo) for non-Discord instances primarly based on the Discord API (might decide some day that WebCord will also support other APIs as well). With that, I want to reimplement Discord in a way it is a trully FOSS client, without any risk that users will get banned by either breaking the ToS or being detected as self-bot because of the suspicious use of Discord REST API. This is what WebCord mainly focuses to achieve nowadays.

And it should be said that before I knew much about how Electron does work, @GyozaGuy's project help me to begin on my own with developing a Discord webapp. Without his work, it is unknown whenever I would begin developing WebCord or not.

Wiki pages

Because GitHub Wiki Pages of this project are meant to be maintained by the community, they should be considered as a potentially malicious or misleading source of the information. It is recommended to read the official documentation first before you will proceed reading the community-maintained Wiki pages.

License

This project is redistributed under the terms of MIT License:

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Want to contribute to my project?

Please take a look at Contributing.md – it describes more about ways of giving your help to improve quality of WebCord. And for some tasks you don't even need to be familiar with programming at all!

webcord's People

Contributors

4cecoder avatar bitfl0wer avatar botspot avatar demirdegerli avatar dependabot[bot] avatar elwazy avatar gecero avatar goesbyabhi avatar graves501 avatar itai-nelken avatar lumaeris avatar matthewcash avatar mrcoolandroid avatar noozabooz avatar raizapw19 avatar spacingbat3 avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webcord's Issues

Screen sharing support.

Discord works ok on rpi 4b 8GB but I am unable to share screen.
Could somebody help me with this issue? Since I just started using discord, it is probably something on the app settings I have to change...

v. 1.4.2. media playback

Environment

  • Platform: Windows
  • Architecture: Intel x64
  • Application version: 1.4.2

Describe the bug

When looking at a channel with embedded media (discord hosted video) - playing the video does not work.

To Reproduce

Steps to reproduce the behavior:

  1. Go to any discord chat
  2. Upload a video to that chat
  3. Try to play back the video just uploaded
  4. The video does buffer, but not play

Additional context

Before upgrading to 1.4.2 from 1.4.1, I deleted these folders:
\AppData\Roaming\WebCord
\AppData\Local\Temp

Spotify preview not working

Aknowledgements

  • There's no other issue describing the same problem, regardless of its current state (i.e. including both closed and open issues or flagged as fixed).*
  • There's no fix for my issue released to master branch.
  • This is a bug with the one of the unstable features (e.g. Addon support).
  • This bug has known workaround (write it below).

* Required

Environment

  • Platform: Manjaro Linux RPi 4
  • Architecture: aarch64
  • Electron version: v15.1.2
  • Application version: v2.0.0-beta3

Describe the bug

The Spotify embeds are not loading, erroring out in the console.
image
image
(...and many more than seem to be related)

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error.

Expected behavior

The Spotify embeds should be displayed fine.

Additional context

Seems to be a CSP-related issue

Workarounds

Disable in-app Content Security Policy to use the one offered by the Discord (however it doesn't block Sentry nor Google Analytics, also loads external fonts as WebCord blocks loading fonts from web in general).

Not able to use mic.

cant grant permission to allow it to use my microphone, making it impossible to talk.
there may be a way to bypass this but im not sure.

JSON config syntax errors.

webcord
A JavaScript error occurred in the main process
Uncaught Exception:
SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Object.read (/usr/lib/webcord/resources/app.asar/node_modules/electron-json-config/src/utils.ts:15:17)
    at Object.factory (/usr/lib/webcord/resources/app.asar/node_modules/electron-json-config/src/factory.ts:21:34)
    at Object.<anonymous> (/usr/lib/webcord/resources/app.asar/src/ts/object.ts:20:27)
    at Module._compile (internal/modules/cjs/loader.js:1078:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1108:10)
    at Module.load (internal/modules/cjs/loader.js:935:32)
    at Module._load (internal/modules/cjs/loader.js:776:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12684)
    at Module.require (internal/modules/cjs/loader.js:959:19)

Describe the bug
The application fails to launch and shows this error.
Libraries were updated on ubuntu bionic from version 15.12.0 to version 15.14.0 where the crash occurs

I have two installs with the only package differences being the listed packages below
the install with the older packages works fine, the install with the newer package versions crashes webcord

apt/bionic-updates 1.6.13 arm64 [upgradable from: 1.6.12ubuntu0.2]
apt-transport-https/bionic-updates 1.6.13 all [upgradable from: 1.6.12ubuntu0.2]
apt-utils/bionic-updates 1.6.13 arm64 [upgradable from: 1.6.12ubuntu0.2]
code/stable 1.55.2-1618306574 arm64 [upgradable from: 1.54.3-1615805708]
gir1.2-javascriptcoregtk-4.0/bionic-updates,bionic-security 2.30.6-0ubuntu0.18.04.1 arm64 [upgradable from: 2.30.5-0ubuntu0.18.04.1]
gir1.2-webkit2-4.0/bionic-updates,bionic-security 2.30.6-0ubuntu0.18.04.1 arm64 [upgradable from: 2.30.5-0ubuntu0.18.04.1]
gnome-shell/bionic-updates 3.28.4-0ubuntu18.04.7 arm64 [upgradable from: 3.28.4-0ubuntu18.04.3]
gnome-shell-common/bionic-updates 3.28.4-0ubuntu18.04.7 all [upgradable from: 3.28.4-0ubuntu18.04.3]
libapt-inst2.0/bionic-updates 1.6.13 arm64 [upgradable from: 1.6.12ubuntu0.2]
libapt-pkg5.0/bionic-updates 1.6.13 arm64 [upgradable from: 1.6.12ubuntu0.2]
libcurl3-gnutls/bionic-updates,bionic-security 7.58.0-2ubuntu3.13 arm64 [upgradable from: 7.58.0-2ubuntu3.12]
libhogweed4/bionic-updates,bionic-security 3.4-1ubuntu0.1 arm64 [upgradable from: 3.4-1]
libjavascriptcoregtk-4.0-18/bionic-updates,bionic-security 2.30.6-0ubuntu0.18.04.1 arm64 [upgradable from: 2.30.5-0ubuntu0.18.04.1]
libnettle6/bionic-updates,bionic-security 3.4-1ubuntu0.1 arm64 [upgradable from: 3.4-1]
libnss-myhostname/bionic-updates 237-3ubuntu10.46 arm64 [upgradable from: 237-3ubuntu10.45]
libnss-systemd/bionic-updates 237-3ubuntu10.46 arm64 [upgradable from: 237-3ubuntu10.45]
libopenexr22/bionic-updates,bionic-security 2.2.0-11.1ubuntu1.6 arm64 [upgradable from: 2.2.0-11.1ubuntu1.4]
libpam-systemd/bionic-updates 237-3ubuntu10.46 arm64 [upgradable from: 237-3ubuntu10.45]
libseccomp2/bionic-updates 2.5.1-1ubuntu1~18.04.1 arm64 [upgradable from: 2.4.3-1ubuntu3.18.04.3]
libsystemd-dev/bionic-updates 237-3ubuntu10.46 arm64 [upgradable from: 237-3ubuntu10.45]
libsystemd0/bionic-updates 237-3ubuntu10.46 arm64 [upgradable from: 237-3ubuntu10.45]
libudev-dev/bionic-updates 237-3ubuntu10.46 arm64 [upgradable from: 237-3ubuntu10.45]
libudev1/bionic-updates 237-3ubuntu10.46 arm64 [upgradable from: 237-3ubuntu10.45]
libwebkit2gtk-4.0-37/bionic-updates,bionic-security 2.30.6-0ubuntu0.18.04.1 arm64 [upgradable from: 2.30.5-0ubuntu0.18.04.1]
linux-firmware/bionic-updates 1.173.20 all [upgradable from: 1.173.19]
linux-libc-dev/bionic-updates,bionic-security 4.15.0-142.146 arm64 [upgradable from: 4.15.0-140.144]
moonlight-qt/bionic 3.1.1-1 arm64 [upgradable from: 3.1.0-1]
nodejs/unknown 15.14.0-1nodesource1 arm64 [upgradable from: 15.12.0-1nodesource1]
python3-lxml/bionic-updates,bionic-security 4.2.1-1ubuntu0.4 arm64 [upgradable from: 4.2.1-1ubuntu0.3]
switch-dock-handler/unknown 1.5-1 all [upgradable from: 1.3-0ubuntu1]
systemd/bionic-updates 237-3ubuntu10.46 arm64 [upgradable from: 237-3ubuntu10.45]
systemd-sysv/bionic-updates 237-3ubuntu10.46 arm64 [upgradable from: 237-3ubuntu10.45]
ubuntu-keyring/bionic-updates 2018.09.18.1~18.04.2 all [upgradable from: 2018.09.18.1~18.04.0]
udev/bionic-updates 237-3ubuntu10.46 arm64 [upgradable from: 237-3ubuntu10.45]
xserver-common/bionic-updates,bionic-security 2:1.19.6-1ubuntu4.9 all [upgradable from: 2:1.19.6-1ubuntu4.8]
xserver-xephyr/bionic-updates,bionic-security 2:1.19.6-1ubuntu4.9 arm64 [upgradable from: 2:1.19.6-1ubuntu4.8]
xserver-xorg-core/bionic-updates,bionic-security 2:1.19.6-1ubuntu4.9 arm64 [upgradable from: 2:1.19.6-1ubuntu4.8]
xserver-xorg-dev/bionic-updates,bionic-security 2:1.19.6-1ubuntu4.9 arm64 [upgradable from: 2:1.19.6-1ubuntu4.8]
xserver-xorg-legacy/bionic-updates,bionic-security 2:1.19.6-1ubuntu4.9 arm64 [upgradable from: 2:1.19.6-1ubuntu4.8]
xwayland/bionic-updates,bionic-security 2:1.19.6-1ubuntu4.9 arm64 [upgradable from: 2:1.19.6-1ubuntu4.8]

Desktop (please complete the following information):

  • Platform: Linux Ubuntu Bionic
  • Architecture: aarch64
  • Application version: all tested release versions

Let me know if I can help or provide any more information

PKGBUILD errors

[itai@ManjaroPi4 linux]$ makepkg -s
==> Making package: webcord-git v1.1.0_pre1.r67.cbfb1a7-1 (Fri 16 Apr 2021 05:37:48 PM IDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning webcord git repo...
Cloning into bare repository '/home/itai/Downloads/electron-discord-webapp/build/linux/webcord'...
Username for 'https://github.com': ^C
==> ERROR: Aborted by user! Exiting...

[itai@ManjaroPi4 linux]$ 

I fixed it by replacing

source=("${pkgname%-git}::git+https://github.com/${_author}/${_repo}.git"

with

source=("${pkgname%-git}::git+https://github.com/SpacingBat3/electron-discord-webapp.git"

but now I get this error:

  -> Found webcord.desktop
==> ERROR: Integrity checks (md5) differ in size from the source array.
[itai@ManjaroPi4 linux]$ 

I'm guessing it should skip checking the md5sums because of this line: md5sums=('SKIP')

Context Menus Don't Work

All the context menus are the default OS context menus, instead of the Copy ID, Invite to Server, Copy Image, etc of the normal client

This app is support RPC?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Autoscrolling for Linux

Is your feature request related to a problem? Please describe.
Coming from Windows (where this is a default feature in most places with a scroll bar), it frustrates me not having this feature on Linux. Autoscrolling helps a lot when scrolling up a long distance. Electron apps have an unusually slow scrolling speed too (which makes it even more frustrating), unlike Firefox.

Describe the solution you'd like
An option to enable autoscrolling (like in Firefox).

Describe alternatives you've considered
I do not really know of any other alternatives. I could just somehow make the scrolling faster, but I do not think that would be good as autoscrolling and it would effect all apps (including ones without the issue of slow scrolling speed, which would make the scroll wheel too fast).

Tray icon tootip is wrong (kde plasma, built with PKGBUILD)

Environment

  • Platform: Manjaro arm kde plasma
  • Architecture:arm64
  • Electron version: v12.0.7
  • Application version: v1.4.1

Describe the bug

The tooltip of the tray icon says 'electron', I'm not sure if this is a issue with the app or my system.

Screenshots

bug

Option to disable check for new version

Is your feature request related to a problem? Please describe.
No problems with the functionality at all.

Describe the solution you'd like
It would be nice if there is a toggle in the settings to disable the check for a new version or to disable/suppress the corresponding notification.

Describe alternatives you've considered
None, since the version check is not configurable.

AppImage releases won't run.

Describe the bug
the app doesn't start at all.

To Reproduce
Steps to reproduce the behavior:

  1. Download the latest arm64 release (1.1.1) as of now.
  2. try to run it
  3. See error.

Desktop (please complete the following information):

  • Platform: Manjaro ARM KDE plasma
  • Architecture: arm64/aarch64
  • Electron version: of what? how do I get it?
  • Application version: v1.1.1

Additional context
when running from terminal, I get this error:

[itai@manjaro-pi4 Downloads]$ ./electron-discord-webapp-1.1.1-arm64.AppImage 
fuse: device not found, try 'modprobe fuse' first

Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option. 
See https://github.com/AppImage/AppImageKit/wiki/FUSE 
for more information
open dir error: No such file or directory
[itai@manjaro-pi4 Downloads]$ 

I tried using the --extract-and-run option, and I get this error:

[itai@manjaro-pi4 Downloads]$ ./electron-discord-webapp-1.1.1-arm64.AppImage 
fuse: device not found, try 'modprobe fuse' first

Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option. 
See https://github.com/AppImage/AppImageKit/wiki/FUSE 
for more information
open dir error: No such file or directory
[itai@manjaro-pi4 Downloads]$ 

the sha256sum if it helps: f603ff34ed0309f5e75859c602a58bfc349058ef46041ecfa36ad209a6cbff58 electron-discord-webapp-1.1.1-arm64.AppImage

Ability to copy images/image link addresses

Is your feature request related to a problem? Please describe.
On the website and desktop app (not sure about this one), you can right-click an image to copy it, or its link address to the clipboard.

Describe the solution you'd like
An extra option to copy an image or its URL when right-clicking an image.

Describe alternatives you've considered
I mean I could click open original and then copy the link, but chromium takes a while to start if I have it closed just for me to copy an image or dank meme πŸ˜‰.

Additional context
This is what shows right now when I right-click an image.
image png

Please package for PostmarketOS

Is your feature request related to a problem? Please describe.
I'd really like to be able to use Discord on my Pinephone, but the only OS that works well for me is PostmarketOS with SXMO.

Describe the solution you'd like
Please make an APK package for Alpine aarch64, it would allow PostmarketOS and Alpine users to install on aarch64 devices.

Describe alternatives you've considered
I've considered packaging it myself, but I'm having trouble understanding how, both how to package an Electron app, and how to crosscompile for PostmarketOS.

wrong icon when building on MacOS

I built the app on MacOS (for fun, I don't really need it so it doesn't really matter if its fixed or not) with

npm i && npm run make

that resulted with a zip with the .app inside as it should, but the .app's icon is the electron icon, not the discord one:
Screen Shot 2021-02-15 at 5 49 48 PM

Audio not working

Aknowledgements

  • I have checked that there's no other issue describing the same or
    similar problem that I currently have, regardless if it has been
    closed or open.

  • I can confirm that this is not an issue with the Discord website,
    but it is a problem specific to the WebCord itself.

  • I have tried running the build from the master branch and it does
    not have any fixes implemented according to my issue.

  • My issue describes one of the unstable and/or not fully implemented
    features.

  • I have found a workaround to mitigate or temporarily fix this issue
    (please write it in Additional context section).

Operating System / Platform

πŸͺŸοΈ Windows

Operating system architecture

x64 (64-bit Intel/AMD)

Electron version

15.3.1

Application version

2.1.0

Bug description

Whenever i try to open up my mic it just says this
image
normal browser works just fine though

Additional context

No response

Deprecated `tsc` package alongside `typescript` in `package.json`

I'm sure this is an npm 101 kind of problem.
I can't seem to compile and always run into uknown compiler option errors

npm i && npm start

up to date, audited 778 packages in 6s

93 packages are looking for funding
  run `npm fund` for details

19 low severity vulnerabilities

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

> [email protected] start
> tsc && electron-forge start

error TS5023: Unknown compiler option 'allowJs'.
error TS5023: Unknown compiler option 'baseUrl'.
error TS5023: Unknown compiler option 'moduleResolution'.
error TS5023: Unknown compiler option 'pretty'.
error TS5023: Unknown compiler option 'paths'.

0.2.0-rc1-arm64 Error: Cannot find module 'electron-json-config'

If user error let me know just trying RC earlier version works fine and I can go back.
2020-11-08 17-05-40

Ubuntu Mate 20.10

ubuntu@ubuntu-desktop:~$ /usr/share/electron-discord-webapp-0.2.0-rc1-arm64/electron-discord-webapp
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'electron-json-config'
Require stack:

  • /usr/share/electron-discord-webapp-0.2.0-rc1-arm64/resources/app.asar/js/main.js
  • at Module._resolveFilename (internal/modules/cjs/loader.js:961:15)
    at Function.o._resolveFilename (electron/js2c/browser_init.js:257:921)
    at Module._load (internal/modules/cjs/loader.js:844:27)
    at Function.Module._load (electron/js2c/asar.js:769:28)
    at Module.require (internal/modules/cjs/loader.js:1023:19)
    at new require (internal/modules/cjs/helpers.js:77:18)
    at Object. (/usr/share/electron-discord-webapp-0.2.0-rc1-arm64/resources/app.asar/js/main.js:6:19)
    at Module._compile (internal/modules/cjs/loader.js:1145:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1166:10)
    at Module.load (internal/modules/cjs/loader.js:981:32)
    ^Z
    [1]+ Stopped /usr/share/electron-discord-webapp-0.2.0-rc1-arm64/electron-discord-webapp
    ubuntu@ubuntu-desktop:~$

fails to start, built with PKGBUILD

webcord wasn't starting, so I tried from terminal and this is what I got:

[itai@ManjaroPi4 linux]$ webcord
Error launching app
Unable to find Electron app at /usr/lib/webcord.asar

Cannot find module '/usr/lib/webcord.asar/src/js/main.js'. Please verify that the package.json has a valid "main" entry
[itai@ManjaroPi4 linux]$ 

I built it with the PKGBUILD.

Build fail

Failed to build Webcord-git

Manjaro Arm 64

Preparing...
Checking webcord-git dependencies...
Resolving dependencies...
Checking inter-conflicts...
Cloning webcord-git build files...

Building webcord-git...
==> Making package: webcord-git 1.4.2.r7.9cf51d0-2 (Thu 08 Jul 2021 18:09:55)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning webcord git repo...
Cloning into bare repository '/var/tmp/pamac-build-corey/webcord-git/webcord'...
  -> Found webcord.desktop
==> Validating source files with md5sums...
    webcord ... Skipped
    webcord.desktop ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of webcord git repo...
Cloning into 'webcord'...
done.
==> Starting pkgver()...
==> Updated version: webcord-git 1.5.0.r1.e914698-1
==> Starting build()...
(1/6) Installing dependencies...
npm WARN idealTree Removing devDependencies.@types/source-map-support in favor of dependencies.@types/source-map-support
npm WARN idealTree Removing devDependencies.electron in favor of dependencies.electron

added 98 packages, and audited 99 packages in 2m

6 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm notice 
npm notice New minor version of npm available! 7.17.0 -> 7.19.1
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.19.1>
npm notice Run `npm install -g [email protected]` to update!
npm notice 
(2/6) Clean-up workspace...
(3/6) Compiling TypeScript to Javascript...
src/ts/main.ts(49,45): error TS2345: Argument of type '{ recursive: boolean; }' is not assignable to parameter of type 'RmDirOptions'.
  Object literal may only specify known properties, and 'recursive' does not exist in type 'RmDirOptions'.
Failed to compile TypeScript sources to JavaScript
Failed to build webcord-git

build fails

Environment

  • Platform: PinePhone Manjaro Linux
  • Architecture: aarch64
  • Electron version: 13.1.0
  • Application version: latest

Describe the bug

makepkg -si fails

Screenshots

$ makepkg -si
==> Making package: webcord-git 1.4.2.r3.6774b6e-1 (Thu Jun  3 18:07:23 2021)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating webcord git repo...
Fetching origin
  -> Found webcord.desktop
==> Validating source files with md5sums...
    webcord ... Skipped
    webcord.desktop ... Passed
==> Extracting sources...
  -> Creating working copy of webcord git repo...
Reset branch 'makepkg'
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
(1/6) Installing dependencies...

up to date, audited 98 packages in 17s

6 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
(2/6) Compiling TypeScript to Javascript...
src/ts/main.ts:220:13 - error TS2531: Object is possibly 'null'.

220         if (webContents.getURL().includes(appInfo.rootURL)) {
                ~~~~~~~~~~~

src/ts/main.ts:223:127 - error TS2531: Object is possibly 'null'.

223             console.warn(`[${l10nStrings.dialog.warning.toLocaleUpperCase()}] ${l10nStrings.dialog.permission.check.denied}`, webContents.getURL(), permission);
                                                                                                                                  ~~~~~~~~~~~


Found 2 errors.

Failed to compile TypeScript sources to JavaScript

Captcha doesn't show up.

Describe the bug
The hCaptcha that you have to complete after filling in your login credentials is not there

Screenshot
2021-03-26-202500_1280x720_scrot

Desktop (please complete the following information):

  • Platform: Raspbian
  • Architecture: arm32
  • Electron version: v12.0.1
  • Application version: 1.2.1

Additional context
I installed it via Pi-Apps

Cannot find module 'electron-json-config'

I'm trying to run 2.0-rc1 on my retro Pi (which is a raspbian under the hood, I think). Version 1.5 segfaults when I try to start it…

Starting 2.0-rc1 gives me this error:

A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'electron-json-config'
Require stack:
- /home/tinloaf/discord/electron-discord-webapp-0.2.0-rc1-armv7l/resources/app.asar/js/main.js
-
    at Module._resolveFilename (internal/modules/cjs/loader.js:961:15)
    at Function.o._resolveFilename (electron/js2c/browser_init.js:257:921)
    at Module._load (internal/modules/cjs/loader.js:844:27)
    at Function.Module._load (electron/js2c/asar.js:769:28)
    at Module.require (internal/modules/cjs/loader.js:1023:19)
    at new require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (/home/tinloaf/discord/electron-discord-webapp-0.2.0-rc1-armv7l/resources/app.asar/js/main.js:6:19)
    at Module._compile (internal/modules/cjs/loader.js:1145:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1166:10)
    at Module.load (internal/modules/cjs/loader.js:981:32)
Segmentation fault

I'm really not a JavaScript / Node.js / Electron guy, but that looks like something that should be packaged is not packaged?

User stream watching - audio source separation / stream window creation doesn't work

Environment

  • Platform:linux Manjaro
  • Architecture: x86_64
  • Electron version: 15.2
  • Application version: 2.0.0-beta3, AUR build
  • Audio backend - pipewire

Describe the bug

  1. When you watching stream from another user, app doesn't separate audio sources like in vanilla app, and manipulations with in-app stream audio slider doesn't make effect.

  2. When you pick option "open stream in another window", app try redirect and open source in system browser on page https://discord.com/popout, but stream doesn't opens

To Reproduce

Steps to reproduce the behavior:

  1. Go to 'voice channel'
  2. Click on 'watch stream'
  3. Make actions from description
  4. See error.

Workarounds

As i understand, this electron app works something like Chrome webwiew. Not sure about workaround with sound sources separation, but in case with stream window, you can try create function-wrapper for button new child window https://www.electronjs.org/docs/latest/api/browser-window

Pi-Apps badge

Would you consider adding this little badge to your README?

[![badge](https://github.com/Botspot/pi-apps/blob/master/icons/badge.png?raw=true)](https://github.com/Botspot/pi-apps)

badge

'update available' notification bug

I just updated to v1.2.0 and when starting the app I got this notification:
image
note the version I'm using right now is 1.2.0 (latest as of writing) and that the version it thinks is newer is vv1.2.0 (note the 2 v's).

Error ts to js compilling

I tried build from AUR on manjaro

sources/code/main/nativeMenus.ts:115:22 - error TS2749: 'nativeImage' refers to a value, but is being used as a type here. Did you mean 'typeof nativeImage'?
115 let image: string | nativeImage;

Things not working

Environment

  • Platform: Windows x64
  • Application version: 1.4.1

Describe the bug

Things I have found not working:
Desktop Notifications (including sounds)
Right-click menu on messages
Media playback of embedded youtube videos, discord videos, embedded discord music
Embedded spotify players are not loading

To Reproduce

Steps to reproduce the behavior:
Notification sounds can be tested in Settings -> Notifications -> Click the little speaker symbol when hovering over SOUNDS>Messages
Right click message context menu can be tested by right clicking any message in a chat
Youtube videos can be tested by pasting a youtube link in the chat and trying to play them back; Discord videos can be tested by uploading a video into a chat and trying to play it; Music can be tested by uploading it into the chat and trying to play it back;
Spotify player embedding can be tested by pasting a spotify link into the chat

Expected behavior

Desktop notifications have to trigger a sound, if active and also give a windows desktop notification over the "Windows Desktop Notification API"
Messages have to open a right click menu when clicked with right mouse button, allowing rich&quick interaction as with the official desktop client
Media should play when clicked and embedded players have to load

Additional context

I have tried both enabling and disabling 3rd party in File>Third Party>Content Security Policy and restarting the client with the same result.

Unable to open webcord on MacOS

Aknowledgements

  • There's no other issue describing the same problem, regardless of its current state (i.e. including both closed and open issues or flagged as fixed).*
  • There's no fix for my issue released to master branch.
  • This bug has known workaround (write it below).

Environment

  • Platform: macOS Big Sur 11.6
  • Architecture: arm64
  • Application version: 1.6.1

Describe the bug

The app cannot launch

To Reproduce

Steps to reproduce the behavior:

  1. Download webcord Darwin for arm64
  2. Launch application after unzipping and putting into application folder

Expected behavior

Expect app to launch, presented with an app cannot launch error

Screenshots

image

Additional context

Problem related to macOS app signing

Workarounds

Run this command in terminal:
xattr -cr /Applications/WebCord.app

Login and Captcha error

Environment

  • Platform: Raspberry Pi OS 32-bit
  • Architecture: armv7l
  • Electron version: 12.0.9
  • Application version: v1.4.2

Describe the bug

Login error : After entering my credentials it asks for captcha but it flashes for few seconds and the a white window.

To Reproduce

Steps to reproduce the behavior: (After entering E-mail ID and Password)

  1. Go to 'Login'
  2. Click on 'The white checkbox'
  3. wait for a few seconds
  4. See error.

Expected behavior

It should allow me to fill the captcha and use webcord

Screenshots

2021-06-12_11-14

2021-06-12_11-15
issue

Additional context

downloaded using Pi-Apps

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.