Discord Canary and OpenASAR not working together

So, I’m running NixOS Unstable, and I just updated my system for the first time in about a month. Now, it seems that Discord won’t work for me. I have Discord installed via HomeManager like this:

home.packages = with pkgs; [
  (discord-canary.override {
    withOpenASAR = true;
  })
]

When I try to run discord via the command line with the executable discordcanary I get the following error message:

LATITUDE-NIXOS ~ » discordcanary
[Nix] Disabling updates already done
[OpenAsar > Init] OpenAsar 0-unstable-2024-09-06
[OpenAsar > Settings] /home/sophia/.config/discordcanary/settings.json {
  SKIP_HOST_UPDATE: true,
  openasar: { setup: true, quickstart: true, themeSync: false },
  chromiumSwitches: {},
  IS_MAXIMIZED: false,
  IS_MINIMIZED: false,
  WINDOW_BOUNDS: { x: 3, y: 37, width: 1920, height: 1046 },
  trayBalloonShown: true,
  MINIMIZE_TO_TRAY: false,
  OPEN_ON_STARTUP: false
}
[OpenAsar > BuildInfo] { releaseChannel: 'canary', version: '0.0.508' }
[OpenAsar > Modules] Checking
Error: Cannot find module 'discord_desktop_core'
Require stack:
- /nix/store/ragzxqkdfjnyqly0rrqjfmmz4rzz2w0a-discord-canary-0.0.508/opt/DiscordCanary/resources/app.asar/bootstrap.js
- /nix/store/ragzxqkdfjnyqly0rrqjfmmz4rzz2w0a-discord-canary-0.0.508/opt/DiscordCanary/resources/app.asar/index.js
-
    at Module._resolveFilename (node:internal/modules/cjs/loader:1152:15)
    at s._resolveFilename (node:electron/js2c/browser_init:2:124611)
    at Module._load (node:internal/modules/cjs/loader:993:27)
    at c._load (node:electron/js2c/node_init:2:17025)
    at Module.require (node:internal/modules/cjs/loader:1240:19)
    at require (node:internal/modules/helpers:179:18)
    at startCore (/nix/store/ragzxqkdfjnyqly0rrqjfmmz4rzz2w0a-discord-canary-0.0.508/opt/DiscordCanary/resources/app.asar/bootstrap.js:1:1517)
    at EventEmitter.<anonymous> (/nix/store/ragzxqkdfjnyqly0rrqjfmmz4rzz2w0a-discord-canary-0.0.508/opt/DiscordCanary/resources/app.asar/bootstrap.js:1:2630)
    at Object.onceWrapper (node:events:633:28)
    at EventEmitter.emit (node:events:519:28) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/nix/store/ragzxqkdfjnyqly0rrqjfmmz4rzz2w0a-discord-canary-0.0.508/opt/DiscordCanary/resources/app.asar/bootstrap.js',
    '/nix/store/ragzxqkdfjnyqly0rrqjfmmz4rzz2w0a-discord-canary-0.0.508/opt/DiscordCanary/resources/app.asar/index.js',
    undefined
  ]
} uncaughtException
[OpenAsar > Modules] Update: discord_desktop_core 0 -> 9
[OpenAsar > Modules] Update: discord_utils 0 -> 10
[OpenAsar > Modules] Update: discord_voice 0 -> 11

After looking at the OpenASAR Github Page, I found this post on an issue report which helped me out:

Following this, I then ran Discord as normal, without OpenASAR first, and then the OpenASAR version started working again. To do this, I ran these two commands:

$ export NIXPKGS_ALLOW_UNFREE=1
$ nix run --impure nixpkgs\#discord-canary

It seems like there were some things that Discord Canary does for the first time after being updated to a new version that OpenASAR wasn’t doing. I can now declare this issue solved, and I can now run Discord Canary with OpenASAR as normal.