Skip to content

fix(search): preserve native result links for modified clicks - #1405

Merged
tannerlinsley merged 1 commit into
mainfrom
taren/search-result-native-links
Oct 20, 2026
Merged

tannerlinsley merged 1 commit into
mainfrom
taren/search-result-native-links

Conversation

@tannerlinsley

@tannerlinsley tannerlinsley commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Search results currently render as command items without links, so Cmd-click closes the palette and navigates the current tab. Render each result as a native link inside its command item, and keep modified clicks from activating or closing the palette. Ordinary clicks and cmdk keyboard selection still navigate normally.

Continues the modifier-click report from #846 by @shaneikennedy against the current search implementation. The separate focus work remains tracked in #1021 and #848.

AI review notes:
An isolated browser fixture rendered the actual Hit component with cmdk and TanStack Router, using a stubbed search context and framework preference. Before the fix, Cmd-click navigated the current tab and called close once. Afterward, it opened a destination tab without closing the palette; ordinary click, Enter from the input, and Enter on the link each navigated and called close once. Full pnpm test passed. This fixture does not exercise live Algolia search.

Summary by CodeRabbit

  • Bug Fixes
    • Modified-click behavior on search results now works as expected, allowing links to open in new tabs or windows.
    • Search result links now provide a more consistent clickable area and interaction behavior.

@changeset-bot

changeset-bot Bot commented Oct 20, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 7c5bece

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2a791c1e-71bc-4ec5-9876-1d43ed7d7b42
📥 Commits

Reviewing files that changed from the base of the PR and between e368746 and 7c5bece.

📒 Files selected for processing: 1
  • src/components/SearchShared.tsx

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.

📝 Walkthrough

Search result clicks now stop propagation. Modified clicks skip activation. Command results render inside SafeLink and use the shared click handler.

Changes: Search Result Click Handling

Layer / File(s) Summary
Handle clicks on command results
src/components/SearchShared.tsx
The shared click handler skips activation for Meta, Ctrl, Shift, or Alt clicks. Command results render inside SafeLink and use the handler. Padding moves from the command item to the link.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Bug fix

Suggested reviewers: ladybluenotes

Merge Risk: ⚪ Minimal · up to 7c5be

No actionable merge-blocking risk is established.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: preserving native search-result link behavior for modified clicks.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1 files.

✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
tanstack-com 7c5bece Commit Preview URL

Branch Preview URL
Oct 20 2026, 09:34 AM

@tannerlinsley
tannerlinsley merged commit 4e1be93 into main Oct 20, 2026
8 checks passed
@tannerlinsley
tannerlinsley deleted the taren/search-result-native-links branch October 20, 2026 09:40
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.

1 participant