refactor(web): the pull request list's grouping helper lives in a logic module#22727

merged1
refactor/split-pull-requests-speed-mode
refactor/split-pull-requests-groups-logic
opened3d agobyJJulius Marminge
View on GitHubTwo-way sync enabledPR last imported 3d ago

pullRequestGroups is a plain function, not a hook, so it moves from usePullRequestListView.ts into pullRequestListGroups.logic.ts, with pullRequestListEntryId, which both it and the display-groups hook use. Code moved verbatim; no behavior change.

FileBeforeAfter
usePullRequestListView.ts434320
pullRequestListGroups.logic.ts-127

Tests run: tsc --noEmit for apps/web, vp lint on the changed files, vp test run src/reactCompilerCoverage.test.ts -t pullRequest.

Part of the pull request page split stack: #22671 → #22672 → #22702 → #22703 → #22704 → #22705 → #22706 → #22726 → #22727.

🤖 Generated with Claude Code

Checks

All checks passed

Added 1 commit

  • refactor(web): the pull request list's grouping helper lives in a logic modulec5ebd2c
Synced from GitHub

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for c5ebd2c.

This comment will update automatically after the next completed run.

Synced from GitHub

Approvability

Verdict: Approved at c5ebd2c

Macroscope's review found this PR approvable — This PR mechanically extracts the pull-request grouping and surface-ID helpers into a logic module while preserving their callers and implementation. It does not add capabilities, change product defaults, or alter static-analysis settings.

You can add or adjust custom eligibility rules. Learn more.

Synced from GitHub

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Team
  • Run ID: dfec843b-6a2e-4464-8acc-243b2b811759
📥 Commits

Reviewing files that changed from the base of the PR and between 0290927ccadf16aca93b4ba8349222209c6e6302 and c5ebd2c16c91a64e4a8f08ee2db17230d6a0ad5e.

📒 Files selected for processing: 3
  • apps/web/src/components/pullRequest/PullRequestsPage.tsx
  • apps/web/src/components/pullRequest/pullRequestListGroups.logic.ts
  • apps/web/src/components/pullRequest/usePullRequestListView.ts

Limit details: You’ve used all 10 included reviews currently available.

📝 Walkthrough

Pull-request list grouping and entry-ID logic moved from usePullRequestListView into pullRequestListGroups.logic. The view module and page now import the relevant functions from that dedicated module.

Changes: Pull request list grouping

Layer / File(s)Summary
Grouping and filtering logic
apps/web/src/components/pullRequest/pullRequestListGroups.logic.ts, apps/web/src/components/pullRequest/usePullRequestListView.ts
The dedicated module defines entry IDs and the pull-request filtering, sorting, grouping, tab-status, and lookup-map logic. The previous definitions were removed from the view module.
Module imports
apps/web/src/components/pullRequest/usePullRequestListView.ts, apps/web/src/components/pullRequest/PullRequestsPage.tsx
The view module and page import the grouping functions from the dedicated module. Unused imports were removed from the view module.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Refactor

Merge Risk: ⚪ Minimal · up to c5ebd

The grouping extraction appears mergeable after normal checks; no behavior change or merge-blocking issue is identified.

Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check nameStatusExplanationResolution
Description checkWarningThe description explains the code move and lists verification commands, but it does not provide the required Problem, Scope and approval, or structured Change and Verification sections. It also does n…Add the required Problem, Change, Scope and approval, and Verification sections. Describe the underlying problem and expected outcome, explain the file changes, provide the related issue or explicit maintainer approval, or justify the small…
Passed Passed checks: 3 passed
Check nameStatusExplanation
Title checkPassedThe title clearly and concisely describes the main refactor: moving the pull-request grouping helper into a logic module.
Linked Issues checkPassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes checkPassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains the code move and lists verification commands, but it does not provide the required Problem, Scope and approval, or structured Change and Verification sections. It also does not explain why the refactor qualifies without prior issue or maintainer approval.

Resolution

Add the required Problem, Change, Scope and approval, and Verification sections. Describe the underlying problem and expected outcome, explain the file changes, provide the related issue or explicit maintainer approval, or justify the small focused refactor exemption, and document the observed results and any checks not run.

✨ Finishing Touches: 💡 1
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Usage-based review receipt

Note

This review was completed with usage-based billing: files reviewed beyond your plan's included limits are billed at $0.25/file. View usage-based billing.

Comment @coderabbitai help to get the list of available commands.