Skip to content

refactor(task-page): colocate cross-provider composition owners - #33913

Merged
nwparker merged 1 commit into
mainfrom
nwparker/refactor-task-page-composition-pr24
Oct 26, 2026
Merged

nwparker merged 1 commit into
mainfrom
nwparker/refactor-task-page-composition-pr24

Conversation

@nwparker

@nwparker nwparker commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

ELI5

Keep the cross-provider Task Page code together so its owners and tests are easier to find.

What Changed

Move seven composition/rule modules and eight existing tests into components/task-page/, retaining their basenames. Update their callers and test timing paths. Remove four forwarded Linear view types from localized options and import those types from their shared defining module. Draft storage explicitly imports the existing store singleton from its defining file.

Why

These modules belong to the existing Task Page folder. Direct owner imports keep that boundary clear without adding aggregation modules or compatibility forwarders. Runtime bodies, hook ownership, module identities, labels, and timing weights remain unchanged.

Linked Issue

N/A — internal module organization work.

Visual Proof

N/A — module moves and import changes preserve rendering and interaction behavior.

Testing

  • Renderer typecheck, changed-code quality, formatting, focus ratchet, test discovery classification, and staged-file checks.
  • The 21-case cache-selector suite passed on pristine main and the candidate. Broader local runtime attempts stalled on both; their partial results are retained locally. Full required PR CI is green. The initial backend RPC capability-test import exceeded30seconds; a failed-job-only retry passed without source changes.
  • Existing tests move with their owners; no new mirror tests.

Review

Two independent native Codex source audits approved the committed source with no findings. Current-main preservation and actual squash-tree checks remain part of the merge gate.

Agent skill upstream boundary

  • Not applicable; no upstream skill-installer material changes.

Notes

No platform, remote protocol, mobile, folder-workspace, or persistence behavior changes. Open feature contacts were reviewed so later rebases can preserve their additions in the relocated owners.

Checklist

  • Focused on one cross-provider Task Page ownership batch.
  • Explained the change and its purpose.
  • Visual proof is N/A with reason.
  • Self-reviewed the source delta and direct owner imports.
  • Considered cross-platform, remote, mobile, and folder-workspace compatibility.
  • Full required PR CI and independent source reviews passed.

@coderabbitai

coderabbitai Bot commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 10 minutes.

Check out review usage here.

View limit details

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

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f531f5cf-a35f-4785-b533-6bdfc318edda
Commits

Reviewing files that changed from the base of the PR and between 2fc9ad5 and 784134e.

Files selected for processing: 70
  • config/scripts/ci-shard-timings.json
  • config/scripts/github-opened-issue-repository.test.ts
  • src/renderer/src/components/cmd-j/task-search-activation.ts
  • src/renderer/src/components/cmd-j/task-search-requests.ts
  • src/renderer/src/components/linear-issue-attribute-filter-pills.ts
  • src/renderer/src/components/linear-issue-attribute-filter-sections.tsx
  • src/renderer/src/components/task-page-jira-board-view.tsx
  • src/renderer/src/components/task-page/SourceBar.tsx
  • src/renderer/src/components/task-page/github/Filters.tsx
  • src/renderer/src/components/task-page/github/IssueDialog.tsx
  • src/renderer/src/components/task-page/github/List.tsx
  • src/renderer/src/components/task-page/github/Rows.tsx
  • src/renderer/src/components/task-page/github/task-page-github-landing-refresh-run.tsx
  • src/renderer/src/components/task-page/github/task-page-github-quiet-refresh-run.tsx
  • src/renderer/src/components/task-page/github/use-task-page-github-cache-reconciliation.ts
  • src/renderer/src/components/task-page/github/use-task-page-github-detail.ts
  • src/renderer/src/components/task-page/github/use-task-page-github-issue-draft.ts
  • src/renderer/src/components/task-page/github/use-task-page-github-list-projection.ts
  • src/renderer/src/components/task-page/github/use-task-page-github-list-state.ts
  • src/renderer/src/components/task-page/github/use-task-page-github-mutation-state.ts
  • src/renderer/src/components/task-page/github/use-task-page-github-search-pagination.ts
  • src/renderer/src/components/task-page/gitlab/task-page-gitlab-task-filters.test.ts
  • src/renderer/src/components/task-page/gitlab/use-task-page-gitlab-loading.ts
  • src/renderer/src/components/task-page/jira/Content.tsx
  • src/renderer/src/components/task-page/linear/Content.tsx
  • src/renderer/src/components/task-page/linear/IssueBoard.tsx
  • src/renderer/src/components/task-page/linear/IssueBoardColumns.tsx
  • src/renderer/src/components/task-page/linear/IssueTable.tsx
  • src/renderer/src/components/task-page/linear/IssueToolbar.tsx
  • src/renderer/src/components/task-page/linear/ProjectFields.tsx
  • src/renderer/src/components/task-page/linear/task-page-linear-cache-selectors.ts
  • src/renderer/src/components/task-page/linear/task-page-linear-jira-list-model.tsx
  • src/renderer/src/components/task-page/linear/use-task-page-linear-collection-effects.ts
  • src/renderer/src/components/task-page/linear/use-task-page-linear-context-actions.ts
  • src/renderer/src/components/task-page/linear/use-task-page-linear-context-state.ts
  • src/renderer/src/components/task-page/linear/use-task-page-linear-creation-state.ts
  • src/renderer/src/components/task-page/linear/use-task-page-linear-custom-view-effects.ts
  • src/renderer/src/components/task-page/linear/use-task-page-linear-filter-selection.ts
  • src/renderer/src/components/task-page/linear/use-task-page-linear-list-effects.ts
  • src/renderer/src/components/task-page/linear/use-task-page-linear-list-projection.ts
  • src/renderer/src/components/task-page/linear/use-task-page-linear-view-state.ts
  • src/renderer/src/components/task-page/task-page-cache-selectors.test.ts
  • src/renderer/src/components/task-page/task-page-cache-selectors.ts
  • src/renderer/src/components/task-page/task-page-draft-storage.tsx
  • src/renderer/src/components/task-page/task-page-localized-options.test.ts
  • src/renderer/src/components/task-page/task-page-localized-options.tsx
  • src/renderer/src/components/task-page/task-page-mutation-page-allocation.test.ts
  • src/renderer/src/components/task-page/task-page-new-issue-draft.test.ts
  • src/renderer/src/components/task-page/task-page-new-issue-draft.ts
  • src/renderer/src/components/task-page/task-page-repo-source-context.test.ts
  • src/renderer/src/components/task-page/task-page-repo-source-divergence.test.ts
  • src/renderer/src/components/task-page/task-page-source-context.tsx
  • src/renderer/src/components/task-page/task-page-task-source-host-availability.test.ts
  • src/renderer/src/components/task-page/task-page-work-item-pagination.test.ts
  • src/renderer/src/components/task-page/task-page-work-item-pagination.ts
  • src/renderer/src/components/task-page/task-page-work-item-signatures.ts
  • src/renderer/src/components/task-page/use-task-page-composer-actions.ts
  • src/renderer/src/components/task-page/use-task-page-provider-state.ts
  • src/renderer/src/components/task-page/use-task-page-repo-selection.ts
  • src/renderer/src/components/task-page/use-task-page-runtime-hosts.ts
  • src/renderer/src/components/task-page/use-task-page-search-actions.ts
  • src/renderer/src/components/task-page/use-task-page-source-availability.ts
  • src/renderer/src/components/task-page/use-task-page-source-summary.ts
  • src/renderer/src/components/task-page/use-task-page-workspace-actions.ts
  • src/renderer/src/components/task-page/use-task-search-debounced-apply.ts
  • src/renderer/src/components/use-task-page-jira-creation-state.ts
  • src/renderer/src/components/use-task-page-jira-list-effects.ts
  • src/renderer/src/components/use-task-page-jira-list-state.ts
  • src/renderer/src/store/slices/github-work-items-twin-cache-host.test.ts
  • src/renderer/src/store/slices/issue-source-preference-twin.test.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@nwparker
nwparker merged commit 34f55ca into main Oct 26, 2026
54 of 56 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