Skip to content

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

Merged
benjamind merged 1 commit into
GoogleChromeLabs: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 into
GoogleChromeLabs:mainfrom
foxglove:achim/fix-messageport-close

Conversation

@achim-k

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

Copy link
Copy Markdown
Contributor

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

tbrannam commented Aug 20, 2025

Copy link
Copy Markdown

@benjamind 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