Skip to content

Remove the gray frame around the menu bar menu on macOS 27 - #846

Open
senadaruc wants to merge 1 commit into
FuJacob:mainfrom
senadaruc:fix/menu-bar-frame-macos27
Open

senadaruc wants to merge 1 commit into
FuJacob:mainfrom
senadaruc:fix/menu-bar-frame-macos27

Conversation

@senadaruc

@senadaruc senadaruc commented Oct 2, 2026 •

Copy link
Copy Markdown

Summary

On macOS 27 the menu bar menu shows a gray frame above and below the panel.

Cause (from a view-hierarchy dump of the live MenuBarExtraWindow): the host window is 340×272 while the SwiftUI root is 340×264, a 4pt safe-area inset top and bottom. The system paints its own rounded backing across the whole window. Our panel stopped at the safe area, so that backing showed around it, and the panel's SwiftUI .shadow was clipped at the window edge into a hard gray band.

Fix (MenuBarView.swift, macOS 26+ path only):

  • The panel's fill and outline use .ignoresSafeArea(), so they cover the full window.
  • Drop the clipped SwiftUI shadow and enable the native window shadow, which the window server derives from the clear window's alpha.

Test plan

🤖 Generated with Claude Code

https://claude.ai/code/session_01LptEE4YbaWL55YwQRnTt74

Summary by CodeRabbit

  • Bug Fixes
    • On macOS 26, the menu bar panel’s fill and border now extend through the window’s safe areas, and its shadow is handled by the native window for more consistent appearance.

RetriggerConfidence Score: 4/5

The PR appears safe to merge after the planned macOS 26 visual check confirms the double outline has not returned.

Fix All in CodexFindings

  1. P2 MacOS 26 outline unverified ▶

Summary

The PR extends the macOS 26+ menu panel fill and outline through the window’s safe area and replaces the clipped SwiftUI shadow with a native window shadow.

  • The reported gray frame was visually checked on macOS 27.
  • The same drawing path still needs its planned macOS 26 regression check.

Reviews (1) · Last reviewed commit: "Remove the gray frame around the menu ba..."

On macOS 27 the MenuBarExtra host window is 8pt taller than the SwiftUI
root (a 4pt safe-area inset top and bottom), and the system paints its
own rounded backing across the whole window. The panel stopped at the
safe area, so that backing showed as a gray frame above and below the
menu, and the panel's SwiftUI shadow was clipped at the window edge into
a hard gray band.

Fill the panel to the window edges with ignoresSafeArea(), drop the
clipped SwiftUI shadow, and let the window server draw the native
shadow, which follows the clear window's alpha shape.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LptEE4YbaWL55YwQRnTt74
@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: ccf796c0-13cc-42b9-b3ab-31ed0300c35b

📥 Commits

Reviewing files that changed from the base of the PR and between 7724926 and 64c0533.

📒 Files selected for processing (1)
  • Cotabby/UI/MenuBar/MenuBarView.swift

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

On macOS 26, the menu bar panel extends its fill and border through the host window’s safe-area insets. The panel no longer draws a SwiftUI shadow, and the host window’s native shadow is enabled. Other presentation branches are unchanged.

Changes

Menu Bar Panel Appearance

Layer / File(s) Summary
Panel background and native shadow
Cotabby/UI/MenuBar/MenuBarView.swift
The macOS 26 panel background and border now ignore safe areas. The SwiftUI shadow is removed, and the host window shadow is enabled.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Bug fix

Suggested reviewers: fujacob

Merge Risk: ⚪ Minimal · up to 64c05

No actionable merge-blocking issue is established, though macOS 26 appearance should receive follow-up validation.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning 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 2 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: removing the gray frame around the menu bar menu on macOS 27.
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.
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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.

.overlay {
RoundedRectangle(cornerRadius: Self.macOS26PopoverCornerRadius, style: .continuous)
.stroke(Color(nsColor: .separatorColor).opacity(0.7), lineWidth: 1)
.ignoresSafeArea()

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 MacOS 26 outline unverified The expanded fill and outline apply on macOS 26 as well as 27. That branch was designed to avoid a double outline, but the stated test plan has not checked macOS 26 and there is no menu-window rendering test for it. Please check the panel on macOS 26 so an outline regression is not missed.

Knowledge Base Used: Onboarding and menu bar

Fix in Codex Fix in Claude Code

This branch has not been deployed

No deployments
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