replugged-org / replugged

A lightweight Discord client mod focused on simplicity and performance.
https://replugged.dev/
MIT License
657 stars 64 forks source link

[Linux - Arch] Leftover files if discord is uninstalled before unplugging #518

Open SomeAspy opened 1 year ago

SomeAspy commented 1 year ago

Describe the bug

Not looking for a fix at the moment, this issue is more to just have this issue on record.

if discord is removed via the package manager before unplugging, 2 files will be left behind. /opt/discord-[development/canary/ptb]/ |- app.asar |- app.orig.asar

A quick patch would be to add some sort of pnpm run cleanup to remove leftover files, as this can prevent discord from reinstalling cleanly, ex:

errors occurred, no packages were upgraded.
error: failed to commit transaction (conflicting files)
discord-development: /opt/discord-development/resources/app.asar exists in filesystem
Errors occurred, no packages were upgraded.
 -> error installing: [discord-*version*.tar.zst] - exit status 1

Reproduction steps

  1. Remove discord (do not unplug prior)
  2. Remnants at `/opt/discord-[edition]

Expected behavior

There should be no remnants, or at the minimum, no conflicting files

Actual behavior

conflicting files are left behind

Additional information

No response

Please confirm the following

EastArctica commented 1 year ago

Because this is linux, it may be installed to /opt/share/discord-[development-canary-ptb].

On Manjaro it was there when installed from the aur at least :shrug:

j4k0xb commented 9 months ago

I would rather avoid leftover files in the first place by only editing the app.asar file and not creating app.orig.asar

{
  "name": "discord",
  "description": "Discord Client for Desktop - Bootstrapper",
- "main": "app_bootstrap/index.js",
+ "main": "loader.js" 

which loads both replugged and the original main:

require("path/to/replugged/entrypoint");
require("./app_bootstrap/index.js");

This would also fix the upgrading issue:

# pacman -S discord resolving dependencies... looking for conflicting packages...

Packages (1) discord-0.0.43-1

Total Installed Size: 221,35 MiB Net Upgrade Size: 0,00 MiB

:: Proceed with installation? [Y/n] y (1/1) checking keys in keyring [################################################] 100% (1/1) checking package integrity [################################################] 100% (1/1) loading package files [################################################] 100% (1/1) checking for file conflicts [################################################] 100% (1/1) checking available disk space [################################################] 100% :: Processing package changes... (1/1) reinstalling discord [################################################] 100% error: extract: not overwriting dir with file /opt/discord/resources/app.asar error: problem occurred while upgrading discord error: could not commit transaction error: failed to commit transaction (transaction aborted) Errors occurred, no packages were upgraded.