| β¦ | β¦ | @@ -575,6 +590,66 @@ export function createPullRequestEnvironmentAtoms<R, E>( | |
| 611 | + | // Both are patched at once and then read again: a GitLab that allows one assignee | |
| 612 | + | // replaces the one already there, and somebody found only by the host's search is not | |
| 613 | + | // in the candidates to patch. | |
| 614 | + | updateCached( | |
π High state/pullRequests.ts:614
After unassigning a GitLab user found beyond the first candidates page, the menu still shows that user as assigned and clicking again sends another unassign: onSuccess refreshes assigneeCandidates and detail but leaves the mounted assigneeSearch result stale. Refresh or patch the matching search results when the mutation succeeds.
π€ Copy this AI Prompt to have your agent fix this:
| 1 | In file @packages/client-runtime/src/state/pullRequests.ts around line 614: |
| 2 | |
| 3 | After unassigning a GitLab user found beyond the first candidates page, the menu still shows that user as assigned and clicking again sends another unassign: `onSuccess` refreshes `assigneeCandidates` and `detail` but leaves the mounted `assigneeSearch` result stale. Refresh or patch the matching search results when the mutation succeeds. |
Fixed: after a successful change the picker now refreshes the search result on screen, since search results are keyed by the query and the command can't reach them.
Sorry, I'm unable to act on this request because you do not have permissions within this repository.
8a9f310Open thread| β¦ | β¦ | @@ -0,0 +1,130 @@ | |
| 106 | + | query.trim().length > 0 && | |
| 107 | + | (searchQuery !== query.trim() || searchResult.isPending)) | |
| 108 | + | } | |
| 109 | + | error={candidatesQuery.data === null ? candidatesQuery.error : null} | |
π‘ Medium pullRequest/PullRequestAssigneePicker.tsx:109
When the truncated candidate list's assigneeSearch request fails, the picker shows βNobody who can be assigned matches thatβ instead of the search error, so users are misled into thinking there are no matches. This prop only forwards candidatesQuery.error; pass searchResult.error through when the host search is active.
| 1 | error={candidatesQuery.data === null ? candidatesQuery.error : searchesHost ? searchResult.error : null} |
π€ Copy this AI Prompt to have your agent fix this:
| 1 | In file @apps/web/src/components/pullRequest/PullRequestAssigneePicker.tsx around line 109: |
| 2 | |
| 3 | When the truncated candidate list's `assigneeSearch` request fails, the picker shows βNobody who can be assigned matches thatβ instead of the search error, so users are misled into thinking there are no matches. This prop only forwards `candidatesQuery.error`; pass `searchResult.error` through when the host search is active. |
Fixed in 67036eb: when the host search is active and nothing matches, the picker shows the search error instead of "Nobody matches".
Sorry, I'm unable to act on this request because you do not have permissions within this repository.