aboutsummaryrefslogtreecommitdiff
path: root/src/server/session_manager/session_manager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/session_manager/session_manager.ts')
-rw-r--r--src/server/session_manager/session_manager.ts12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/server/session_manager/session_manager.ts b/src/server/session_manager/session_manager.ts
index 9fe4b1ab8..b620c8502 100644
--- a/src/server/session_manager/session_manager.ts
+++ b/src/server/session_manager/session_manager.ts
@@ -31,6 +31,16 @@ registerCommand("exit", [], async () => {
execSync(killAllCommand());
});
+registerCommand("update", [], async () => {
+ set(SessionState.UPDATING);
+ await new Promise<void>(resolve => {
+ exec("git pull && npm install", () => {
+ resolve();
+ });
+ });
+ set(SessionState.MANUALLY_RESTARTING);
+});
+
registerCommand("state", [], () => identifiedLog(state));
if (!existsSync(logPath)) {
@@ -110,7 +120,7 @@ async function checkHeartbeat() {
listening && console.log("⇠ 💔");
error = e;
} finally {
- if (error && !is(SessionState.AUTOMATICALLY_RESTARTING, SessionState.INITIALIZED)) {
+ if (error && !is(SessionState.AUTOMATICALLY_RESTARTING, SessionState.INITIALIZED, SessionState.UPDATING)) {
if (is(SessionState.STARTING)) {
set(SessionState.INITIALIZED);
} else if (is(SessionState.MANUALLY_RESTARTING)) {