feat(desktop): support multiple PR author filters
What & why
The PR author filter previously allowed one author or everyone, making it difficult to follow a small team's PRs. Authors can now be toggled individually while the picker stays open, with “All authors” clearing the selection. Selected usernames remain available even when absent from the repository's contributor list.
The shared PR list/detail view saves multiple authors and carries them through navigation. GitHub searches and direct PR lookups match any selected author, while retaining repository, state, and review filters. Existing single-author links and preferences remain compatible. The separate New Workspace PR picker is unchanged.
How I tested it
- Real Electron CDP test in this worktree: captured the original single-author replacement behavior, then selected two authors with the updated picker (30 combined PRs), navigated to Tasks and back, removed one author (29 PRs), and cleared the filter. No console errors during the updated-picker flow.
- Before/after screenshots and captured CDP state (Superset organization access required). Evidence assets are kept outside the code diff.
- 57 targeted tests passed: author-picker interaction (1), filter normalization/persistence (12), and GitHub procedure integration tests covering gh and Octokit (44).
- Repo-wide
bun run lintandbun run typecheckpassed, as didbun run check:i18nandbun run check:plugins. - The full desktop suite now passes: 3,734 tests, zero failures. CI initially exposed a global React Query mock in the project-settings test; that mock is now scoped to its own query so it cannot corrupt the author-picker test. Desktop typecheck also passed after this correction.
- Full
bun run teststopped onInvalid environment variablesinpackages/trpc/src/env.ts; it did not complete.
The CDP walkthrough covered one repository's open PRs. Other state/review combinations and the open-detail flow share the implementation but were not separately exercised in the live app.
Checklist
- PR title follows conventional commits (
type(scope): subject) -
bun run lintandbun run typecheckpass (CI fails on lint warnings too) - "Allow edits from maintainers" is checked on fork PRs — not applicable; same-repository branch
Summary by CodeRabbit
-
New Features
- Pull request author filtering now supports selecting multiple authors, with selections displayed together and retained when reopening the filter.
- Search results can match pull requests from any selected author.
- Supports up to 20 authors while preserving valid custom selections.
-
Bug Fixes
- Author filters are now normalized consistently, removing duplicates and rejecting invalid entries.
- Resetting the filter correctly returns to “All authors.”
-
Tests
- Added coverage for multi-author selection, persistence, validation, and search behavior.