Skip to content

v0.5.181

Choose a tag to compare

@lcsmas lcsmas released this 27 Jul 14:51

What's new

Fixed: archiving the workspace you were viewing turned the app black.

The whole window went black and only restarting Orchestra brought it back. The
diagnostic logging added in 0.5.179 finally captured the cause: React error
#185 — "Maximum update depth exceeded"
, an infinite render loop in the
structured agent view. Not a graphics/GPU fault, which is what it looked like.

The transcript measures each row after it renders to size its virtualized list.
That measurement re-triggers a render, which terminates only once heights stop
changing — but a pane resize can make a row's height oscillate between two
values, so it never settles and the loop runs until React gives up and the UI
dies.

Archiving the active workspace is the reliable trigger: it switches to a
freshly-mounted transcript whose rows all measure for the first time, exactly
while the pane is being resized by the sidebar row disappearing. (Archiving a
background workspace never did it — the view doesn't change.)

The measure loop is now bounded: after a dozen back-to-back passes without a
frame being painted, it falls back to the coalesced path that yields to the
browser and cannot recurse. Normal streaming is unaffected, and if the guard
ever trips it now says so in the log instead of failing silently.

Full Changelog: v0.5.180...v0.5.181