fix(desktop): restore offline Flatpak builds (#2332)

This commit is contained in:
Hampus
2026-09-01 20:51:18 +02:00
committed by GitHub
parent ebd723679b
commit 37f57bb29f
3 changed files with 178 additions and 522 deletions
+69 -64
View File
@@ -741,7 +741,7 @@ async function verifyPackagedNativeArtifacts(context) {
[
`Missing unpacked native runtime artifact(s) after packaging for ${platform}/${arch}:`,
...missing.map((entry) => ` - ${entry}`),
'Check electron-builder asarUnpack patterns and native package artifact sync.',
'Check electron-builder asar.unpack patterns and native package artifact sync.',
].join('\n'),
);
}
@@ -1316,63 +1316,65 @@ module.exports = {
],
asar: {
smartUnpack: false,
unpack: [
'**/*.node',
'node_modules/@fluxer/win-process-loopback/*.node',
...winGameCaptureTargetArchs.map(
(arch) => `node_modules/@fluxer/win-game-capture/win-game-capture.win32-${arch}-msvc.node`,
),
'node_modules/@fluxer/win-clipboard/*.node',
'node_modules/@fluxer/win-shell/*.node',
'node_modules/@fluxer/win-toast/*.node',
'node_modules/@fluxer/linux-audio-capture/*.node',
'node_modules/@fluxer/linux-portals/*.node',
'node_modules/@fluxer/linux-screen-capture/*.node',
'node_modules/@fluxer/linux-screen-capture/obs-vkcapture/**/*',
'node_modules/@fluxer/linux-notifications/*.node',
'node_modules/@fluxer/linux-evdev/*.node',
'node_modules/@fluxer/system-hunspell/*.node',
'node_modules/@fluxer/macos-input-hook/*.node',
'node_modules/@fluxer/mac-app-audio/*.node',
'node_modules/@fluxer/mac-screen-capture/*.node',
'node_modules/@fluxer/mac-clipboard/*.node',
'node_modules/@fluxer/mac-sysctl/*.node',
'node_modules/@fluxer/mac-tcc/*.node',
'node_modules/@fluxer/windows-input-hook/*.node',
'node_modules/@fluxer/linux-input-hook/*.node',
'node_modules/@fluxer/platform-info/*.node',
'node_modules/@fluxer/webauthn/*.node',
'node_modules/@fluxer/webauthn/*.so*',
'node_modules/.pnpm/@fluxer+win-process-loopback@*/node_modules/@fluxer/win-process-loopback/*.node',
...winGameCaptureTargetArchs.map(
(arch) =>
`node_modules/.pnpm/@fluxer+win-game-capture@*/node_modules/@fluxer/win-game-capture/win-game-capture.win32-${arch}-msvc.node`,
),
'node_modules/.pnpm/@fluxer+win-clipboard@*/node_modules/@fluxer/win-clipboard/*.node',
'node_modules/.pnpm/@fluxer+win-shell@*/node_modules/@fluxer/win-shell/*.node',
'node_modules/.pnpm/@fluxer+win-toast@*/node_modules/@fluxer/win-toast/*.node',
'node_modules/.pnpm/@fluxer+windows-input-hook@*/node_modules/@fluxer/windows-input-hook/*.node',
'node_modules/.pnpm/@fluxer+linux-audio-capture@*/node_modules/@fluxer/linux-audio-capture/*.node',
'node_modules/.pnpm/@fluxer+linux-portals@*/node_modules/@fluxer/linux-portals/*.node',
'node_modules/.pnpm/@fluxer+linux-screen-capture@*/node_modules/@fluxer/linux-screen-capture/*.node',
'node_modules/.pnpm/@fluxer+linux-screen-capture@*/node_modules/@fluxer/linux-screen-capture/obs-vkcapture/**/*',
'node_modules/.pnpm/@fluxer+linux-notifications@*/node_modules/@fluxer/linux-notifications/*.node',
'node_modules/.pnpm/@fluxer+linux-evdev@*/node_modules/@fluxer/linux-evdev/*.node',
'node_modules/.pnpm/@fluxer+linux-input-hook@*/node_modules/@fluxer/linux-input-hook/*.node',
'node_modules/.pnpm/@fluxer+system-hunspell@*/node_modules/@fluxer/system-hunspell/*.node',
'node_modules/.pnpm/@fluxer+macos-input-hook@*/node_modules/@fluxer/macos-input-hook/*.node',
'node_modules/.pnpm/@fluxer+mac-app-audio@*/node_modules/@fluxer/mac-app-audio/*.node',
'node_modules/.pnpm/@fluxer+mac-screen-capture@*/node_modules/@fluxer/mac-screen-capture/*.node',
'node_modules/.pnpm/@fluxer+mac-clipboard@*/node_modules/@fluxer/mac-clipboard/*.node',
'node_modules/.pnpm/@fluxer+mac-sysctl@*/node_modules/@fluxer/mac-sysctl/*.node',
'node_modules/.pnpm/@fluxer+mac-tcc@*/node_modules/@fluxer/mac-tcc/*.node',
'node_modules/.pnpm/@fluxer+platform-info@*/node_modules/@fluxer/platform-info/*.node',
'node_modules/.pnpm/@fluxer+webauthn@*/node_modules/@fluxer/webauthn/*.node',
'node_modules/.pnpm/@fluxer+webauthn@*/node_modules/@fluxer/webauthn/*.so*',
],
},
asarUnpack: [
'**/*.node',
'node_modules/@fluxer/win-process-loopback/*.node',
...winGameCaptureTargetArchs.map(
(arch) => `node_modules/@fluxer/win-game-capture/win-game-capture.win32-${arch}-msvc.node`,
),
'node_modules/@fluxer/win-clipboard/*.node',
'node_modules/@fluxer/win-shell/*.node',
'node_modules/@fluxer/win-toast/*.node',
'node_modules/@fluxer/linux-audio-capture/*.node',
'node_modules/@fluxer/linux-portals/*.node',
'node_modules/@fluxer/linux-screen-capture/*.node',
'node_modules/@fluxer/linux-screen-capture/obs-vkcapture/**/*',
'node_modules/@fluxer/linux-notifications/*.node',
'node_modules/@fluxer/linux-evdev/*.node',
'node_modules/@fluxer/system-hunspell/*.node',
'node_modules/@fluxer/macos-input-hook/*.node',
'node_modules/@fluxer/mac-app-audio/*.node',
'node_modules/@fluxer/mac-screen-capture/*.node',
'node_modules/@fluxer/mac-clipboard/*.node',
'node_modules/@fluxer/mac-sysctl/*.node',
'node_modules/@fluxer/mac-tcc/*.node',
'node_modules/@fluxer/windows-input-hook/*.node',
'node_modules/@fluxer/linux-input-hook/*.node',
'node_modules/@fluxer/platform-info/*.node',
'node_modules/@fluxer/webauthn/*.node',
'node_modules/@fluxer/webauthn/*.so*',
'node_modules/.pnpm/@fluxer+win-process-loopback@*/node_modules/@fluxer/win-process-loopback/*.node',
...winGameCaptureTargetArchs.map(
(arch) =>
`node_modules/.pnpm/@fluxer+win-game-capture@*/node_modules/@fluxer/win-game-capture/win-game-capture.win32-${arch}-msvc.node`,
),
'node_modules/.pnpm/@fluxer+win-clipboard@*/node_modules/@fluxer/win-clipboard/*.node',
'node_modules/.pnpm/@fluxer+win-shell@*/node_modules/@fluxer/win-shell/*.node',
'node_modules/.pnpm/@fluxer+win-toast@*/node_modules/@fluxer/win-toast/*.node',
'node_modules/.pnpm/@fluxer+windows-input-hook@*/node_modules/@fluxer/windows-input-hook/*.node',
'node_modules/.pnpm/@fluxer+linux-audio-capture@*/node_modules/@fluxer/linux-audio-capture/*.node',
'node_modules/.pnpm/@fluxer+linux-portals@*/node_modules/@fluxer/linux-portals/*.node',
'node_modules/.pnpm/@fluxer+linux-screen-capture@*/node_modules/@fluxer/linux-screen-capture/*.node',
'node_modules/.pnpm/@fluxer+linux-screen-capture@*/node_modules/@fluxer/linux-screen-capture/obs-vkcapture/**/*',
'node_modules/.pnpm/@fluxer+linux-notifications@*/node_modules/@fluxer/linux-notifications/*.node',
'node_modules/.pnpm/@fluxer+linux-evdev@*/node_modules/@fluxer/linux-evdev/*.node',
'node_modules/.pnpm/@fluxer+linux-input-hook@*/node_modules/@fluxer/linux-input-hook/*.node',
'node_modules/.pnpm/@fluxer+system-hunspell@*/node_modules/@fluxer/system-hunspell/*.node',
'node_modules/.pnpm/@fluxer+macos-input-hook@*/node_modules/@fluxer/macos-input-hook/*.node',
'node_modules/.pnpm/@fluxer+mac-app-audio@*/node_modules/@fluxer/mac-app-audio/*.node',
'node_modules/.pnpm/@fluxer+mac-screen-capture@*/node_modules/@fluxer/mac-screen-capture/*.node',
'node_modules/.pnpm/@fluxer+mac-clipboard@*/node_modules/@fluxer/mac-clipboard/*.node',
'node_modules/.pnpm/@fluxer+mac-sysctl@*/node_modules/@fluxer/mac-sysctl/*.node',
'node_modules/.pnpm/@fluxer+mac-tcc@*/node_modules/@fluxer/mac-tcc/*.node',
'node_modules/.pnpm/@fluxer+platform-info@*/node_modules/@fluxer/platform-info/*.node',
'node_modules/.pnpm/@fluxer+webauthn@*/node_modules/@fluxer/webauthn/*.node',
'node_modules/.pnpm/@fluxer+webauthn@*/node_modules/@fluxer/webauthn/*.so*',
],
compression: 'normal',
npmRebuild: false,
nativeModules: {
npmRebuild: false,
},
protocols: [
{
name: appId,
@@ -1388,18 +1390,21 @@ module.exports = {
},
mac: {
category: 'public.app-category.social-networking',
x64ArchFiles: '**/@fluxer/**/*.node',
universal: {
x64ArchFiles: '**/@fluxer/**/*.node',
},
minimumSystemVersion: macOSMinimumSystemVersion,
icon: `build_resources/${iconDir}/_compiled/AppIcon.icns`,
darkModeSupport: true,
hardenedRuntime: true,
gatekeeperAssess: false,
notarize: true,
provisioningProfile,
entitlements: isCanary
? 'build_resources/entitlements.mac.canary.plist'
: 'build_resources/entitlements.mac.stable.plist',
entitlementsInherit: 'build_resources/entitlements.mac.inherit.plist',
sign: {
hardenedRuntime: true,
provisioningProfile,
entitlements: isCanary
? 'build_resources/entitlements.mac.canary.plist'
: 'build_resources/entitlements.mac.stable.plist',
entitlementsInherit: 'build_resources/entitlements.mac.inherit.plist',
},
target: [
{
target: 'dmg',