Skip to content

Fix message ports not being closed when proxy is relased#678

Merged
benjamind merged 1 commit intoGoogleChromeLabs:mainfrom
foxglove:achim/fix-messageport-close
Jun 18, 2025
Merged

Fix message ports not being closed when proxy is relased#678
benjamind merged 1 commit intoGoogleChromeLabs:mainfrom
foxglove:achim/fix-messageport-close

Conversation

@achim-k
Copy link
Copy Markdown
Contributor

@achim-k achim-k commented Jan 13, 2025

Fixes a regression that was introduced in #653 in that releasing a proxy would not close the underlying message port endpoints. The reason for this was that requestResponseMessage was called with a new Map, causing the returned promise to never settle and preventing closeEndpoint(ep) from being called.

This PR fixes this by making sure that we always pass the endpoint's pending listeners to the requestResponseMessage function. Both the endpoint and its pending listeners are now passed as a single object to all relevant functions to reflect the tight coupling between those.

@ivancuric
Copy link
Copy Markdown

cc @surma @benjamind

@matthewdavi
Copy link
Copy Markdown

Would be nice to see this merged. Is there anything blocking it?

@benjamind
Copy link
Copy Markdown
Collaborator

Mostly that myself and @surma are too busy to look at it. Apologies for that. We need more maintainers for this project!

@benjamind benjamind merged commit 114a4a6 into GoogleChromeLabs:main Jun 18, 2025
@tbrannam
Copy link
Copy Markdown

This patch wasn't release to NPM?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants