Repository navigation
Match pane indicator strokes and the file path header to shared chrome metrics - #14982
Conversation
…ome metrics The active pane border, notification ring, focus flash and Canvas focus border now share one 2pt stroke (PaneIndicatorMetrics.strokeWidth in CmuxFoundation). The attention ring was 2.5pt and sat a quarter point outside the 2pt active border it overlays. The file and Markdown preview path header now uses the right sidebar path header metrics: 28pt bar (grows with font magnification), 14pt file icon, and 10pt glyphs in 20pt header buttons, instead of 30pt, 16pt and 13pt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (6)
💤 Files with no reviewable changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughPane indicator borders and overlay rings now use a shared stroke-width value. Panel file path headers and icon glyphs now use shared chrome sizing metrics. ChangesUI sizing updates
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The pane indicators retain the intended stroke widths, and the panel headers match shared chrome sizing. No material user-facing regression was found; CI compilation remains the final validation. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The shared sizing change does not appear to add an attacker-controlled entrypoint or alter access to files, services, or credentials. The remaining risk is limited by incomplete security-review coverage and the lack of a local build. Retained concerns Security review detailsSecurity Blast Radius
🚥 Pre-merge checks | ✅ 24 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (24 passed)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
🛠️ Fix failing CI checks 💡
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 |
|
All contributors have signed the CLA ✍️ ✅ |
The package conventions lint rejects all-static namespace enums. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CI failure attributionCI passes on Written by |
|
Merge receipt for |
82c26b3 ci: take the gui token in the app-host shard's restore, not at job start (manaflow-ai#15012) 3761671 iOS: fix stale team nightly floor expectation in What's New copy test (manaflow-ai#14917) 5e19a98 docs: focus custom sidebar tabs by surfaceId in the actions example (manaflow-ai#15002) 294ee6e sidebar: Strip inline Markdown from notification previews (manaflow-ai#12030) ceb3030 Keep detached workspace process titles updateable (manaflow-ai#4947) 8be7364 test: kill hosted test shells before freeing their terminals (manaflow-ai#14957) da291df cmux-tui: do not query the host terminal when the reply cannot be read (manaflow-ai#12419) 98767c8 ci: keep earlier reviewed CLA policies valid for branches behind main (manaflow-ai#15008) 7167b77 feat(custom-sidebars): fixedSize and reactive frame specs for JS sidebars (manaflow-ai#14845) 716bbb5 Fix notification hook descriptor inheritance (manaflow-ai#11649) 03b191d cmux-tui: pass the zig target on a native windows-gnu host (manaflow-ai#12416) c9a6a0e docs: load the deep review protocol only when needed (manaflow-ai#15007) e5af879 Match pane indicator strokes and the file path header to shared chrome metrics (manaflow-ai#14982) 0def9e1 Show one fixed subtitle for each Settings row and fix localized labels (manaflow-ai#14883) 1921636 ci: route picker-less macOS lanes to the owned minis for trusted events (manaflow-ai#14794) # Conflicts: # .github/workflows/app-host-test-rerun.yml # .github/workflows/auth-refresh-tests.yml # .github/workflows/ci-health-report.yml # .github/workflows/ci-macos.yml # .github/workflows/ci-owned-pool-rescue.yml # .github/workflows/ci-repo-variables.yml # .github/workflows/cloud-command-deadlines.yml # .github/workflows/cloud-machine-tests.yml # .github/workflows/cloud-task-local-tests.yml # .github/workflows/cmux-tui.yml # .github/workflows/iroh-v2.yml # .github/workflows/relay-tls.yml # .github/workflows/reload-build.yml # .github/workflows/remote-daemon.yml # .github/workflows/resolve-dispatch-ref.yml # .github/workflows/terminal-hang-diagnostics.yml
Pane indicators drew at three widths: the active pane border at 2pt, the notification ring and focus flash at 2.5pt, and the Canvas focus border at 2pt. The attention ring overlays the active border along the same inset path, so its extra half point showed as a slightly fatter edge whenever both were visible. All four now use one 2pt stroke,
PaneIndicatorMetrics.strokeWidthin CmuxFoundation, so the app and the Canvas package read the same value.PaneChromeSettings.activeBorderLineWidthis gone; the active border readsPanelOverlayRingMetrics.lineWidthlike the rings do.The file and Markdown preview path header was 30pt tall with a 16pt file icon and 13pt button glyphs, next to 28pt tab and sidebar bars. It now uses the same metrics as the right sidebar file explorer path header:
RightSidebarChromeMetrics.secondaryBarHeight(28pt, grows with font magnification), a 14pt file icon, and 10pt glyphs in 20pt header buttons. The Revert, Save, Refresh, Share, typography and copy buttons all go throughPanelHeaderIconGlyph, so they change together.Verification:
scripts/verify-local.py(Swift syntax, package groups, feature flags) passed. Nothing was built locally; CI compiles and runs the suites.Left alone:
FocusFlashPattern), owned by Calmer focus feedback: one short pulse, no flash while typing #14894. This PR only changesPanelOverlayRingMetrics.lineWidth, above that type.CanvasPaneTitleBarView.height,CanvasPaneView.cornerRadius). The Canvas card layout is its own design and lives in a package that can't see the app's chrome metrics.FileExternalOpenMenuStyle.header.buttonSize(18x18) is never read; the header style renders throughPanelHeaderIconGlyph.Changelog
Changed: The pane notification ring and focus flash draw at the same 2pt width as the active pane border, and the file and Markdown preview path header matches the 28pt bars around it with smaller icons
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Unifies pane indicator strokes and the file path header with the app's shared chrome metrics.
The active pane border, notification ring, focus flash, and Canvas focus border now all draw at 2pt via
CGFloat.paneIndicatorStrokeWidthinCmuxFoundation. The attention ring was 2.5pt and looked fatter where it overlapped the 2pt active border.PaneChromeSettings.activeBorderLineWidthis gone; the active border readsPanelOverlayRingMetrics.lineWidth.The file and Markdown preview path header now uses the right sidebar path header metrics: a 28pt bar that grows with font magnification, a 14pt file icon, and 10pt glyphs in 20pt header buttons, replacing the previous 30pt bar, 16pt icon, and 13pt glyphs.
Left unchanged
FocusFlashPattern) is owned by Calmer focus feedback: one short pulse, no flash while typing #14894.FileExternalOpenMenuStyle.header.buttonSizeis never read.scripts/verify-local.pypassed; CI compiles and runs the test suites.Written for commit 2d6fefb. Summary will update on new commits.
Summary by CodeRabbit