Skip to content

feat(app): align searchable dialogs - #60162

Merged
usrnk1 merged 4 commits into
devfrom
compact-dialogs
Oct 29, 2026
Merged

usrnk1 merged 4 commits into
devfrom
compact-dialogs

Conversation

@usrnk1

@usrnk1 usrnk1 commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Issue for this PR

N/A — UI alignment with the recently updated search, command, and project pickers.

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

  • Apply compact, content-height layouts to MCP, Fork, and plugin selection dialogs.
  • Put “Choose a message to fork from” below Fork’s search field instead of a separate header.
  • Add local-only preview stories and layout regression coverage. Existing actions and keyboard navigation stay intact.

How did you verify your code works?

  • Root bun run check and app bun typecheck pass.
  • All 12 MCP dialog/popover keeper cases pass. The settings-shortcut case was excluded after reproducing its timeout on dev.
  • All 31 Fork/plugin component tests pass; the Fork layout test also passed 10 repeated runs.
  • Cold app component suite: 195/197 pass. The question-dock animation failure also reproduces on dev; the composer-history failure does not reproduce in three focused reruns on either branch.
  • Reviewed light/dark, narrow-screen, and RTL captures. Verified the stories in the app’s components lab without live MCP actions.

Visual

<svg xmlns="http://www.w3.org/2000/svg" width="240" height="72" viewBox="0 0 240 72" fill="none">
  <style>
    .panel{transform-origin:30px 10px;animation:fit 4s ease-in-out infinite}
    .extra{animation:fade 4s ease-in-out infinite}
    @keyframes fit{0%,20%,85%,100%{transform:scaleY(1)}45%,65%{transform:scaleY(.72)}}
    @keyframes fade{0%,20%,85%,100%{opacity:.4}40%,70%{opacity:0}}
    @media(prefers-reduced-motion:reduce){.panel,.extra{animation:none}}
  </style>
  <rect class="panel" x="30" y="10" width="180" height="52" rx="6" stroke="currentColor" opacity=".35"/>
  <circle cx="42" cy="22" r="3" stroke="currentColor" opacity=".55"/>
  <path d="m44 24 2 2M53 22h47M31 33h178" stroke="currentColor" opacity=".3"/>
  <rect x="36" y="38" width="168" height="9" rx="3" fill="currentColor" opacity=".1"/>
  <path d="M42 42.5h88" stroke="currentColor" opacity=".65"/>
  <path class="extra" d="M42 54h117" stroke="currentColor" opacity=".4"/>
</svg>

Screenshots / recordings

Dialog Before After
MCP MCP before MCP after
Fork Fork before Fork after
Plugin selection Plugin selection before Plugin selection after

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

@opencodejr opencodejr Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks sound. I ran the new Fork component test (3 repeated runs), the full mcp-workspace-toggle.spec.ts e2e file (13/13, including the settings-shortcut case) and tsc -b in packages/app; all pass. I also checked the new MCP, Fork and plugin stories in the browser. The dialogs fit their content, keep the search field in place while filtering and scrolling, and existing toggle, pending and fork behaviour is unchanged by the split into presentational components. The package's typecheck script (bun check --no-script -b) fails here with "Script not found: check", so I ran tsc -b instead.

Public API: unchanged (internal app components, CSS and one English i18n string only).

No blocking concerns.

After

After

@opencodejr opencodejr Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new commit is lint cleanup only and changes no behaviour: blank lines, a lookup table in place of a nested ternary in the e2e open helper, and Predicate.isString in place of typeof checks. My earlier review raised no concerns, so there was nothing for it to address. At the new head, the Fork component test passes, all 13 cases in mcp-workspace-toggle.spec.ts pass, and tsc -b in packages/app passes.

Public API: unchanged.

No new concerns.

@usrnk1
usrnk1 enabled auto-merge (squash) October 29, 2026 08:50

@opencodejr opencodejr Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This push only merges dev and leaves the pull request's own files unchanged. Comparing the head with the dev commit it merged shows only this pull request's 10 files, so the merge resolved cleanly. tsc -b in packages/app and the Fork component test still pass.

Public API: unchanged.

No new concerns.

@usrnk1
usrnk1 merged commit 1341387 into dev Oct 29, 2026
20 checks passed
@usrnk1
usrnk1 deleted the compact-dialogs branch October 29, 2026 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants