fix: v0.10.1 usage ping uses tab presence; CI-safe test
build-deb / Deploy to CT 126 (push) Successful in 12s
build-deb / Lint, test, package (push) Successful in 3m7s
build-deb / Notify on failure (push) Skipped

The usage ping now treats "away" like the needs-you notifier: no DevDesk
tab in view for ~2 minutes. The test sets a presence marker instead of
attaching a tmux client, which never attached in CI. 0.10.0 was never
published.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHRLCCdXYm41Qx5kNhehaP
This commit is contained in:
2026-10-12 01:30:18 -04:00
co-authored by Claude Opus 5.5
parent a2edec966a
commit 3a0b099f02
4 changed files with 19 additions and 10 deletions
+3 -3
View File
@@ -25,8 +25,8 @@ post() {
# devdesk-notify-matrix --usage PCT RESETS_AT (devdesk#45): started by the status
# line when the 5-hour plan window passes DEVDESK_USAGE_WARN percent. Once per
# window, and only when no client is attached to any session (you're away; a
# browser tab shows its own warning).
# window, and only when no DevDesk tab has been in view for ~2 minutes (presence
# markers; you're away. A tab in view shows its own warning).
if [ "${1:-}" = --usage ]; then
pct=${2:-} resets=${3:-}
[[ $pct =~ ^[0-9]+$ && $resets =~ ^[0-9]+$ ]] || exit 0
@@ -36,7 +36,7 @@ if [ "${1:-}" = --usage ]; then
[ "$(cat "$marker" 2>/dev/null)" != "$resets" ] || exit 0
printf '%s\n' "$resets" >"$marker"
[ -r "$DEVDESK_MATRIX_WEBHOOK_FILE" ] || exit 0
[ -z "$(dd_tmux list-clients -F x 2>/dev/null)" ] || exit 0
[ -z "$(find "$DEVDESK_PRESENCE_DIR" -type f 2>/dev/null | head -n 1)" ] || exit 0
at=$(date -d "@$resets" '+%H:%M %Z')
post "$(jq -cMn --arg p "$pct" --arg at "$at" --arg h "$(hostname)" \
'{kind: "usage", host: $h, text: "Claude plan usage is at \($p)% of the 5-hour window; it resets at \($at)."}')"