mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-22 01:02:41 +00:00
* feat(app): find workspaces by PR/MR number in the command center The command center matched workspaces on title, host, project, and branch. Typing the change-request number you actually remember found nothing, so you had to recall the branch name instead. Workspace results now carry their pull/merge request number, and a numeric query resolves it directly: 42, #42, !42, pr 42, and mr 42 all reach the same workspace. Matching compares the parsed number exactly rather than as a substring, so 42 no longer drags in PR 142 or a branch that happens to contain those digits. Exact number hits sort above ordinary text matches for the same query. Nothing changes visually. The number is a search key only; result rows render exactly as before. The number is read from the pull request the daemon already sends. selectPrHintFromStatus is the fallback only: it derives the number by parsing the PR/MR URL, which yields nothing for a noncanonical or absent URL even when the daemon sent a usable number. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * test(app): exercise change-request parsing through the matcher parseChangeRequestQuery was exported only so the test could reach it, which made an implementation helper part of the module surface and let the parser cases pass without covering how the parser composes with workspace matching. Unexport it and drive the same spellings through matchWorkspaceQuery. The rejection cases now assert what they actually protect: a query like fix-42-retries must not take the number path, so a workspace whose PR is 42 does not match it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>