openclaw/apps/macos/Sources
liuhao1024 fd4f5b3f59
fix(macos): defer isOverflowing mutation to break SwiftUI render loop (fixes #43480) (#92778)
* 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>
2026-06-14 08:56:25 +08:00
..
OpenClaw fix(macos): defer isOverflowing mutation to break SwiftUI render loop (fixes #43480) (#92778) 2026-06-14 08:56:25 +08:00
OpenClawDiscovery fix: harden Mac gateway transport selection 2026-05-18 04:06:17 +01:00
OpenClawIPC style(swift): run swiftformat + swiftlint autocorrect 2026-02-15 05:38:35 +01:00
OpenClawMacCLI fix: harden Mac gateway transport selection 2026-05-18 04:06:17 +01:00