feat: v0.5.0 header, switcher, phone key bar, shared polling, Matrix "needs you"
- Header: no SSO chip ("Sign in again" only on expiry), state dot on the
session chip, LIVE as a dot, ⋯ menu for text size/notifications/fullscreen,
Panels badge for waiting sessions and alerts.
- Session switcher on the chip; bare URL reattaches the last session; + New
opens the panel form with project folders.
- Notifications when other sessions start waiting; alerts polled with the
panels closed; one tab polls for all tabs over BroadcastChannel.
- Sidebar: context bar per session instead of the Context panel; compact
Repo/CI with "Ask Claude to fix CI"; legible labels.
- Phone: key bar, drawer with backdrop, visualViewport-aware layout, DOM
renderer on touch, compact connection dot.
- devdesk-notify-matrix: one Matrix message per wait that lasts
DEVDESK_MATRIX_DELAY seconds with nobody attached.
Closes #8
Closes #13
Closes #14
Closes #15
Closes #16
Closes #17
Closes #28
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Vendored
+43
@@ -1,3 +1,46 @@
|
||||
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
|
||||
|
||||
devdesk (0.4.0) bookworm; urgency=medium
|
||||
|
||||
* Session status at a glance: Claude hooks record whether each session is
|
||||
|
||||
Reference in New Issue
Block a user