You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(client): guard Pro race-path teardown and log dropped core teardown (#3209)
Addresses PR #3576 review feedback on renderer-function mount cleanup:
- Pro ClientSideRenderer: guard the unmount-race teardown call the same way
unmount() does, so a synchronously-throwing renderer teardown is logged
rather than escaping render()'s outer catch and rejecting renderPromise
with a misleading "encountered an error while rendering" error after the
component is already unmounted.
- Core ClientRenderer: log (instead of silently dropping) an async renderer
teardown that resolves after its mount was removed, so the documented
best-effort limitation is diagnosable. Label synchronous renderer-teardown
failures with the same "Error in renderer teardown:" message as the async
path so the logs are greppable.
- Mark unmountAllComponents @internal instead of the contradictory @Private.
- Export RendererResult alongside RendererTeardown for consumer annotations.
- Document why invokeRendererTeardown is intentionally duplicated in Pro.
- Tests: add core unmount-race coverage and a Pro throwing-teardown race
case; align a Pro test with the underscore-prefix convention.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments