fix(models): normalize mobile tab spacing and stabilize Combos layout - #3386
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
✅ Deterministic PR hygiene checks passed. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthroughThe Models workspace now keeps consistent widths and spacing across catalog, routing, compatibility, and Combos tabs. Loading and error states use constrained fallback layouts. Desktop and mobile tab alignment have regression coverage. ChangesModels layout normalization
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to Models tab panels now maintain consistent desktop and mobile layout across loaded and fallback states, with no current merge-blocking risk identified. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Linked Issues checkExplanation The changes satisfy the coding objectives in [ Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
리뷰 · 우선순위 66 / 80이 PR은 Models 페이지의 가로 폭이 탭·로딩 상태에 따라 들쭉날쭉하던 버그를 고칩니다. 원본은 @blackjune67 의 #3333이고, 지금 지금 이 PR은 세 탭 모두 보이는 패널 id만 봅니다. 테스트도 실무적입니다. 원본 #3333은 아직 열려 있습니다. 머지 후
원본 #3333 - 머지 후 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
Carried from #3333 onto current dev. Independent of the other carried fixes, so it ships as its own PR rather than a stack layer. The Models page keeps its panels mounted and toggles hidden, so width rules written against panel CONTENTS behaved differently depending on what had loaded and what had been visited: the catalog column gated on .models-workspace-shell, which is absent during the loading skeleton and after a cold failure, so the tab rendered at 980px and snapped to 1200px once data arrived. Routing had no rule at all and fell back to 980px. Scoping to the visible panel id fixes both and cannot leak to another tab. Combos separately renders its loading and error states without the workspace shell, so full-bleed styling stretched a lone notice edge to edge. That is now limited to the actual workspace. The dashboard page-tabs guard located its target with a bare indexOf(".page-tabs {"), which matches any rule whose selector merely ENDS in that string — including the scoped Combos rule this adds above it. Anchoring the search to a line-start rule fixes the guard without weakening it. Rebuilt from the PR's own diff rather than its files: the first attempt copied gui/src/styles.css wholesale and silently reverted both the Logs clipping fix (#3367) and the sidebar footer rework (#3382). Co-authored-by: hajune <june@smartix.co.kr>
0586f92 to
5354655
Compare
|
Rebased onto current |
|
|
Summary
Carried from #3333 by @blackjune67 onto current
dev, with the author'sCo-authored-bytrailer on the commit.The Models page keeps its panels mounted and toggles
hidden, so width rules written against panel contents behaved differently depending on what had loaded and what had been visited:.models-workspace-shell, which is absent during the loading skeleton and after a cold failure. The tab rendered at 980px and snapped to 1200px once data arrived.Scoping to
#models-panel-catalog:not([hidden])and#models-panel-routing:not([hidden])holds the width across load, empty, and error, and cannot leak to another tab.Widths in that capture are read from
getBoundingClientRect()against this branch's stylesheet, not annotations.Combos separately renders its loading and error states without the workspace shell, so full-bleed styling stretched a lone subtitle or retry notice edge to edge while every sibling tab stayed boxed. That is now limited to the actual workspace.
One test change, and it is load-bearing.
tests/dashboard-tabs.test.tslocated its target withindexOf(".page-tabs {"), which matches any rule whose selector merely ends in that string — including the scoped.main-inner--combos > .page-tabsrule this adds above the base one. It read the wrong block and failed on a declaration nothing had touched. The search is now anchored to a line-start rule; removingflex-wrapfrom the real base rule still fails it.Replaces #3374, which was rebuilt after CI caught that copying
gui/src/styles.csswholesale silently reverted the Logs clipping fix (#3367) and the sidebar footer rework (#3382). This branch applies the PR's own diff instead.Closes #3333
Verification
That file set is every GUI test that reads
styles.css,styles-models-workspace.css, orstyles-compatibility-matrix.css— chosen because a stylesheet change's blast radius is not visible from the diff, which is exactly how the first attempt's reverts slipped through.Checklist
Co-authored-by: hajune june@smartix.co.kr
Summary by CodeRabbit
Bug Fixes
Tests