Skip to content

fix: do targeted PR lookups for task branches not in batch#16

Merged
piotrostr merged 6 commits intomainfrom
fix-pr-numbers-and-github-status
Jan 28, 2026
Merged

fix: do targeted PR lookups for task branches not in batch#16
piotrostr merged 6 commits intomainfrom
fix-pr-numbers-and-github-status

Conversation

@piotrostr
Copy link
Owner

Summary

  • The batch query only fetches 100 most recently updated PRs
  • For repos with many PRs (like reflex with 817), older merged PRs aren't in the batch
  • Now does targeted gh pr view <branch> lookups for task branches not found in batch
  • This ensures merged PRs are detected even if they're not in the top 100 by update time

Test plan

  • All existing tests pass
  • Manual test: tasks with older merged PRs should now appear in Done column

piotrostr and others added 6 commits January 28, 2026 10:35
Previously, PR info was only looked up via worktree branch names.
When a PR was merged and the branch deleted, there was no worktree
to match against, so merged PRs were never found - causing tasks
to stay in "In Progress" instead of moving to "Done".

The fix updates task-to-PR matching to:
1. Use consistent branch name derivation (including Linear ID prefixes)
2. Try multiple lookup strategies:
   - First via worktree branch name (existing behavior)
   - Then via expected branch name directly (for merged PRs)
   - Then fallback search for any matching PR branch

Also moved task_title_to_branch to state/tasks.rs for reuse.

Co-Authored-By: piotrek & opus <noreply@anthropic.com>
Similar to TanStack Query's refetchOnMount behavior - trigger immediate
refetch of PR and session info when:
- Returning from TaskDetail, Worktrees, Logs, or Search views
- Detaching from a Zellij session

This ensures fresh data is displayed immediately rather than waiting
for the next poll interval.

Co-Authored-By: piotrek & opus <noreply@anthropic.com>
Previously, if a task had a stored pr_status field (from the task file),
it would use that instead of the live fetched PR data. This meant tasks
would stay in their old state even after PRs were merged.

Now live fetched PR data takes priority since it's always more accurate
and up-to-date than the stored value.

Co-Authored-By: piotrek & opus <noreply@anthropic.com>
The batch query only fetches the 100 most recently updated PRs.
For repos with many PRs (e.g., 817), older merged PRs won't be in
the batch result.

Now we also do targeted `gh pr view <branch>` lookups for task
branches that weren't found in the batch query. This ensures merged
PRs are detected even if they're not in the top 100 by update time.

Co-Authored-By: piotrek & opus <noreply@anthropic.com>
@piotrostr piotrostr merged commit 999a4d2 into main Jan 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant