refactor: split AudioTagger and TagSidebarPanel into focused pieces - #209
Merged
flamboh merged 1 commit intoSep 25, 2026
Merged
Conversation
flamboh
added this pull request to stack #210
September 25, 2026 10:35
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
tagium | 79f460b | Commit Preview URL Branch Preview URL |
Sep 25 2026, 10:37 AM |
|
React Doctor found no new issues. 🎉 Reviewed by React Doctor for commit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
🤖 Claude Opus 5.5 on behalf of Oliver
ELI5
Two of the app's biggest screen components were split into smaller pieces so they're easier to read. The app looks and works exactly the same.
Why
React Doctor fails any PR that edits a file containing a component above 15 cyclomatic or cognitive complexity.
AudioTagger(38 / 41) andTagSidebarPanel(21 / 24) were already over the limit, so every PR that touches the workspace shell, including #208, goes red. #203 hit the same wall.Implementation
Pure refactor, no behavior changes:
AudioTaggerTagSidebarPaneluseAudioTaggerController: the workspace hooks and derived state that used to live inline inAudioTagger.AudioTaggerSidebar,AudioTaggerMainColumn, andAudioTaggerDialogs: the sidebar wiring, the editor / settings / landing views, and the dialog cluster.TagSidebarHeaderandTagSidebarFooter: the nameplate and theme controls, and the download and settings controls.Every new function is at or under 15 / 15.
AlbumSidebarDnd'sSortableTrackRow(16 / 14) is still over the limit, but it's untouched here, so it doesn't block.Review guide
/. Import a track, edit its tags, switch between the editor and settings, and download it. On a phone-width viewport, open and close the library drawer (the menu button, a backdrop tap, and escape), and check the menu button moves into the track header when a track is selected. Open a share link. All of this should behave exactly as onmain.controllerprop.tsc, lint, format, and the build pass, as do all 682 unit tests. The workspace e2e specs pass on Chromium. One Firefox history-state assertion flaked under parallel runs but passed in isolation and in serial runs. WebKit couldn't launch on the host. A headless smoke test of the production build confirmed the sidebar and main column animations, the mobile drawer opening and closing, and no page errors.Made by GPT-6 Sol in Codex (refactor) and Claude Opus 5.5 in Claude Code (T3 Code) (review, verification, PR).