mirror of
https://github.com/getpaseo/paseo.git
synced 2026-07-29 12:01:31 +00:00
* fix(desktop): disable auto-install on quit for AppImage only
electron-updater's AppImageUpdater.doInstall() uses execFileSync with APPIMAGE_EXIT_AFTER_INSTALL when autoInstallOnAppQuit is true. For AppImages, this blocks the old process indefinitely because the new process has no installer step to exit from — the mv already completed the install.
Scoped to AppImage only (process.platform === 'linux' && process.env.APPIMAGE). .deb/.rpm/Windows/macOS keep auto-install-on-quit working as before.
* fix(desktop): keep AppImage filename stable across updates
electron-updater renames a versioned AppImage to a new path on update and
unlinks the old one. That orphaned the previous binary, broke desktop
shortcuts, and dangled the ~/.local/bin/paseo CLI symlink, which points at
$APPIMAGE. Dropping ${version} from the AppImage artifactName makes the
updater overwrite the file in place instead; deb/rpm keep versioned names.
Also documents why AppImage must not auto-install on quit (the blocking
execFileSync gated on APPIMAGE_EXIT_AFTER_INSTALL, honored only by
AppImageLauncher) and extracts that gate into a unit-tested helper.
---------
Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
81 lines
2.0 KiB
YAML
81 lines
2.0 KiB
YAML
npmRebuild: false
|
|
appId: sh.paseo.desktop
|
|
productName: Paseo
|
|
executableName: Paseo
|
|
afterPack: ./scripts/after-pack.js
|
|
afterSign: ./scripts/after-sign.js
|
|
directories:
|
|
output: release
|
|
files:
|
|
- dist/**/*
|
|
- "!**/*.map"
|
|
- "!node_modules/@getpaseo/*/src/**"
|
|
- "!node_modules/@getpaseo/**/*.test.*"
|
|
- "!node_modules/@getpaseo/**/*.spec.*"
|
|
asarUnpack:
|
|
- dist/daemon/node-entrypoint-runner.js
|
|
- node_modules/@getpaseo/server/dist/server/terminal/shell-integration/**/*
|
|
extraResources:
|
|
- from: ../app/dist
|
|
to: app-dist
|
|
- from: ../../skills
|
|
to: skills
|
|
publish:
|
|
provider: github
|
|
owner: getpaseo
|
|
repo: paseo
|
|
mac:
|
|
artifactName: "Paseo-${version}-${arch}.${ext}"
|
|
category: public.app-category.developer-tools
|
|
icon: assets/icon.icns
|
|
hardenedRuntime: true
|
|
notarize: true
|
|
entitlements: build/entitlements.mac.plist
|
|
entitlementsInherit: build/entitlements.mac.inherit.plist
|
|
extraResources:
|
|
- from: bin/paseo
|
|
to: bin/paseo
|
|
target:
|
|
- dmg
|
|
- zip
|
|
linux:
|
|
category: Development
|
|
icon: assets
|
|
artifactName: "Paseo-${version}-${arch}.${ext}"
|
|
maintainer: "Mohamed Boudra <hello@moboudra.com>"
|
|
vendor: "Paseo"
|
|
extraResources:
|
|
- from: bin/paseo
|
|
to: bin/paseo
|
|
target:
|
|
- AppImage
|
|
- deb
|
|
- rpm
|
|
- tar.gz
|
|
appImage:
|
|
# Keep the AppImage filename stable across versions (no ${version}) so
|
|
# electron-updater overwrites the file in place instead of renaming it to a new
|
|
# versioned path. A rename orphans the old binary, breaks desktop shortcuts, and
|
|
# dangles the ~/.local/bin/paseo CLI symlink, which points at $APPIMAGE. The
|
|
# version stays discoverable via the release tag and the in-app version.
|
|
artifactName: "Paseo-${arch}.${ext}"
|
|
win:
|
|
artifactName: "Paseo-Setup-${version}-${arch}.${ext}"
|
|
icon: assets/icon.ico
|
|
extraResources:
|
|
- from: bin/paseo.cmd
|
|
to: bin/paseo.cmd
|
|
target:
|
|
- target: nsis
|
|
arch:
|
|
- x64
|
|
- arm64
|
|
- target: zip
|
|
arch:
|
|
- x64
|
|
- arm64
|
|
nsis:
|
|
oneClick: false
|
|
perMachine: false
|
|
allowToChangeInstallationDirectory: true
|