Skip to content

feat: add Cmd+K global search and navigation command palette#9094

Open
ericokuma wants to merge 15 commits intomainfrom
eokuma/cmd-k-global-search
Open

feat: add Cmd+K global search and navigation command palette#9094
ericokuma wants to merge 15 commits intomainfrom
eokuma/cmd-k-global-search

Conversation

@ericokuma
Copy link
Contributor

  • Add Cmd+K / Ctrl+K command palette for fast cross-project navigation in Rill Cloud
  • Search across all projects, dashboards (explore + canvas), reports, and alerts the user has access to
  • Two-hop runtime auth: fetches project credentials then lists resources per project, batched in groups of 5
  • Client-side fuzzy search with results grouped by type (Projects, Dashboards, Reports, Alerts)
  • Context-aware default state: shows recently visited items (persisted in localStorage) and quick actions that adapt based on current page (org-level vs project-level)
  • Project-level quick actions: Project Home, AI Chat, Dashboards, Reports, Alerts, Status, Settings
  • Admin-only actions: User Management, Organization Settings (gated on manageOrg permission)
  • Quick actions are also searchable alongside resource results
  • Loading spinner on selected item during navigation with graceful fallback
  • Built with raw cmdk-sv primitives, styled with Rill semantic CSS variables for light/dark theme support
  • Mounted in the org layout ([organization]/+layout.svelte)

Checklist:

  • Covered by tests
  • Ran it and it works as intended
  • Reviewed the diff before requesting a review
  • Checked for unhandled edge cases
  • Linked the issues it closes
  • Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • Intend to cherry-pick into the release branch
  • I'm proud of this work!

Developed in collaboration with Claude Code

ericokuma and others added 15 commits March 20, 2026 14:27
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…uping

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ed two-hop auth

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…spired design

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…coded dark colors

Replace all hardcoded rgb() values with Rill's semantic CSS variables
(--surface-overlay, --fg-primary, --fg-muted, --border, etc.) so the
palette respects the platform's light/dark theme.

Also fix "stuck on Loading" bug by replacing Command.Loading with a
plain div for status messages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ForOrganizationAndUser

The ForOrganizationAndUser endpoint was returning errors. Switch to the
simpler ListProjectsForOrganization API which is the same one used by
the org home page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…l quick actions

- Keep dialog open during navigation with spinner on selected item
- Track recently visited items in localStorage, show in default state
- Context-aware quick actions: project-level nav (AI Chat, Dashboards,
  Reports, Alerts, Status, Settings) when inside a project; org-level
  nav (View all projects) otherwise
- Admin-only actions (User Management, Org Settings) when user has
  manageOrg permission
- Search also filters quick actions alongside resource results
- Fix Cmd+K conflict with time picker via stopImmediatePropagation
- Fix cmdk-sv lowercase value matching in onSelect handler
- Clean up debug logging and pointerup workarounds

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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