2026-10-08 01:50:50 -04:00
|
|
|
devdesk (0.7.2) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Fix: Go to file failed in big non-git folders such as /root/code: the
|
|
|
|
|
file walk was cut off at its cap with SIGPIPE, which failed the command
|
|
|
|
|
and truncated its reply. Producers piped into a cap now tolerate it (also
|
|
|
|
|
for very large folders and git status). Outside git, Go to file skips
|
|
|
|
|
build/cache folders and stops at 10,000 files.
|
|
|
|
|
* Large side-channel replies no longer cost quadratic time in the browser.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Thu, 08 Oct 2026 01:50:50 -0400
|
|
|
|
|
|
2026-10-08 01:40:47 -04:00
|
|
|
devdesk (0.7.1) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Files pane reworked like VS Code (#37):
|
|
|
|
|
- Explorer tree beside the editor: folders expand in place (also with
|
|
|
|
|
the keyboard: arrows, Enter), the open file is highlighted and can be
|
|
|
|
|
revealed, git colours on names, change dots on folders, gitignored
|
|
|
|
|
entries dimmed, file-type badges. A drag handle sizes the explorer.
|
|
|
|
|
- Tabs: a click opens a preview tab (italic) that the next click
|
|
|
|
|
replaces; double-click or Enter keeps it. Switching tabs is instant and
|
|
|
|
|
keeps the scroll position. Files Claude changes reload in place.
|
|
|
|
|
- Go to file (Ctrl+P in the pane, the ⌕ button, the palette): fuzzy
|
|
|
|
|
search over git ls-files, or a capped find outside git.
|
|
|
|
|
- Explorer and Changes are two views of the left column; diffs open as
|
|
|
|
|
tabs.
|
|
|
|
|
- Expanded folders, open tabs and the active tab are remembered per
|
|
|
|
|
session; an empty editor offers recent files and the change count.
|
|
|
|
|
- Narrow panes and phones: the explorer slides over the editor.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Thu, 08 Oct 2026 01:40:47 -0400
|
|
|
|
|
|
2026-10-08 01:16:37 -04:00
|
|
|
devdesk (0.7.0) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Files pane (#19): a Files button (Ctrl+Shift+E) next to Panels opens the
|
|
|
|
|
session's folder beside the terminal (a drag-resizable split on wide
|
|
|
|
|
screens, an overlay on narrow ones and phones).
|
|
|
|
|
- Browse folders; read files with syntax highlighting (CodeMirror,
|
|
|
|
|
read-only, Ctrl+F search, line wrap toggle), markdown rendered as a
|
|
|
|
|
sanitized preview with its relative images, images shown inline.
|
|
|
|
|
- Changes tab: uncommitted git changes with line counts and a "C" badge
|
|
|
|
|
on files Claude edited (recorded by the state hook from Edit/Write);
|
|
|
|
|
diff against HEAD for any changed file. Non-git sessions list the files
|
|
|
|
|
Claude edited there.
|
|
|
|
|
- "→ Claude" types @path into the prompt; Copy path.
|
|
|
|
|
- After Claude's turn the list refreshes, and an open file that changed
|
|
|
|
|
on disk offers a reload.
|
|
|
|
|
- Paths stay inside the session folder (no absolute paths, no symlink
|
|
|
|
|
escapes). Read-only for now; editing is v0.8.0.
|
|
|
|
|
- The editor (~600 KB) is not in the page: it ships in
|
|
|
|
|
/usr/share/devdesk/assets, is fetched over ttyd the first time Files
|
|
|
|
|
opens, checked against the page's SHA-256 and cached in the browser.
|
|
|
|
|
* Fix: the state hook mis-read hook fields when Claude's message was empty.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Thu, 08 Oct 2026 01:16:26 -0400
|
|
|
|
|
|
2026-10-08 00:51:01 -04:00
|
|
|
devdesk (0.6.1) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Inbox bell (#36): sessions waiting on you, firing alerts, and what
|
|
|
|
|
happened while you were away (a background session finished or started
|
|
|
|
|
waiting, CI passed or failed). Click to jump there; shared by all tabs.
|
|
|
|
|
Replaces the count on the Panels button.
|
|
|
|
|
* Phone header: theme in the ⋯ menu, Panels as an icon, so the bell fits.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Thu, 08 Oct 2026 00:50:56 -0400
|
|
|
|
|
|
2026-10-08 00:32:23 -04:00
|
|
|
devdesk (0.6.0) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Light mode, like the other web_template apps (#31): the ☀/◐ button in the
|
|
|
|
|
header, shared lt_theme preference (OS setting until you choose), applied
|
|
|
|
|
before first paint and synced across tabs. The terminal has a light
|
|
|
|
|
palette; Claude runs with its dark-ansi theme so its colours come from
|
|
|
|
|
that palette, and the light palette maps bright white to ink, so Claude's
|
|
|
|
|
text, scrollback included, stays readable in both modes. tmux and the
|
|
|
|
|
statusLine use ANSI colours so they follow the theme too. Sessions pick
|
|
|
|
|
up Claude's theme the next time Claude starts in them.
|
|
|
|
|
* Command palette (#32): ⌕ button or Ctrl+Shift+P. Switch, create, rename
|
|
|
|
|
and end sessions, Claude/Shell window, scroll back, detach, theme, panels,
|
|
|
|
|
text size, fullscreen, notifications, copy link, open the repo / PRs / CI
|
|
|
|
|
run, show alerts, keyboard help.
|
|
|
|
|
* Dialogs instead of browser prompt/confirm for rename, end and new
|
|
|
|
|
session (name check inline, project folder picker), and a keyboard
|
|
|
|
|
shortcuts sheet in the ⋯ menu, the palette and the footer (#33).
|
|
|
|
|
* Toasts for results: created, renamed, ended, uploads, link copied, CI
|
|
|
|
|
finished, errors (#34).
|
|
|
|
|
* Fix: renames, ends and new sessions often reported "no response" although
|
|
|
|
|
they worked; ttyd dropped the reply of commands that exit right after
|
|
|
|
|
printing. Replies now wait for the browser to hang up (#35).
|
|
|
|
|
* Fix: the Sessions panel showed stale names right after a rename or end.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Thu, 08 Oct 2026 00:32:11 -0400
|
|
|
|
|
|
2026-10-07 23:42:03 -04:00
|
|
|
devdesk (0.5.1) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* A session created by opening its URL shows up in the Sessions panel and
|
|
|
|
|
the switcher right away instead of at the next poll.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Wed, 07 Oct 2026 23:42:01 -0400
|
|
|
|
|
|
2026-10-07 23:34:59 -04:00
|
|
|
devdesk (0.5.0) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Security (from the 2026-10-07 review):
|
|
|
|
|
- ttyd :7681 is firewalled to NPM in CT 126 and its credential was
|
|
|
|
|
rotated (#1).
|
|
|
|
|
- "Ask Claude" strips control characters from Grafana text and pastes it
|
|
|
|
|
as bracketed paste, so alert text can never run a command (#2).
|
|
|
|
|
- OSC 52 clipboard is write-only: terminal output can no longer read the
|
|
|
|
|
browser clipboard; tmux allow-passthrough is off (#7).
|
|
|
|
|
- Gitea/Grafana tokens reach curl on stdin, never on its command line;
|
|
|
|
|
remote URLs lose any userinfo (#11).
|
|
|
|
|
* Fixes:
|
|
|
|
|
- Ending the session you are in no longer leaves a ghost entry (#3).
|
|
|
|
|
- Reconnecting after a drop never re-creates a session that was ended or
|
|
|
|
|
renamed meanwhile (`attach --existing`) (#4).
|
|
|
|
|
- Repo panel uses git --no-optional-locks and drops the safe.directory
|
|
|
|
|
override (#5); uploads get unique names and are cleaned up on hangup
|
|
|
|
|
(#6); uploads are size-checked first and streamed in slices with an
|
|
|
|
|
idle timeout (#9); paths with tabs no longer break the session list
|
|
|
|
|
(#10).
|
|
|
|
|
- ttyd allows 32 clients; side-channel calls run two at a time and one
|
|
|
|
|
tab polls for all open tabs (#8).
|
|
|
|
|
* Header: the SSO chip is gone ("Sign in again" appears only when the
|
|
|
|
|
session expires); the session chip shows Claude's state as a dot and
|
|
|
|
|
opens a session switcher; LIVE is a dot; text size, notifications (with
|
|
|
|
|
mute) and fullscreen move into a ⋯ menu; the Panels button shows a badge
|
|
|
|
|
for waiting sessions and alerts (#13, #16).
|
|
|
|
|
* A bare URL reattaches your last session instead of opening the picker
|
|
|
|
|
(#16).
|
|
|
|
|
* Notifications when *other* sessions start waiting, and alerts are polled
|
|
|
|
|
with the panels closed (#15).
|
|
|
|
|
* Sidebar: the Claude Context panel is folded into a context bar in each
|
|
|
|
|
session row; Repo/CI collapses for non-git folders and offers "Ask Claude
|
|
|
|
|
to fix CI"; the new-session form hides behind "+ New"; more legible
|
|
|
|
|
labels (#17).
|
|
|
|
|
* Phone: key bar (Esc, Tab, ⇧Tab, ^C, arrows, ⏎, Claude/Shell), drawer
|
|
|
|
|
with backdrop, layout that follows the on-screen keyboard, DOM renderer
|
|
|
|
|
on touch devices, no clock in the tmux status line (#14).
|
|
|
|
|
* Matrix "Claude needs you": a wait that lasts 30 s with nobody attached
|
|
|
|
|
posts one message with a link to the Devdesk hookshot webhook (#28).
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Wed, 07 Oct 2026 23:34:48 -0400
|
|
|
|
|
|
2026-10-07 19:26:06 -04:00
|
|
|
devdesk (0.4.0) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Session status at a glance: Claude hooks record whether each session is
|
|
|
|
|
working, waiting on you (with Claude's message) or idle. The sidebar shows
|
|
|
|
|
it with context %, the header shows the current session's state, and a
|
|
|
|
|
pulsing "needs you" chip jumps to sessions waiting for input.
|
|
|
|
|
* File & image drop: drag files onto the terminal or paste a screenshot.
|
|
|
|
|
They're uploaded through ttyd to /var/lib/devdesk/uploads/<session>/ (25 MB
|
|
|
|
|
max, pruned after 7 days) and the path is pasted into Claude, which
|
|
|
|
|
attaches images itself.
|
|
|
|
|
* Ops Alerts panel is live: firing/pending Grafana alert rules with
|
|
|
|
|
severity, instances, summary and a link, plus an "Ask Claude" button that
|
|
|
|
|
types an investigation prompt into the current session.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Wed, 07 Oct 2026 19:24:15 -0400
|
|
|
|
|
|
2026-10-07 13:21:11 -04:00
|
|
|
devdesk (0.3.1) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Auto-deploy: tagged releases trigger CT 126's webhook listener (house HMAC
|
|
|
|
|
pattern), which runs /usr/lib/devdesk/devdesk-deploy to upgrade the
|
|
|
|
|
package from the apt registry. Running sessions are untouched.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Wed, 07 Oct 2026 13:20:58 -0400
|
|
|
|
|
|
2026-10-07 13:09:32 -04:00
|
|
|
devdesk (0.3.0) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Repo / CI panel is live: branch, ahead/behind, uncommitted changes, the
|
|
|
|
|
Gitea CI status of HEAD (linked to the run) and open PRs for the current
|
|
|
|
|
session's folder, via `devdesk attach --repo` over the ttyd channel. No
|
|
|
|
|
sidecar needed; public repos need no token (optional
|
|
|
|
|
/etc/devdesk/gitea-token for private ones). A notification fires when CI
|
|
|
|
|
for HEAD finishes while the tab is in the background.
|
|
|
|
|
* Remote Control verified with resume (same claude.ai session link).
|
|
|
|
|
* Local settings now go in /etc/devdesk/env.local (read after the packaged
|
|
|
|
|
env, never shipped), so upgrades no longer stop at a conffile prompt.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Wed, 07 Oct 2026 12:57:04 -0400
|
|
|
|
|
|
2026-10-07 12:54:28 -04:00
|
|
|
devdesk (0.2.1) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Session hook and status line only record for panes on DevDesk's own
|
|
|
|
|
tmux server (Claude run with these settings elsewhere no longer writes
|
|
|
|
|
into DevDesk's state).
|
|
|
|
|
* The Claude wrapper re-reads /etc/devdesk/env before every Claude launch,
|
|
|
|
|
so Remote Control and CLAUDE_ARGS changes apply on the next restart.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Wed, 07 Oct 2026 12:54:06 -0400
|
|
|
|
|
|
2026-10-07 03:03:09 -04:00
|
|
|
devdesk (0.2.0) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Sessions no longer need a project folder: any name works and starts in
|
|
|
|
|
DEVDESK_DEFAULT_DIR unless it matches a project; new NAME [PROJECT].
|
|
|
|
|
* Rename and end sessions from the Sessions panel (and devdesk rename).
|
|
|
|
|
Renames keep the running Claude and its recorded conversation.
|
|
|
|
|
* Claude Context panel is live: a statusLine command snapshots model,
|
|
|
|
|
context-window use, cost and edits per session; Claude's footer shows a
|
|
|
|
|
one-line summary.
|
|
|
|
|
* Drop GANDALF from the Ops Alerts panel.
|
|
|
|
|
* CI: bash shell, download retries, Node 22 test invocation,
|
|
|
|
|
build-essential, smoke-test pipe fix.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Wed, 07 Oct 2026 03:01:21 -0400
|
|
|
|
|
|
2026-10-06 23:11:07 -04:00
|
|
|
devdesk (0.1.0) bookworm; urgency=medium
|
|
|
|
|
|
|
|
|
|
* Initial release: persistent browser terminal for Claude Code
|
|
|
|
|
(ttyd + tmux) with LotusGuild TDS styling, multiple named sessions,
|
|
|
|
|
per-session conversation resume and Debian packaging.
|
|
|
|
|
|
|
|
|
|
-- Jared Vititoe <jjvititoe1@gmail.com> Tue, 06 Oct 2026 22:58:26 -0400
|