feat: DevDesk v0.1.0, a persistent browser terminal for Claude Code
ttyd serves a single-file xterm.js UI styled with the LotusGuild TDS (web_template base.css). Sessions live in a dedicated tmux server unit (devdesk-tmux.service), so restarting or upgrading the web unit never stops Claude. Each named session maps to a project directory. A Claude SessionStart hook records the conversation ID, so after a reboot the session resumes that exact conversation. - bin/devdesk: attach / new / ls / end / pick, with an fzf picker - ttyd requires a credential that NPM injects; origin check enabled - debian/: dh 13 with --no-stop-on-upgrade for the tmux unit, bundled sha256-verified ttyd 1.7.7, lintian overrides, man page - CI: lint, test, build, smoke-test, artifact; v* tags publish to the Gitea apt registry and create a release Refs: tinker ticket 887531976 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
# ExecStartPost for devdesk-tmux.service: wait until the tmux server answers on
|
||||
# its socket, so `systemctl start devdesk-tmux` only returns once clients can attach.
|
||||
SOCK=${DEVDESK_SOCKET:-/run/devdesk/tmux.sock}
|
||||
for _ in $(seq 1 100); do
|
||||
if [ -S "$SOCK" ] && tmux -N -S "$SOCK" start-server 2>/dev/null; then
|
||||
exit 0
|
||||
fi
|
||||
sleep 0.1
|
||||
done
|
||||
echo "devdesk-tmux-ready: tmux server did not come up on $SOCK" >&2
|
||||
exit 1
|
||||
Reference in New Issue
Block a user