mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-22 22:28:11 +00:00
* fix(macos): defer isOverflowing mutation to break SwiftUI render loop measuredHeight() mutated model.isOverflowing synchronously during a SwiftUI view update cycle. The onChange(of: attributed) handler triggered updateWindowFrame → targetFrame → measuredHeight, which set isOverflowing, invalidating the view and re-triggering onChange — an infinite render loop causing 100% CPU pinwheel. Fix: defer the isOverflowing mutation via DispatchQueue.main.async with an equality guard to prevent redundant updates. The frame calculation itself remains synchronous so the window size is correct immediately. Fixes #43480 * fix(macos): preserve latest overflow measurement --------- Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com>