Skip to content

feat(go-to): add Cmd/Ctrl+P navigation palette COMPASS-11087 - #8409

Open
dwrth wants to merge 10 commits into
mongodb-js:mainfrom
dwrth:feat/go-to-palette
Open

feat(go-to): add Cmd/Ctrl+P navigation palette COMPASS-11087#8409
dwrth wants to merge 10 commits into
mongodb-js:mainfrom
dwrth:feat/go-to-palette

Conversation

@dwrth

@dwrth dwrth commented Aug 26, 2026

Copy link
Copy Markdown

Description

COMPASS-11087

Adds a flag-gated Go to command palette for jumping to connections, databases, and collections.

Behavior

  • Opens via Cmd/Ctrl+P or File → Go to… when enableGoTo is on
  • Fuzzy-searches connection / database / collection candidates (Fuse.js)
  • Activating a result opens the matching workspace (Databases / Collections / Collection)
  • Disconnected connection rows: connect first, then open Databases; connect failures keep the palette open with an inline error
  • On open, refreshes inventory from already-loaded sidebar data, then best-effort listDatabases / listCollections for connected hosts

Architecture

  • New plugin package @mongodb-js/compass-go-to
  • Wired into Compass desktop and Compass Web
  • Redux store builds candidates from connections + instance manager; activation goes through workspaces
  • Small fix in compass-connections so plugins keep a live connections.current (getter not frozen by useInitialValue)

Screenshots / video

demo inline-error

Checklist

  • New tests and/or benchmarks are included
  • Documentation is changed or added
  • If this change updates the UI, screenshots/videos are added and a design review is requested
  • If this change could impact the load on the MongoDB cluster, please describe the expected and worst case impact
  • I have signed the MongoDB Contributor License Agreement (https://www.mongodb.com/legal/contributor-agreement)

Cluster load: Opening the palette can trigger listDatabases and per-database listCollections for every connected host (same family of calls as sidebar refresh). Expected: modest extra load when the user opens Go to and inventory is already warm. Worst case: many connected hosts × many databases → many listCollections calls in parallel on each open; fetches are best-effort and do not block initial search against cached inventory.

Motivation and Context

Users need a fast keyboard-first way to jump to a connection, database, or collection without walking the sidebar. This is behind the development feature flag enableGoTo.

  • Bugfix
  • New feature
  • Dependency update
  • Misc

Open Questions

  • Whether inventory refresh should be throttled/deduped if the palette is opened repeatedly with many connections
  • Design Review needed

Dependents

  • /

Types of changes

  • Backport Needed
  • Patch (non-breaking change which fixes an issue)
  • Minor (non-breaking change which adds functionality)
  • Major (fix or feature that would cause existing functionality to change)