Repository navigation
Revert "Fix SF Symbol materialization during window layout" - #10584
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
💤 Files with no reviewable changes (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe change removes eager AppKit symbol bitmap materialization and titlebar symbol prewarming. AppKit images now use copied template images with assigned sizes. Three titlebar icons now use SwiftUI system images. The materialization test was removed. ChangesSymbol rendering and titlebar integration
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This change restores the prior lazy SF Symbol behavior and removes eager prewarming; no actionable merge-blocking risk remains beyond normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 23 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (23 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 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 |
Greptile SummaryThis PR reverts eager SF Symbol bitmap materialization and titlebar prewarming, restores direct SwiftUI system images for cloud controls, and removes the corresponding materialization test.
Confidence Score: 4/5The PR should not merge until lazy SF Symbol materialization is kept out of the titlebar’s main-thread window-layout path. The reverted helper again returns lazy system-symbol representations, while titlebar startup no longer prewarms them before SwiftUI/AppKit intrinsic-size work, reintroducing a reachable multi-second window-layout stall. Files Needing Attention: Sources/RenderableSystemSymbol.swift, Sources/Update/UpdateTitlebarAccessory.swift Important Files Changed
Sequence DiagramsequenceDiagram
participant Window as NSWindow
participant Accessory as Titlebar accessory
participant SwiftUI as TitlebarControlsView
participant Symbol as configuredAppKitImage
Window->>Accessory: Attach accessory
Accessory->>Accessory: Invalidate intrinsic content size
Accessory->>SwiftUI: Evaluate/layout body
SwiftUI->>Symbol: Request system symbol
Symbol-->>SwiftUI: Return lazy NSImage representation
SwiftUI-->>Window: Materialize during layout
Reviews (1): Last reviewed commit: "Revert "Fix SF Symbol materialization du..." | Re-trigger Greptile |
| let image = (configuredImage.copy() as? NSImage) ?? configuredImage | ||
| image.isTemplate = true | ||
| image.size = symbolImageSize(configuredImage.size, fallbackDimension: rasterSize) |
There was a problem hiding this comment.
Reverts #10549
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Reverts the SF Symbol eager materialization and prewarming introduced in #10549 to restore default AppKit/SwiftUI behavior. Previously we materialized symbols into bitmaps and prewarmed them before window layout; now we return to lazy symbol images without prewarming, and use SwiftUI
Image(systemName:)in titlebar buttons.prewarmAppKitImages;configuredAppKitImagenow returns a templateNSImagecopy sized viasymbolImageSizeand caches it.CmuxSystemSymbolImagewithImage(systemName:)configured via.font(.system(size:weight:)).prewarmTitlebarSymbols()call and helper.NSBitmapImageRep.Written for commit 63649bf. Summary will update on new commits.
Summary by CodeRabbit
Bug Fixes
Performance