Skip to content

feat(agent): improve Agent Mode sidebar behavior - #745

Open
marksftw wants to merge 1 commit into
masterfrom
codex-agent-mode-sidebar-maple
Open

feat(agent): improve Agent Mode sidebar behavior#745
marksftw wants to merge 1 commit into
masterfrom
codex-agent-mode-sidebar-maple

Conversation

@marksftw

@marksftw marksftw commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Persist account-scoped project disclosure and display-name preferences, with disclosure-first draggable project headers and project rename support.
  • Refine Agent task rows with denser spacing, right-aligned status/actions, selected and hover treatments, overflow tooltips, and accessible running/unread labels.
  • Add aggregate Agent status to the closed-sidebar toggle and preserve touch, keyboard, and reduced-motion behavior.
  • Expand project actions with per-project New Task and Open Project Folder using the existing Tauri opener capability.
agent-sidebar-changes.mov

Why

The Agent Mode sidebar needed clearer project disclosure behavior, denser task presentation, persistent user preferences, and better visibility into running or unread work while the sidebar is closed.

The apparent delayed click on a project was traced to the six-pixel drag activation threshold: small pointer drift could start a no-op drag and suppress the disclosure click. The threshold is now 10px so normal trackpad clicks are more forgiving while intentional reordering remains available.

Review-driven refinements

These intentionally supersede the original issue wording based on product feedback during local review:

  • New Task is available on every project row.
  • The folder action lives in the project menu and is labeled Open Project Folder.

Validation

  • Prettier check
  • Production frontend build
  • bun run typecheck
  • bun run lint — 0 errors; 13 existing warnings
  • bun test — 553 passed
  • git diff --check
  • Local unsigned macOS Maple.app build
  • Manual menu, disclosure, tooltip, and final-project pointer interaction checks

Fixes #738

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying maple with  Cloudflare Pages  Cloudflare Pages

Latest commit: c937746
Status: ✅  Deploy successful!
Preview URL: https://97decf1b.maple-ca8.pages.dev
Branch Preview URL: https://codex-agent-mode-sidebar-map.maple-ca8.pages.dev

View logs

@marksftw

marksftw commented Aug 8, 2026

Copy link
Copy Markdown
Contributor Author

Independent code-review summary

I ran three independent read-only reviews of the latest local follow-up diff from different angles: functional/state correctness, simplicity and scope, and UI interaction/accessibility.

Scope note: the draft PR currently points to c937746. The hover-card, unread-count, and reconciliation changes reviewed below are still local and have not yet been committed or pushed.

Validated and fixed locally

  • Closed an unread-state race where a background task could finish during task selection and leave the newly active task incorrectly marked unread.
  • Pinned @radix-ui/react-hover-card to 1.1.15, aligning it with Maple's existing Radix dependency graph and reducing the lockfile delta from 87 lines to 3.
  • Removed redundant presentation helpers, six low-value tests, and feature-added source comments.
  • Kept focused coverage for middle path truncation, unread/task-count labels, and the Open Project Folder interaction.

Validated behavior

  • Project unread counts are derived only from that project's current tasks.
  • “In progress” uses actual active/pending Agent runs rather than transient task-selection loading.
  • Project and task hover-card state remains safe across drag, menu, resize, and touch-layout transitions.
  • Clicking a card's folder path reuses the existing Open Project Folder action and cannot toggle disclosure or begin a project drag.
  • Coarse/no-hover layouts bypass Hover Card triggers, preserving the larger persistent touch controls.
  • Portalled pointer events are isolated without disabling Radix's internal pointer tracking.
  • The exact unread clear at task-selection commit is correctly ordered for both sides of the completion race.

Accepted limitation

Radix Hover Card makes descendants non-tabbable, so the folder shortcut inside a card is pointer-only. The project menu retains the same keyboard-accessible Open Project Folder action. Replacing the primitive would be substantially more invasive for no functional gain.

Verification

  • bun test: 575 passed, 0 failed
  • Typecheck: passed
  • ESLint: passed
  • Production frontend build: passed
  • Unsigned macOS Maple.app build: passed
  • git diff --check: clean

No blocker remains in the reviewed local diff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Agent Mode sidebar behavior changes

1 participant