Skip to content
This repository was archived by the owner on Mar 10, 2026. It is now read-only.

Add global project picker and extract shared project navigation logic#19

Merged
rexlManu merged 1 commit intomainfrom
t3code/port-thread-project-picker
Mar 8, 2026
Merged

Add global project picker and extract shared project navigation logic#19
rexlManu merged 1 commit intomainfrom
t3code/port-thread-project-picker

Conversation

@rexlManu
Copy link
Copy Markdown
Owner

@rexlManu rexlManu commented Mar 8, 2026

Summary

  • Adds a global project picker dialog (chat.projectPicker) with default shortcut mod+k when terminal is not focused.
  • Introduces reusable project/thread picker UI components and search utilities, including project favicons and thread status indicators.
  • Extracts shared project navigation behavior into useProjectNavigation to avoid duplicated draft-thread routing logic.
  • Refactors sidebar to consume shared navigation/status helpers instead of local implementations.
  • Expands keybinding/search/navigation test coverage across server, web, and contracts packages.

Testing

  • Added/updated unit tests:
  • apps/server/src/keybindings.test.ts (project picker shortcut compile coverage)
  • apps/web/src/keybindings.test.ts (web keybinding handling for project picker)
  • packages/contracts/src/keybindings.test.ts (contract keybinding schema coverage)
  • apps/web/src/hooks/useProjectNavigation.test.ts (draft thread/project navigation behavior)
  • apps/web/src/lib/projectPickerSearch.test.ts (project/thread picker search behavior)
  • bun lint: Not run
  • bun typecheck: Not run

- Add `chat.projectPicker` keybinding (`mod+k`) across contracts, server, and web
- Introduce project picker dialog with searchable projects/threads and status indicators
- Extract shared `ProjectFavicon`, thread status helpers, and `useProjectNavigation` with tests
@rexlManu rexlManu merged commit 4c58fdb into main Mar 8, 2026
1 check failed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant