mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-11-15 02:49:33 +01:00
fix: keep foreign discovery from throwing, and correct the adoption docs (release review)
candidatesFrom had moved outside the try when the transports moved to runForeignProbe, so a classifier failure would have reached the route as a 500. The module promises it never throws, so the guard is back for local and docker. Docs: - The api reference said `blocked` waits are always refused, and listed Ralph as refused while two of its file routes were not (they are now). - The invariants doc and CLAUDE.md gain the rules this review turned up: target syntax in names, the ping before list-panes, nothing typed into an adopted pane, quoteAdoptLaunch. - CLAUDE.md no longer says every claude session gets hooks or a stop wait. - ForeignTmuxSession's mode and workingDir describe the first listed pane, not the active one. - The wiki had no page on adoption: The Dashboard gains an Opened outside Codeman section, and the remote and docker pages point at it. docs/docker-cases.md now separates an adopted container from an adopted tmux session. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
25214fcc5f
commit
2d7cd49449
11 files changed
+104
-30
No files matched your search
@@ -98,6 +98,10 @@ Adoption is **admin-only in multi-user mode**. Linking creates Codeman's own con
|
||||
with one bind mount that has already been checked; an adopted container's mounts belong to
|
||||
whoever started it, and one that mounts `/` hands the adopter the host.
|
||||
|
||||
That is about a container. A tmux session someone started by hand inside a container is opened
|
||||
from the home screen instead, and it needs a Docker case pointing at that container: see
|
||||
[Opened outside Codeman](The-Dashboard#opened-outside-codeman).
|
||||
|
||||
## Credentials
|
||||
|
||||
Your existing host logins work inside the container without logging in again. Credentials
|
||||
|
||||
@@ -73,6 +73,10 @@ Attaching to someone else's session and closing your tab must not end their run,
|
||||
not. Several clients can attach the same remote session at different window sizes without
|
||||
clamping each other, and discovery shows a shared badge with the client count.
|
||||
|
||||
This list holds Codeman's own sessions. A tmux session someone started by hand on the host is
|
||||
found by the home screen instead: see
|
||||
[Opened outside Codeman](The-Dashboard#opened-outside-codeman).
|
||||
|
||||
## Files
|
||||
|
||||
Previews, downloads and text reads in a remote case go over the same ssh connection the
|
||||
|
||||
@@ -287,6 +287,38 @@ Two extras depending on the device:
|
||||
- **Phones**: tapping the "C" logo gives a session overview instead: NEEDS YOU first, then
|
||||
current sessions, then past ones. On by default.
|
||||
|
||||
### Opened outside Codeman
|
||||
|
||||
A tmux session you started by hand (`tmux new -s work`, then `claude`, or just a shell) shows
|
||||
up on the home screen under **Opened outside Codeman**, on the desktop and in the phone
|
||||
overview. **Open** wraps it in a tab, and **Go to tab** on a row means it already has one.
|
||||
|
||||
| Where it runs | How it is found |
|
||||
| -------------------- | ---------------------------------------------------------------------------- |
|
||||
| **This machine** | Automatically, every few seconds while the home screen is up. |
|
||||
| **A container** | The `⟳` button in the block's header scans the containers behind your Docker cases. |
|
||||
| **Over SSH** | The same button scans your saved remote hosts. |
|
||||
|
||||
The container and SSH scan costs one connection per target, so it runs when you press the
|
||||
button, and **Rescan** runs it again.
|
||||
|
||||
- **Closing the tab only detaches.** The session keeps running, and the close dialog offers no
|
||||
kill. Opening one types nothing into it.
|
||||
- **Codeman did not start it,** so it will not drive it: respawn, Ralph, auto-clear,
|
||||
auto-compact, auto-resume, custom model endpoints, prompt uploads and the image watcher are
|
||||
refused, and the git panel shows nothing.
|
||||
- **The tab opens on the session's first window,** and the row describes that same window.
|
||||
- **It joins like a second tmux client.** While the tab is open it can resize a session
|
||||
someone else is viewing, the way any second client does, and that reverses when it closes.
|
||||
- **A short line in the block says why a session is missing.** One whose name holds unusual
|
||||
characters is skipped, and so is one named so that tmux reads the name as something else (it
|
||||
starts with `=`, `@` or `%`, or is a bare `~`). Rename it with `tmux rename-session`. A tmux
|
||||
server that stopped answering costs only its own sessions.
|
||||
|
||||
Only sockets in tmux's own folder are scanned, so `tmux -L <name>` is found and
|
||||
`tmux -S /custom/path` is not. In multi-user mode the block is for admins, since it shows
|
||||
everyone's processes.
|
||||
|
||||
## Panels
|
||||
|
||||
| Panel | Opened from | Covered in |
|
||||
|
||||
Reference in new issue
Block a user