Skip to content

UX polish batch: nine small verified fixes #214

Description

@johannesjo

All small, independently fixable, and verified against the code. Checklist form so they can be picked off one at a time (several are good first issues):

  • Setting label says "on merge" but acts on close. "Always delete branch and worklog on merge" (EditProjectDialog.tsx:348) toggles deleteBranchOnClose, whose only readers are close paths (tasks.ts:417, TaskPanel.tsx:598, CloseTaskDialog.tsx:99); the merge path uses a separate cleanupAfterMerge checkbox. Also "worklog" is presumably "worktree".
  • Worktree path clips without ellipsis. TaskBranchInfoBar.tsx:247 renders the full path inside a nested inline-flex <button>; the InfoBar's declared text-overflow: ellipsis (InfoBar.tsx:33-35) can't apply to a nested flex child, so long paths clip hard. Abbreviate with the ~-shortening already used in the sidebar and put the full path in the tooltip.
  • Dead overlay rule. .dialog-overlay background in styles.css:1363 (44% black) is always overridden by the inline rgba(0,0,0,0.55) in Dialog.tsx:94 — they disagree by 11%; delete one.
  • Import continues after Cancel. ImportWorktreesDialog Cancel is never disabled (:305-317); the sequential createImportedTask loop (:113-121) keeps running after close, reporting into an unmounted dialog. Disable Cancel while importing or toast on background completion.
  • Arena swallows Escape. App.tsx:685 if (store.showArena) return; — wire Escape to close the arena (or its internal back navigation).
  • Keybinding-migration banner reflows the whole app. Injected between titlebar and main (App.tsx:818-886), so every task column and terminal reflows when it appears/dismisses. Make it a toast/dialog instead.
  • Silent no-op shortcuts. mergeTask/pushTask early-return without feedback on precondition failure (tasks.ts:566-571, 613-616); the keyboard handlers (App.tsx:663-670) don't pre-check git isolation, so merge/push shortcuts on a non-worktree task do nothing silently. Show a brief notification.
  • Plan dialog abandons the brand font stack. styles.css:2097 uses -apple-system, … instead of var(--font-ui); 'JetBrains Mono' hardcoded at :2153,2163 and NewTaskDialog.tsx:1095 instead of var(--font-mono).
  • Plan-review inline comment cards overlap the paragraph text they annotate (visible in screens/islands-plan-review.png — the "Goal" paragraph is cut off by the floating comment card). Give the cards their own flow slot instead of overlaying.

From a full design/UX audit (2026-07-07); adversarially verified. Line numbers as of b342bbd (v1.12.0).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgood first issueGood for newcomersuxUX / design improvements

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions