fix: v0.9.3 plan usage instead of API-price cost; larger footer
build-deb / Lint, test, package (push) Successful in 2m15s
build-deb / Deploy to CT 126 (push) Successful in 7s
build-deb / Notify on failure (push) Skipped

- Footer shows "5h N%" when Claude sends rate_limits (Pro/Max); the
  dollar figure is an API-price estimate, so it is kept only for API-key
  billing. Sessions tooltip follows suit. Closes #40
- Bottom row: 40px, larger hints, bold 1rem usage meters with wider bars;
  narrow windows drop hints instead of clipping the meters. Closes #41
- bats setup unsets inherited DevDesk env so tests pass inside DevDesk

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-11 22:07:39 -04:00
co-authored by Claude Opus 5.5
parent c0f475bffe
commit 963d2f5413
6 changed files with 57 additions and 9 deletions
+12
View File
@@ -5,6 +5,7 @@ REPO=$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)
setup() {
TMP=$(mktemp -d /tmp/devdesk-test.XXXXXX) # short path: unix socket limit
unset DEVDESK_REMOTE_CONTROL CLAUDE_ARGS DEVDESK_SESSION TMUX TMUX_PANE # when run from inside DevDesk
export DEVDESK_ENV=/dev/null
export DEVDESK_PROJECTS_ROOT="$TMP/projects"
export DEVDESK_STATE_DIR="$TMP/state"
@@ -200,6 +201,17 @@ claude_args() {
[ "$(jq -r '.sessions[] | select(.name=="alpha") | .context.model' <<<"$output")" = Opus ]
}
@test "statusline footer shows plan use on a subscription and dollars only on API billing" {
sub='{"model":{"display_name":"Opus"},"context_window":{"used_percentage":10},
"cost":{"total_cost_usd":1186.99},"rate_limits":{"five_hour":{"used_percentage":8.4}}}'
run bash -c "echo '$sub' | '$REPO/libexec/devdesk-statusline'"
[[ $output == *"5h 8%"* ]]
[[ $output != *'$'* ]]
api='{"model":{"display_name":"Opus"},"context_window":{"used_percentage":10},"cost":{"total_cost_usd":1.5}}'
run bash -c "echo '$api' | '$REPO/libexec/devdesk-statusline'"
[[ $output == *'$1.5'* ]]
}
@test "hooks ignore Claude running in some other tmux server" {
start_server
other="$TMP/other.sock"