Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Calling the cleanup returned by
App.setupSizeChangedNotifications()disconnects the ResizeObserver, but an animation frame already scheduled by setup or a resize still runs. It measures the document and can send aui/notifications/size-changednotification after the caller has disabled these notifications.Keep the pending frame ID and cancel it during cleanup, including frame ID 0. Existing resize coalescing is preserved. Regression tests connect an App to an SDK Server through InMemoryTransport and cover cleanup before the initial frame and a later resize frame, repeated cleanup, and setup again on the same connected App.
Related work: #814 handles invoking cleanup when a connection closes and explicitly leaves pending animation frames outside its scope. Closed, unmerged #728 previously included frame cancellation as part of a broader portal-height and MutationObserver change. This PR isolates that cleanup behavior on current main; it does not change connection ownership or the height-measurement algorithm.
Validation:
bun test src/app.test.ts: 16 passed.bun test src examples: 441 passed, 1 skipped.AI assistance: OpenAI Codex generated the implementation, tests, and this description. Independent automated review is recorded separately; this disclosure does not claim personal human review.