feat: v0.10.0 quieter Matrix, worktrees, usage pace, repo diffs, copy reply, turn timer, compact
build-deb / Notify on failure (push) Successful in 4s
build-deb / Lint, test, package (push) Failing after 2m22s
build-deb / Deploy to CT 126 (push) Skipped

- Matrix "needs you": ignore Claude's idle reminder (no red, no post); post
  only when no tab is in view, after 60 s, once per session per 10 min, and
  say what is asked. Closes #50
- devdesk new NAME PROJECT --worktree: own checkout on devdesk/NAME,
  cleaned up on end when clean/merged. Closes #44
- Usage meters: reset time, pace warning; Matrix ping past 90% when away.
  Closes #45
- Repo panel lists changed files; click opens the diff. Closes #46
- Copy Claude's last reply (--last-reply). Closes #47
- Turn timer in chip, title and cards. Closes #48
- Compact button at 80% context when idle. Closes #49

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 23:28:11 -04:00
co-authored by Claude Opus 5.5
parent bf8821f3f9
commit a2edec966a
17 changed files with 556 additions and 78 deletions
+29 -4
View File
@@ -375,6 +375,7 @@ body.dd-sidebar-open .dd-sidebar {
}
.dd-new-session .lt-input { grid-column: 1 / -1; font-size: 0.74rem; }
.dd-new-session .lt-select { min-width: 0; font-size: 0.72rem; }
.dd-new-session .dd-check { grid-column: 1 / -1; }
.dd-status.is-error { color: var(--accent-red); }
@@ -497,13 +498,17 @@ body.dd-sidebar-open .dd-sidebar {
.dd-footer .lt-footer-hint { font-size: 0.9rem; }
.dd-footer .lt-footer-sep { font-size: 0.9rem; }
/* Narrower windows keep the usage meters and drop the least-used hints. */
@media (max-width: 1400px) {
@media (max-width: 1700px) {
.dd-footer .lt-footer-hints .lt-footer-hint:nth-child(n + 13),
.dd-footer .lt-footer-sep:nth-child(n + 12) { display: none; }
}
@media (max-width: 1150px) {
.dd-footer .lt-footer-hints .lt-footer-hint:nth-child(n + 9),
.dd-footer .lt-footer-sep:nth-child(n + 8) { display: none; }
@media (max-width: 1500px) {
.dd-footer .lt-footer-hints .lt-footer-hint:nth-child(n + 11),
.dd-footer .lt-footer-sep:nth-child(n + 10) { display: none; }
}
@media (max-width: 1250px) {
.dd-footer .lt-footer-hints .lt-footer-hint:nth-child(n + 7),
.dd-footer .lt-footer-sep:nth-child(n + 6) { display: none; }
}
.dd-keybar { display: flex; gap: 4px; width: 100%; overflow-x: auto; scrollbar-width: none; }
@@ -1026,6 +1031,16 @@ html[data-theme="light"] .dd-files.is-narrow .dd-explorer { box-shadow: 8px 0 24
.dd-footer-usage .dd-meter { gap: 7px; color: var(--text-primary); font-family: var(--font-mono); font-size: 1rem; font-weight: 600; }
.dd-footer-usage .dd-meter-label { font-weight: 400; }
.dd-footer-usage .dd-meter-bar { width: 80px; height: 8px; }
.dd-meter-reset { color: var(--text-muted); font-weight: 400; }
.dd-meter-pace { color: var(--accent-amber); }
/* Turn timer in the session chip (devdesk#48) */
.dd-turn-timer { margin-left: 6px; color: var(--accent-amber); font-family: var(--font-mono); font-size: 0.85em; }
.dd-turn-timer[hidden] { display: none; }
.dd-session-actions .dd-compact { color: var(--accent-amber); }
.dd-wt { color: var(--accent-cyan); }
.dd-check { display: flex; align-items: center; gap: 6px; color: var(--text-secondary); font-size: 0.74rem; cursor: pointer; }
.dd-check[hidden] { display: none; }
.dd-check input { accent-color: var(--accent-cyan); }
.dd-meter-label { color: var(--text-muted); }
.dd-meter-bar { width: 42px; height: 4px; background: var(--bg-tertiary); }
.dd-meter-fill { display: block; height: 100%; background: var(--accent-cyan); }
@@ -1038,3 +1053,13 @@ body.dd-touch .dd-footer-usage { display: none; }
.dd-pr { margin-left: 6px; padding: 0 4px; border: 1px solid var(--border-color); color: var(--text-secondary); font-size: 0.58rem; font-weight: 400; text-decoration: none; vertical-align: middle; }
.dd-pr.is-approved { border-color: var(--accent-green-border); color: var(--accent-green); }
.dd-pr.is-changes_requested { border-color: rgba(255, 45, 85, 0.4); color: var(--accent-red); }
/* Repo panel: changed files open as diffs (devdesk#46) */
.dd-repo-changes { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }
.dd-repo-changes[hidden] { display: none; }
.dd-repo-changes .dd-muted { font-size: 0.68rem; padding: 2px 6px; }
.dd-repo-change { display: flex; width: 100%; gap: 8px; align-items: baseline; padding: 3px 6px; border: 0; background: none; color: var(--text-secondary); font-family: var(--font-mono); font-size: 0.72rem; text-align: left; cursor: pointer; }
.dd-repo-change:hover, .dd-repo-change:focus-visible { background: var(--bg-tertiary); color: var(--accent-cyan); }
.dd-repo-change-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dd-repo-change-stat { flex: none; color: var(--text-muted); }
.dd-link-btn { padding: 0; border: 0; background: none; color: var(--accent-cyan); font: inherit; text-decoration: underline dotted; cursor: pointer; }