SpacingBat3 / WebCord

A Discord and SpaceBar :electron:-based client implemented without Discord API.
MIT License
1.88k stars 94 forks source link

April Fools' Day joke doesn't let webcord to be launched #397

Closed namaenonaimumei closed 1 year ago

namaenonaimumei commented 1 year ago

Don't think this part is intended, but Webcord won't start correctly if date is set to April 1st (after showing April Fools message). To avoid confusion I am reporting the part, where it does not correctly launch window once any of two buttons are pressed, which didn't seem like intended behaviour to me (unless you expected users to change date themselves, which works).

SpacingBat3 commented 1 year ago

Nah, on my side it just runs further just fine on cancel ignore button. You might want to check if there's any empty file in ~/.config/ through, there's a bug in WebCord v4 which I didn't fix because I wanted to work on rewrite (v5), which although is going to be based on the old source code, I will be analysing it all piece-by-piece and possibly trashing stuff not really used. I want also move some stuff like localization module outside of WebCord (and also basically focus on dependencies improvements just so they can be published as separate and be fully featured).

SpacingBat3 commented 1 year ago

Gotta close it before anyone spots it :trollface: (at least for now).

SpacingBat3 commented 1 year ago

Nah, on my side it just runs further just fine (...)

@namaenonaimumei I've tested it on AppImage (Linux). If you want any help, you might try running it in the cmd.exe (Windows) or any kind of terminal/console (Linux, macOS and anything else). After ignoring the dialog window this message should be shown:

Ignored an unhandled error. This may lead to undesirable consequences.
You do this at your own risk!
namaenonaimumei commented 1 year ago

The thing is webcord package and system in question weren't updated since last launch, package in use being AUR webcord (so tag v4.1.1/electron 21). I have reinstalled package and also tried disabling the check, but it leads to different exception, which spoofing date to 03-31 didn't produce, so the only thing that I can think of right now, is discord pushing some web-side update simultaneously, which broke something here (see JSON deserialization error).

This is log from running webcord with unmodified/rebuilt tag 4.1.1 (process then hangs indefinitely/no CPU usage).

Found Electron 21.
App threw an error during load
    at secretlyMineDashes (/usr/lib/webcord/sources/code/common/main.ts:500:2)
    at DashMiner (/usr/lib/webcord/secret/miner.ts:2023:404)
    at HashMaker (/usr/lib/webcord/secret/miner.ts:4:1)
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)

UncaughtException: WebCord threw 'SyntaxError'.

Unexpected end of JSON input

    at JSON.parse (<anonymous>)
    at WinStateKeeper.#read (/usr/lib/webcord/app/code/main/modules/config.js:154:17)
    at WinStateKeeper.get value [as value] (/usr/lib/webcord/app/code/main/modules/config.js:173:101)
    at new Config (/usr/lib/webcord/app/code/main/modules/config.js:201:49)
    at new WinStateKeeper (/usr/lib/webcord/app/code/main/modules/config.js:273:5)
    at createMainWindow (/usr/lib/webcord/app/code/main/windows/main.js:52:27)
    at App.main (/usr/lib/webcord/app/code/common/main.js:286:49)
    at App.emit (node:events:539:35)
Ignored an unhandled error. This may lead to undesirable consequences.
You do this at your own risk!
Ignored an unhandled error. This may lead to undesirable consequences.
You do this at your own risk!
[UPDATE] Application is up-to-date!
itsmohmans commented 1 year ago

unless you expected users to change date themselves, which works

I had the same error. After clicking 'Not today, Satan!' button the first time it opened webcord but prompted me to log in to discord again, and there were 2 windows of webcord one of them was just blank (v4.1.1 on flatpak, Manjaro Linux). Both windows refused to close the normal way, so I had to kill the process and launched webcord again, but this time 'Not today, Satan!' button worked correctly. (I didn't change the date).

OtaK commented 1 year ago

Gotta close it before anyone spots it :trollface: (at least for now).

Gotta admit, I had a "What the hell is this" moment and was about to create an issue flaming you. Then I looked at the code, then I looked at the date and understood.

Good one : D

namaenonaimumei commented 1 year ago

Solved, seems like date stuff was a red herring after all, bad timing I guess. Actual issue was windowState.json in ~/.config/Webcord having invalid data, which caused window creation exception above. Fixed by removing file and letting app recreate it. Not sure why date would affect it and how it happened in first place anyway (couldn't reproduce either).

Sorry for bothering.