Skip to content

Add cross-references, overlapping PR detection, and search to TUI#64579

Merged
potiuk merged 2 commits intoapache:mainfrom
andreahlert:feat/xref-overlapping-prs
Apr 1, 2026
Merged

Add cross-references, overlapping PR detection, and search to TUI#64579
potiuk merged 2 commits intoapache:mainfrom
andreahlert:feat/xref-overlapping-prs

Conversation

@andreahlert
Copy link
Copy Markdown
Contributor

@andreahlert andreahlert commented Apr 1, 2026

Summary

Why

When triaging a batch of PRs, each one is evaluated in isolation. The maintainer has no way to tell from the TUI whether two open PRs modify the same files (potential merge conflicts or semantic conflicts) or which issues and PRs are referenced in the description. This context matters for triage decisions and today requires manually checking each PR on GitHub.

  • Extract #N references from PR bodies and display them as clickable links in the TUI detail panel.
  • Fetch all diffs during the loading phase, parse file paths, and detect open PRs that modify the same files. Overlapping PRs are shown in the detail panel with shared file names.
  • Add / key to jump to a PR by number.
  • New module pr_context.py with 14 unit tests covering extraction and overlap logic.
image

Test plan


Was generative AI tooling used to co-author this PR?
  • No

  • Read the Pull Request Guidelines for more information. Note: commit author/co-author name and email in commits become permanently public when merged.
  • For fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
  • When adding dependency, check compliance with the ASF 3rd Party License Policy.
  • For significant user-facing changes create newsfragment: {pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.

- Extract #N references from PR bodies and display them in the
  detail panel as clickable links.
- Parse file paths from diffs to detect open PRs that touch the
  same files. Overlapping PRs are shown in the detail panel with
  shared file names.
- Fetch all diffs during the loading phase so overlaps are ready
  before the TUI opens.
- Add "/" key to jump to a PR by number, title, or author name.

Signed-off-by: André Ahlert <andre@aex.partners>
@andreahlert andreahlert force-pushed the feat/xref-overlapping-prs branch from 2806931 to 98e4e5f Compare April 1, 2026 13:25
@andreahlert
Copy link
Copy Markdown
Contributor Author

Kept the / search to PR numbers only since it's more of a quick jump shortcut, we can explore proper filtering (by author, labels, etc.) as a separate thing later.

@potiuk
Copy link
Copy Markdown
Member

potiuk commented Apr 1, 2026

Can you please rebase to latest main and fix the mypy issue?

Signed-off-by: André Ahlert <andre@aex.partners>
@andreahlert andreahlert force-pushed the feat/xref-overlapping-prs branch from b95ff64 to 6442778 Compare April 1, 2026 17:54
@potiuk potiuk merged commit 979547f into apache:main Apr 1, 2026
140 of 142 checks passed
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

Backport failed to create: v3-2-test. View the failure log Run details

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
v3-2-test Commit Link

You can attempt to backport this manually by running:

cherry_picker 979547f v3-2-test

This should apply the commit to the v3-2-test branch and leave the commit in conflict state marking
the files that need manual conflict resolution.

After you have resolved the conflicts, you can continue the backport process by running:

cherry_picker --continue

If you don't have cherry-picker installed, see the installation guide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-tools backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants