Skip to content

Fixed Pyodide transform w/ LiteralMap #111

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 30, 2024

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.

@WebReflection WebReflection merged commit dd99d48 into main Jul 30, 2024
2 checks passed
@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
3 participants