From 14bbedcf2367bd33d9205c638cbf70ee1d6fb710 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 22 Jul 2026 00:03:33 +0000 Subject: [PATCH] docs(site): document iOS PWA copy/paste + tmux-buffer endpoint (en+de) Commit e8f680d added touch-bar Paste/Copy on the iOS PWA and a new GET /api/sessions/:name/tmux-buffer endpoint, but the docs site never picked it up. Add a bullet to the sessions feature page and a row to the API reference, in both locales. --- site/src/content/docs/de/docs/features/sessions.mdx | 1 + site/src/content/docs/de/docs/reference/api.mdx | 1 + site/src/content/docs/docs/features/sessions.mdx | 1 + site/src/content/docs/docs/reference/api.mdx | 1 + 4 files changed, 4 insertions(+) diff --git a/site/src/content/docs/de/docs/features/sessions.mdx b/site/src/content/docs/de/docs/features/sessions.mdx index 5a97451..8fcd7bd 100644 --- a/site/src/content/docs/de/docs/features/sessions.mdx +++ b/site/src/content/docs/de/docs/features/sessions.mdx @@ -20,6 +20,7 @@ Das Dashboard ist der einzige Ort, um alle laufenden Agents im Blick zu haben un - **Multi-CLI:** Der Picker bietet Claude Code, Codex (`--sandbox`-Varianten), Antigravity (`agy`) und opencode, jede CLI mit eigenem Login. - **Umbenennen / adoptieren / anpinnen / stummschalten:** Umbenennen behält den Hook-State; *adoptieren* registriert eine fremde Session unter ihrem Originalnamen; *anpinnen* sortiert sie nach oben; *stummschalten* unterdrückt ihre Benachrichtigungen. - **Auto-Restore:** Nach einem Neustart startet der Hub die zuletzt laufenden `cc-`-Sessions in ihrem ursprünglichen Verzeichnis neu und setzt die CLI-Konversation fort (`claude --continue`, `codex resume --last`, `agy --continue`). Opt-out durch bewusstes Stoppen der Session. +- **Copy/Paste in der iOS-PWA:** Die Touch-Leiste bietet **Einfügen** (liest die Zwischenablage und fügt sie per Bracketed-Paste ein) und **Kopieren** (Long-Press, dann Ziehen zum Markieren, danach auf Kopieren tippen, um die Selektion zu übernehmen). Die Selektion braucht tmux, um den Drag zu empfangen — funktioniert also am Shell-Prompt; Vollbild-CLIs wie Claude Code oder Codex fangen die Maus selbst ab. ![Das Penates Session-Dashboard](../../../../../assets/screenshots/sessions.png) diff --git a/site/src/content/docs/de/docs/reference/api.mdx b/site/src/content/docs/de/docs/reference/api.mdx index 3644e99..6c14224 100644 --- a/site/src/content/docs/de/docs/reference/api.mdx +++ b/site/src/content/docs/de/docs/reference/api.mdx @@ -44,6 +44,7 @@ Der Server gibt das Subprotocol in der Handshake-Antwort zurück. Ein Legacy-Fal | GET | `/api/sessions/:name/git/commit/:sha` | Header und Diffs pro Datei für einen einzelnen Commit. | | GET | `/api/sessions/:name/file-content` | Datei per Pfad lesen, für klickbare Terminal-Pfad-Previews. | | GET | `/api/sessions/:name/scrollback` | tmux-Scrollback-History lesen. Akzeptiert `?lines=N`. | +| GET | `/api/sessions/:name/tmux-buffer` | Jüngsten tmux-Paste-Buffer lesen (Basis für den Touch-„Copy"-Button der iOS-PWA). | | POST | `/api/sessions/:name/upload` | Dateien ins Session-Arbeitsverzeichnis hochladen (multipart/form-data via Busboy). | | POST | `/api/sessions/:name/image` | Einzelnes PNG hochladen (raw `image/png`, max. 8 MB) nach `.penates-images/`. Gibt `{ rel }` zurück. | | POST | `/api/sessions/:name/mata-capture` | Aktuellen iOS-Simulator-Frame aufnehmen und als Session-Image speichern. Gibt `{ rel }` zurück. | diff --git a/site/src/content/docs/docs/features/sessions.mdx b/site/src/content/docs/docs/features/sessions.mdx index 998812d..22847d1 100644 --- a/site/src/content/docs/docs/features/sessions.mdx +++ b/site/src/content/docs/docs/features/sessions.mdx @@ -20,6 +20,7 @@ The dashboard is the single place to see and steer every running agent: live act - **Multi-CLI:** the picker offers Claude Code, Codex (`--sandbox` variants), Antigravity (`agy`), and opencode, each with its own login. - **Rename / adopt / pin / mute:** rename keeps the hook state attached; *adopt* registers a foreign session under its original name; *pin* sorts it to the top; *mute* silences its notifications. - **Auto-restore:** after a reboot the hub re-spawns the last running `cc-` sessions in their original directory, continuing the CLI conversation (`claude --continue`, `codex resume --last`, `agy --continue`). Opt out per session by stopping it deliberately. +- **Copy/paste on the iOS PWA:** the touch bar adds **Paste** (reads the clipboard and pastes with bracketed-paste) and **Copy** (long-press then drag to select text, then tap Copy to grab the selection). Selection needs tmux to receive the drag, so it works at a shell prompt; full-screen CLIs like Claude Code or Codex capture the mouse themselves. ![The Penates session dashboard](../../../../assets/screenshots/sessions.png) diff --git a/site/src/content/docs/docs/reference/api.mdx b/site/src/content/docs/docs/reference/api.mdx index 206e1c9..3f5e352 100644 --- a/site/src/content/docs/docs/reference/api.mdx +++ b/site/src/content/docs/docs/reference/api.mdx @@ -44,6 +44,7 @@ The server echoes the subprotocol back in the handshake response. A legacy `?tok | GET | `/api/sessions/:name/git/commit/:sha` | Header and per-file diffs for a single commit. | | GET | `/api/sessions/:name/file-content` | Read a file by path for clickable terminal path previews. | | GET | `/api/sessions/:name/scrollback` | Capture tmux scrollback history. Accepts `?lines=N`. | +| GET | `/api/sessions/:name/tmux-buffer` | Read the newest tmux paste buffer (powers the iOS PWA touch "Copy" button). | | POST | `/api/sessions/:name/upload` | Upload files into the session working directory (multipart/form-data via Busboy). | | POST | `/api/sessions/:name/image` | Upload a single PNG (raw `image/png`, max 8 MB) into `.penates-images/`. Returns `{ rel }`. | | POST | `/api/sessions/:name/mata-capture` | Capture the current iOS Simulator frame and save it as a session image. Returns `{ rel }`. |