Skip to content

fix for workspace minification glitch - #10061

Draft
dannyboy-ai wants to merge 2 commits into
manaflow-ai:mainfrom
dannyboy-ai:fix-sidebar-close-row-heights
Draft

fix for workspace minification glitch#10061
dannyboy-ai wants to merge 2 commits into
manaflow-ai:mainfrom
dannyboy-ai:fix-sidebar-close-row-heights

Conversation

@dannyboy-ai

@dannyboy-ai dannyboy-ai commented Aug 13, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

  • Bug Fixes

    • Improved shortcut hint pill layout to prevent oversized spacing from producing invalid label frames.
    • Ensured labels remain fully contained within their pill boundaries, including when the available space is limited.
  • Tests

    • Added coverage verifying correct label sizing within shortcut hint pills.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: f7293fb6-f413-4cf5-8cc1-a6fc42b03ead

📥 Commits

Reviewing files that changed from the base of the PR and between a028ba2 and 14490ff.

📒 Files selected for processing (2)
  • Sources/Sidebar/AppKitList/Cells/SidebarGroupHeaderRowView.swift
  • cmuxTests/SidebarWorkspaceTableTests.swift

📝 Walkthrough

Walkthrough

SidebarShortcutHintPillView now clamps label insets to its available bounds. A test verifies that zero-sized pill bounds produce a zero-sized label frame.

Changes

Shortcut hint pill layout

Layer / File(s) Summary
Clamp label layout and verify bounds
Sources/Sidebar/AppKitList/Cells/SidebarGroupHeaderRowView.swift, cmuxTests/SidebarWorkspaceTableTests.swift
The label frame clamps horizontal and vertical insets to the available bounds. The test verifies that zero-sized bounds keep the label within the pill.

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

Mergeability Score: ⚪ Minimal · up to 14490

The change keeps shortcut-hint labels within valid bounds during transient zero-sized row layout and adds regression coverage; no actionable merge-blocking risk remains after normal checks and review.

Suggested reviewers: azooz2003-bit, austinywang

🚥 Pre-merge checks | ✅ 24 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The pull request has no description and does not provide the required summary, testing details, demo information, review trigger, or checklist. Add the required template sections and document the layout fix, regression test, manual verification, build limitation, and checklist status.
✅ Passed checks (24 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
Cmux Swift Actor Isolation ✅ Passed The production diff only changes layout math inside the existing @MainActor SidebarShortcutHintPillView; the added test is @MainActor. No model, protocol, Sendable, or background access changed.
Cmux Swift Blocking Runtime ✅ Passed The PR adds only bounded frame geometry in production and a deterministic layout test; no semaphore, wait, sleep, delayed dispatch, polling, sync, or lock primitive is introduced.
Cmux Browser Automation Off-Main ✅ Passed The complete PR diff changes only sidebar layout code and its regression test; no browser socket, WebKit wait, worker-router, or policy-test paths changed.
Cmux Expensive Synchronous Load ✅ Passed The diff only clamps NSView label geometry and adds a zero-size layout test; it adds no agent-history loader, transcript/JSONL parsing, directory scan, or interactive synchronous load.
Cmux Cache Substitution Correctness ✅ Passed The diff only clamps NSTextField geometry in transient SidebarShortcutHintPillView layout and adds a zero-size UI test; it does not substitute a cached value in persistence, history, undo, or snaps...
Cmux No Hacky Sleeps ✅ Passed The diff changes only Swift production and test files. It introduces no TypeScript, JavaScript, shell, build-script, sleep, timer, polling, or wall-clock delay code.
Cmux Algorithmic Complexity ✅ Passed The PR changes only constant-time inset arithmetic in SidebarShortcutHintPillView.layout(); the added test is test-only. No scalable collection scan, sort, join, or batch algorithm is introduced.
Cmux Swift Concurrency ✅ Passed The diff only clamps AppKit label geometry; it adds no background queues, Combine state, completion-handler APIs, or lifecycle-significant fire-and-forget Tasks.
Cmux Swift @Concurrent ✅ Passed The diff changes only synchronous @MainActor layout code and a synchronous @MainActor test; it introduces no @concurrent, nonisolated async, or heavy async UI call.
Cmux Swift Package Boundaries ✅ Passed The diff only clamps frames in SidebarShortcutHintPillView.layout(), a small AppKit NSView used by sidebar cells; the policy explicitly allows UI-only AppKit glue. The added test is test code.
Cmux Swiftpm Lockfiles ✅ Passed The full PR diff changes only SidebarGroupHeaderRowView.swift and its test; it changes no Package.swift, Package.resolved, .gitignore, workflow, or Xcode project package references.
Cmux Swift Logging ✅ Passed The diff only clamps label geometry and adds a test; it introduces no print, NSLog, ad hoc logging, Logger declaration, or sensitive-data logging.
Cmux User-Facing Error Privacy ✅ Passed The PR changes only AppKit layout geometry and adds a regression test; it adds no user-facing error, alert, command output, API body, or recovery text.
Cmux Full Internationalization ✅ Passed The PR changes only shortcut-pill geometry and adds a regression test; it introduces no user-facing text, localization keys, catalogs, or web messages.
Cmux Swiftui State Layout ✅ Passed The diff only clamps frames in @MainActor NSView SidebarShortcutHintPillView.layout() and adds an AppKit test; it introduces no prohibited SwiftUI state, measurement, row store, or render mutation.
Cmux Architecture Rethink ✅ Passed The diff is a small local AppKit geometry fix owned by SidebarShortcutHintPillView, with a clear bounds invariant and regression test; it adds no timing, state-owner, or duplicate-wiring mechanism.
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed The PR changes an existing SidebarShortcutHintPillView NSView layout and adds a test; its diff adds no NSWindow, NSPanel, controller, SwiftUI window, identifier, or shortcut ownership code.
Cmux Source Artifacts ✅ Passed The PR changes only a Swift source file and a Swift regression test; both are intentional product/test files, with no artifact, cache, log, recording, or scratch directory added.
Cmux No Test Or Debug Seam In Production Source ✅ Passed The production diff only clamps label insets in layout; it adds no test/debug guard, seam-like member, visibility widening, or wrapper. The test uses the existing type via @testable import.
Cmux No Ambient Global State ✅ Passed The PR only changes local layout logic in an existing NSView method and adds an instance test; it introduces no top-level function, mutable global, static namespace, or singleton.
Title check ✅ Passed The title identifies the workspace minification glitch, which matches the sidebar row collapse fix described in the changes.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@dannyboy-ai dannyboy-ai changed the title Fix sidebar row collapse after workspace close placeholder Aug 13, 2026
@dannyboy-ai
dannyboy-ai marked this pull request as draft August 13, 2026 00:41
@dannyboy-ai dannyboy-ai changed the title placeholder fix for workspace minification glitch Aug 13, 2026
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