fix: restore Linux executableName -- productFilename broke it #6

Merged
mohlec merged 1 commit from fix/afterpack-linux-regression into slash/main 2026-07-13 21:21:37 +00:00
Owner

PR #5 fixed Windows (confirmed: real Slash.exe produced) but broke Linux in the same stroke -- unifying onto appInfo.productFilename works for win32/darwin but Linux's real unpacked binary is lowercase ("slash"), not "Slash".

Confirmed against electron-builder's own source (platformPackager.js, getElectronDestinationPath): it uses packager.executableName for LinuxPackager instances specifically, appInfo.productFilename for everything else. Restored that exact split instead of a one-size-fits-all property.

PR #5 fixed Windows (confirmed: real Slash.exe produced) but broke Linux in the same stroke -- unifying onto appInfo.productFilename works for win32/darwin but Linux's real unpacked binary is lowercase ("slash"), not "Slash". Confirmed against electron-builder's own source (platformPackager.js, getElectronDestinationPath): it uses packager.executableName for LinuxPackager instances specifically, appInfo.productFilename for everything else. Restored that exact split instead of a one-size-fits-all property.
fix: restore Linux's executableName -- productFilename broke it
All checks were successful
Build Slash Desktop / build-macos (pull_request) Has been skipped
Build Slash Desktop / build-windows (pull_request) Successful in 2m1s
Build Slash Desktop / build-linux (pull_request) Successful in 6m8s
5096b25985
PR #5 unified all three platforms onto packager.appInfo.productFilename
to fix Windows, but that broke Linux in the same stroke: build-linux
started failing with ENOENT open .../linux-unpacked/Slash (capital S)
because the real unpacked binary is named "slash" (lowercase).

Confirmed against electron-builder's own source
(app-builder-lib/out/platformPackager.js, getElectronDestinationPath):
  const executableName = this instanceof LinuxPackager
      ? this.executableName
      : this.appInfo.productFilename;

Linux and every other platform genuinely resolve to different values
here -- LinuxPackager sets executableName to the lowercased sanitized
name internally; appInfo.productFilename is the differently-cased
sanitized productName. Restored the split to match electron-builder's
own logic exactly instead of guessing at a one-property-fits-all fix.

Verified this session: build-windows produced a real Slash.exe on the
PR #5 commit before this Linux regression was noticed.
mohlec merged commit f6ff9247e4 into slash/main 2026-07-13 21:21:37 +00:00
mohlec deleted branch fix/afterpack-linux-regression 2026-07-13 21:21:38 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
slash/slash-desktop!6
No description provided.