feat: Stop archives a session, Sleep keeps it; SSH keys per type (#82); update Auto fix

- Stop (a tab's or pane's X, Close tab) now archives the session it held
  (DELETE /api/run/:id?archive=1); the new Sleep (moon left of the X, and in
  the tab, pane and session right-click menus) stops the pane but keeps the
  session listed to resume later. Shared endRuns in client/src/lib/stopSession.ts.
- Git identity (#82): an account keeps an ED25519 AND an RSA key (AWS
  CodeCommit takes only RSA), every ssh git offers both, and a member's
  ~/.gitconfig gets core.sshCommand so a git typed in a terminal uses them.
- Update dialog: Auto fix starts a Claude Code session on the install
  folder with the failed update's error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-15 11:51:26 +07:00
parent 58be04a4e7
commit 0a1dcfeb7f
28 changed files with 813 additions and 225 deletions
+14
View File
@@ -585,6 +585,12 @@ const schemas = {
required: ["ok"],
properties: {
ok: { type: "boolean", enum: [true], example: true },
archived: {
type: "string",
nullable: true,
description:
"Only with `?archive=1`: the id of the session the pane held, now archived, or null when the pane had no known session (a shell).",
},
},
},
};
@@ -1188,6 +1194,14 @@ const paths = {
description: "Run id (RunHandle.id).",
example: "3f2c9a1e-7b4d-4e21-9b6a-1d2e3f4a5b6c",
},
{
name: "archive",
in: "query",
required: false,
schema: { type: "string", enum: ["1"] },
description:
"`1` (the UI's Stop) also archives the session the pane held, so it leaves its workspace's lists. Omitted (the UI's Sleep, the CLI) the session stays listed, to be resumed later.",
},
],
responses: {
200: {