feat: v0.6.0 light mode, command palette, dialogs, toasts
- Light mode with the house ☀/◐ toggle and lt_theme preference; light terminal palette; Claude runs with dark-ansi so its colours follow the palette; tmux and the statusLine use ANSI colours. - Command palette (⌕, Ctrl+Shift+P) with session, terminal, view, link and help commands. - .lt-modal dialogs for new/rename/end and a keyboard shortcuts sheet. - .lt-toast results for actions, uploads, copy and CI. - ttyd dropped the reply of fast one-shot commands; replies now wait for the browser to hang up, and the client hangs up as soon as it has one. - Sessions panel re-fetches after an action instead of reusing a stale poll. Closes #31 Closes #32 Closes #33 Closes #34 Closes #35 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -327,6 +327,23 @@ posts() { [ -f "$TMP/posts" ] && wc -l <"$TMP/posts" || echo 0; }
|
||||
kill "$RECEIVER"
|
||||
}
|
||||
|
||||
@test "under ttyd, one-shot replies wait for the browser to hang up (#35)" {
|
||||
start_server
|
||||
# No tty (CLI, tests): no waiting.
|
||||
start=$(date +%s%N)
|
||||
DEVDESK_VIA_TTYD=1 DEVDESK_LINGER=2 devdesk attach --list >/dev/null
|
||||
[ $(( ($(date +%s%N) - start) / 1000000 )) -lt 1500 ]
|
||||
# On a tty, as under ttyd: the reply is printed, then it waits.
|
||||
start=$(date +%s%N)
|
||||
run script -qec "DEVDESK_VIA_TTYD=1 DEVDESK_LINGER=0.6 '$REPO/bin/devdesk' attach --list" /dev/null
|
||||
elapsed=$(( ($(date +%s%N) - start) / 1000000 ))
|
||||
[[ $output == *'"sessions"'* ]]
|
||||
[ "$elapsed" -ge 500 ]
|
||||
# Errors are printed before the wait, too.
|
||||
run script -qec "DEVDESK_VIA_TTYD=1 DEVDESK_LINGER=0.3 '$REPO/bin/devdesk' attach --rename nosuch x" /dev/null
|
||||
[[ $output == *"no session named"* ]]
|
||||
}
|
||||
|
||||
@test "alerts reports unconfigured and unreachable Grafana cleanly" {
|
||||
run env DEVDESK_GRAFANA_URL= devdesk alerts
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
Reference in New Issue
Block a user