Skip to content

Conversation

@WebReflection
Copy link
Contributor

This MR fixes holoviz/panel#7015 by understanding not just PyProxy but also the recently introduced LiteralMap that might be passed along 3rd party modules or code that does explicit conversion.

As those proxies cannot survive postMessage dance or serialization in general, they are currently normalized when passed from the worker to the main thread so that errors related to that special [object Map] is gone.

I took the opportunity to also relax coincident warnings on deadlock when it's just main/worker channel being slow (a lot with current panel example).

This has been tested in PyScript already but it needs to land before so I can update the version.

/cc @ntoll @philippjfr @MarcSkovMadsen

@WebReflection WebReflection requested a review from ntoll July 30, 2024 14:20
@WebReflection
Copy link
Contributor Author

Actually ... I am going to just publish this as the current state is pretty broken due this regression.

@philippjfr
Copy link

Amazing, thanks for tracking this down so quickly!

@WebReflection
Copy link
Contributor Author

WebReflection commented Jul 30, 2024

@philippjfr the real "hero" here has been @MarcSkovMadsen giving me tons of details to play around and reproduce ... your "so quickly" was "eternal hellish time" to me though 🤣 but I am super happy I've found the culprit. I can't even blame Pyodide because we asked for that LiteralMap magic to happen, I just forgot that indeed it's yet another Proxy to deal with and now that's hopefully done right.

@MarcSkovMadsen
Copy link

Great work. Thx.

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.

pyodide-worker raising error with pyodide 0.26.1

4 participants