Compare commits

..

No commits in common. "main" and "v0.1.14" have entirely different histories.

4 changed files with 4 additions and 20 deletions

4
package-lock.json generated
View file

@ -1,12 +1,12 @@
{ {
"name": "folio", "name": "folio",
"version": "0.1.17", "version": "0.1.14",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "folio", "name": "folio",
"version": "0.1.17", "version": "0.1.14",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@tiptap/core": "^2.27.2", "@tiptap/core": "^2.27.2",

View file

@ -1,6 +1,6 @@
{ {
"name": "folio", "name": "folio",
"version": "0.1.17", "version": "0.1.14",
"description": "A simple, local, open-source desktop writing app.", "description": "A simple, local, open-source desktop writing app.",
"productName": "Folio", "productName": "Folio",
"author": "Folio Contributors", "author": "Folio Contributors",

View file

@ -1354,11 +1354,6 @@ handleIpc("folio:performUpdate", async () => {
execFileSync("systemd-run", [ execFileSync("systemd-run", [
"--user", "--quiet", "--collect", "--user", "--quiet", "--collect",
`--description=Folio updater handoff`, `--description=Folio updater handoff`,
// Default KillMode=control-group means the unit's cgroup is swept
// when the script exits — that killed the backgrounded relaunch
// before Electron got to start (v0.1.15 update: swap OK, app died).
// KillMode=process lets the script exit while its child app lives.
"--property=KillMode=process",
"/bin/sh", script, "/bin/sh", script,
], { timeout: 10_000, stdio: "ignore" }); ], { timeout: 10_000, stdio: "ignore" });
handedOff = true; handedOff = true;
@ -1428,8 +1423,4 @@ if (app.requestSingleInstanceLock()) {
} }
if (f) openFromArg(f); if (f) openFromArg(f);
}); });
} else {
// Lost the lock: another Folio is already running. Without this quit the
// second process falls through to whenReady() and opens a duplicate window.
app.quit();
} }

View file

@ -224,14 +224,7 @@ export function buildInstallerScript(spec: InstallerSpec): string {
' rm -rf "$NEW"', ' rm -rf "$NEW"',
"fi", "fi",
'say "relaunching"', 'say "relaunching"',
// Detach fully: setsid moves the relaunch into its own session so it '"$RELAUNCH" >/dev/null 2>&1 &',
// survives this script's exit and any cgroup sweep of the transient
// unit (systemd KillMode). Fallback chain for missing setsid.
'if command -v setsid >/dev/null 2>&1; then',
' setsid "$RELAUNCH" >/dev/null 2>&1 < /dev/null &',
'else',
' nohup "$RELAUNCH" >/dev/null 2>&1 < /dev/null &',
"fi",
"", "",
].join("\n"); ].join("\n");
} }