Auto-start stopped/errored apps on push activate
Previously, pushing a new version would only restart apps that were already running. Apps in stopped or invalid state (e.g. due to a previous startup error) were left unchanged, requiring a manual start. Now the activate endpoint calls startApp() for stopped/invalid apps, so pushing a code fix automatically attempts to start the app. https://claude.ai/code/session_014UvBEvHbnhaoMLebdRFzm6
This commit is contained in:
parent
9c128eaddc
commit
a7d4e210c2
|
|
@ -1,4 +1,4 @@
|
||||||
import { APPS_DIR, allApps, registerApp, removeApp, restartApp } from '$apps'
|
import { APPS_DIR, allApps, registerApp, removeApp, restartApp, startApp } from '$apps'
|
||||||
import { computeHash, generateManifest } from '../sync'
|
import { computeHash, generateManifest } from '../sync'
|
||||||
import { loadGitignore } from '@gitignore'
|
import { loadGitignore } from '@gitignore'
|
||||||
import { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, realpathSync, renameSync, rmSync, symlinkSync, unlinkSync, watch, writeFileSync } from 'fs'
|
import { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, realpathSync, renameSync, rmSync, symlinkSync, unlinkSync, watch, writeFileSync } from 'fs'
|
||||||
|
|
@ -329,6 +329,9 @@ router.post('/apps/:app/activate', async c => {
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return c.json({ error: `Failed to restart app: ${e instanceof Error ? e.message : String(e)}` }, 500)
|
return c.json({ error: `Failed to restart app: ${e instanceof Error ? e.message : String(e)}` }, 500)
|
||||||
}
|
}
|
||||||
|
} else if (app.state === 'stopped' || app.state === 'invalid') {
|
||||||
|
// App not running (possibly due to error) - try to start it
|
||||||
|
startApp(appName)
|
||||||
}
|
}
|
||||||
|
|
||||||
return c.json({ ok: true })
|
return c.json({ ok: true })
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user