fix: v2.7.4 — a developer's System page carries no host or other-user path
- GET /api/settings/info for a developer: no DB path, no hooks file path, and no transcript-cache keys — those were EVERY user's transcript paths (their folders and session ids). GET /api/updates/status: no repo_root. Test: server-mode-leaks. - Also in this release (earlier commits): a member's missing workspace folder is made as them at start; --allow-dangerously-skip-permissions only for an account that accepted the bypass warning or a bypass run. Full suites: server 2889/2889, client 1250/1250, tsc -b.
This commit is contained in:
+1
-1
@@ -359,7 +359,7 @@ Error `409 ESESSIONLIVE` is returned when `resumeSessionId` (or `resume`) names
|
||||
|
||||
Error `400 EBADPROMPT` is returned for a `prompt` (or `POST /api/run`'s `initialPrompt`) over 128 KB: no CLI can take one argument that long (Linux's `MAX_ARG_STRLEN`, issue #68) — attach the text as a file instead. A prompt over 4 KB never rides in tmux's argv (one tmux message holds 16 KB, `command too long`): outside Windows it is written to `<data dir>/run-prompts/<run id>.txt` (0600) and the pane's own `sh` reads it back as the CLI's last argument and deletes the file. An `after-start` tool's paste still goes through `tmux set-buffer` and stays under that 16 KB.
|
||||
|
||||
Error `409 ENOCWD` is returned when the workspace's folder no longer exists (or is not a directory) — the pane would otherwise start in the account's home under this workspace's name. A folder this server cannot read (`EACCES`) is not refused.
|
||||
Error `409 ENOCWD` is returned when the workspace's folder no longer exists (or is not a directory) — the pane would otherwise start in the account's home under this workspace's name. A folder this server cannot read (`EACCES`) is not refused. Server mode with one Linux user per account: a missing folder inside a member's own home is created instead, as that member (`mkdir -p` through `write-as`) — their home itself can be no workspace, so this is how a new member's first project folder comes to exist.
|
||||
|
||||
Error `409 ERUNLIVE` is returned if the workspace already has a live run; stop it first with the `stop` action. The same code and status come back when the workspace's tmux pane is already running an agent while a `prompt` or `resumeSessionId` was sent — that argv cannot be typed over a live agent, so the request is refused instead of answered 200 with nothing done. A start that asks for neither still adopts the existing pane silently.
|
||||
|
||||
|
||||
+14
-2
@@ -822,8 +822,20 @@ agenthub users provision alice # the Linux account only (a user made before
|
||||
writes three `auth.log` lines); a pane the dashboard starts or stops shows at
|
||||
once, one that exits on its own within those 5 s.
|
||||
- Claude Code does not carry a folder's trust down from the member's home
|
||||
(which provisioning trusts): a member answers "Trust this folder" once per
|
||||
workspace, in the terminal.
|
||||
(which provisioning trusts): a member may be asked "Trust this folder" once
|
||||
per workspace, in the terminal. AgentHub never answers it for them — it is
|
||||
what keeps a cloned repository's own settings and hooks from running unasked.
|
||||
- A member's first project folder: a workspace named on a folder that does not
|
||||
exist yet inside their home is created at its first start, AS the member
|
||||
(from v2.7.4; their home itself is no workspace).
|
||||
- Bypass in a pane's shift+tab cycle (`--allow-dangerously-skip-permissions`)
|
||||
is offered only to an account that already accepted Claude Code's bypass
|
||||
warning (`skipDangerousModePermissionPrompt` in its `~/.claude/settings.json`)
|
||||
or to a run that starts in bypass itself. Before v2.7.4 every new member's
|
||||
first session opened on that warning, which the Chat UI cannot answer.
|
||||
- A developer's System page (`GET /api/settings/info`, `GET /api/updates/status`)
|
||||
carries no path: not the database's, the hooks file's, the install folder,
|
||||
nor the transcript cache's keys — those are every user's transcript paths.
|
||||
|
||||
### Undo and uninstall
|
||||
|
||||
|
||||
Reference in New Issue
Block a user