refactor(web): the archived threads settings page lives in its own file#22666
SettingsPanels.tsx was 3,619 lines and held four unrelated settings pages. This layer moves ArchivedThreadsPanel into ArchivedThreadsPanel.tsx and points the route at the new file. Nothing else changes.
| File | Before | After |
|---|---|---|
| SettingsPanels.tsx | 3619 | 3339 |
| ArchivedThreadsPanel.tsx | - | 287 |
Renders: pure move, no render change.
Tests run: tsc-rs --noEmit for apps/web, vp lint on changed files, vp test run src/reactCompilerCoverage.test.ts -t settings/ (0 bailouts), SettingsPanels.logic.test.ts, ConnectionsSettings.logic.test.ts.
🤖 Generated with Claude Code
Checks
- SuccessfulCodeRabbitGitHub
Review completed
- Successful
Skipped - Not affected
- Skipped
- Skipped
- Skipped
- SuccessfulRemove preview downloadGitHub
- SuccessfulLabel PR 22666GitHub
- Skipped
- SuccessfulLabel PR sizeGitHub
- Successful
- Successful
- Successful
- SuccessfulPrepare PR size configGitHub
- SuccessfulCollect PR targetsGitHub
- SuccessfulNative fingerprint diffGitHub
- SuccessfulNative fingerprint diffGitHub
- SuccessfulCheckGitHub
- SkippedRustGitHub
- SkippedRelease SmokeGitHub
- Skipped
- SuccessfulTestGitHub
- SuccessfulBuild and TypecheckGitHub
- SuccessfulTest WebGitHub
- SuccessfulLabel PR 22666GitHub
- Skipped
- SkippedEAS PreviewGitHub
- SuccessfulLabel PR sizeGitHub
- SuccessfulCollect PR targetsGitHub
- SuccessfulPrepare PR size configGitHub
- SuccessfulTest Server 7GitHub
- SuccessfulTest Server 6GitHub
- SuccessfulTest Server 2GitHub
- SuccessfulTest Server 5GitHub
- SuccessfulLintGitHub
- SuccessfulTest Server 3GitHub
- SuccessfulTest Server 4GitHub
- SuccessfulTest Server 8GitHub
- SuccessfulTest Server 1GitHub
- SuccessfulChangesGitHub
- SuccessfulNative fingerprint diffGitHub
Added 1 commit
- refactor(web): the archived threads settings page lives in its own file1e2c33f
Approvability
Verdict: Approved at 1e2c33f
Macroscope's review found this PR approvable — This is a mechanical extraction of the existing archived-threads settings component into its own file, with the route updated to import it from the new location. The rendered behavior and existing settings paths remain unchanged.
You can add or adjust custom eligibility rules. Learn more.
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:
0af24962-cfb9-4da0-b6b7-fef2847abdb1
📥 Commits
Reviewing files that changed from the base of the PR and between 6a6c84f9906cbdfa7f533fecfc39ce18c2f4c273 and 1e2c33f055c612c9f46f43847a66196ae7c35778.
📒 Files selected for processing: 3
apps/web/src/components/settings/ArchivedThreadsPanel.tsxapps/web/src/components/settings/SettingsPanels.tsxapps/web/src/routes/settings.archived.tsx
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.
📝 Walkthrough
The archived threads panel moved from
SettingsPanels.tsxintoArchivedThreadsPanel.tsx. The archived settings route now imports the new component. The panel prepares and displays archived threads and provides unarchive and delete actions.Changes: Archived Threads Panel
Layer / File(s) Summary Prepare archived thread data
apps/web/src/components/settings/ArchivedThreadsPanel.tsxThe component filters archived snapshots by selected projects, groups threads by project, adds environment labels, and sorts threads by archive or creation time. Render archive states and actions
apps/web/src/components/settings/ArchivedThreadsPanel.tsxThe component renders loading, error, empty, and grouped archive states. Unarchive and delete actions refresh the list after success. Non-interrupted failures produce error toasts. Wire the extracted component into settings
apps/web/src/components/settings/SettingsPanels.tsx,apps/web/src/routes/settings.archived.tsxThe archived route imports the component from its new module. The former implementation and its archive-specific imports are removed from SettingsPanels.tsx.Priority: ⬇️ Low
Estimated code review effort: 3 (Moderate) | ~20 minutes
Change: Refactor
Suggested reviewers:
t3dotgg
Merge Risk: ⚪ Minimal · up to 1e2c3
This is a file-move refactor with no intended behavior change, and no merge-blocking risk was found.
Pre-merge checks: Passed 3 · Failed 1
Failed Failed checks: 1 warning
Check name Status Explanation Resolution Description check Warning The description explains the change and lists verification, but it omits the required Problem, Change, and Scope and approval sections. It also provides no issue or maintainer approval link or rationa… Add the required section headings. Describe the problem and expected outcome, explain the change, and provide the triaged issue or explicit maintainer approval. If no approval is needed, explain why this focused refactor qualifies for an ex… Passed Passed checks: 3 passed
Check name Status Explanation Title check Passed The title clearly describes the primary change: moving the archived threads settings page into its own file. Linked Issues check Passed Check skipped because no linked issues were found for this pull request. Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check
Explanation
The description explains the change and lists verification, but it omits the required Problem, Change, and Scope and approval sections. It also provides no issue or maintainer approval link or rationale for an approval exemption.
Resolution
Add the required section headings. Describe the problem and expected outcome, explain the change, and provide the triaged issue or explicit maintainer approval. If no approval is needed, explain why this focused refactor qualifies for an exemption.
✨ Finishing Touches
📝 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
Comment @coderabbitai help to get the list of available commands.