[PM-13361] Fix DDG backwards compat (#11804)

This commit is contained in:
Daniel García 2024-10-31 18:03:24 +01:00 committed by GitHub
parent 2b6406c1a1
commit f771bd7dc8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 42 additions and 8 deletions

View File

@ -77,9 +77,13 @@
{
"from": "desktop_native/dist/desktop_proxy.${platform}-${arch}",
"to": "MacOS/desktop_proxy"
},
{
"from": "desktop_native/dist/desktop_proxy.${platform}-${arch}",
"to": "MacOS/desktop_proxy.inherit"
}
],
"signIgnore": ["MacOS/desktop_proxy"],
"signIgnore": ["MacOS/desktop_proxy", "MacOS/desktop_proxy.inherit"],
"target": ["dmg", "zip"]
},
"win": {

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.inherit</key>
<true/>
</dict>
</plist>

View File

@ -70,6 +70,18 @@ async function run(context) {
child_process.execSync(
`codesign -s '${id}' -i ${packageId} -f --timestamp --options runtime --entitlements ${entitlementsPath} ${proxyPath}`,
);
const inheritProxyPath = path.join(appPath, "Contents", "MacOS", "desktop_proxy.inherit");
const inheritEntitlementsName = "entitlements.desktop_proxy.inherit.plist";
const inheritEntitlementsPath = path.join(
__dirname,
"..",
"resources",
inheritEntitlementsName,
);
child_process.execSync(
`codesign -s '${id}' -i ${packageId} -f --timestamp --options runtime --entitlements ${inheritEntitlementsPath} ${inheritProxyPath}`,
);
}
}

View File

@ -16,16 +16,24 @@ if (
app.dock.hide();
});
const proc = spawn(path.join(process.execPath, "..", "desktop_proxy"), process.argv.slice(1), {
cwd: process.cwd(),
stdio: "inherit",
shell: false,
});
const proc = spawn(
path.join(process.execPath, "..", "desktop_proxy.inherit"),
process.argv.slice(1),
{
cwd: process.cwd(),
stdio: "inherit",
shell: false,
},
);
proc.on("exit", () => {
proc.on("exit", (...args) => {
// eslint-disable-next-line no-console
console.error("Proxy process exited", args);
process.exit(0);
});
proc.on("error", () => {
proc.on("error", (...args) => {
// eslint-disable-next-line no-console
console.error("Proxy process errored", args);
process.exit(1);
});
} else {