[PR #25662] feat: add circular scrolling to GotoAnything command menu #31156

Closed
opened 2026-02-21 20:48:56 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/25662

State: closed
Merged: Yes


Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

Fixes #25661

This PR adds circular scrolling (loop navigation) to the GotoAnything command menu. When users reach the end of the list and press the down arrow key, it now jumps to the first item. Similarly, pressing the up arrow at the first item jumps to the last item.

The implementation leverages cmdk's native loop prop, which is a minimal one-line change that significantly improves keyboard navigation UX.

Screenshots

Before After
Navigation stops at first/last item Navigation loops from last to first item and vice versa

Benefits

  • Improved navigation efficiency
  • Consistent with other command palettes (VS Code, Raycast, etc.)
  • Better user experience for keyboard-heavy users
  • No performance impact

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/25662 **State:** closed **Merged:** Yes --- > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 1. Ensure there is an associated issue and you have been assigned to it > 1. Use the correct syntax to link this PR: `Fixes #<issue number>`. ## Summary Fixes #25661 This PR adds circular scrolling (loop navigation) to the GotoAnything command menu. When users reach the end of the list and press the down arrow key, it now jumps to the first item. Similarly, pressing the up arrow at the first item jumps to the last item. The implementation leverages cmdk's native `loop` prop, which is a minimal one-line change that significantly improves keyboard navigation UX. ## Screenshots | Before | After | |--------|-------| | Navigation stops at first/last item | Navigation loops from last to first item and vice versa | ## Benefits - ✅ Improved navigation efficiency - ✅ Consistent with other command palettes (VS Code, Raycast, etc.) - ✅ Better user experience for keyboard-heavy users - ✅ No performance impact ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:48:56 -05:00
yindo closed this issue 2026-02-21 20:48:56 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#31156