-
-
Notifications
You must be signed in to change notification settings - Fork 294
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
Direct communication link between user JS and JL with WebIO support #991
Conversation
wow! |
@dralletje Can you share your testing notebooks? i want to try it out |
Sii |
With an extra channel to trigger a bond update: https://github.com/fonsp/Pluto.jl/tree/webio-trigger-reactivity-api Diff: https://github.com/fonsp/Pluto.jl/compare/webio...webio-trigger-reactivity-api?expand=1 mostly for fun, should probably not be part of this pr |
@SimonDanisch we were stuck on this because we were having a hard time coming up with the "perfect" api to build webio support on top of. But now we decided to just support webio & assetregistry, and the api that we build that on will not be public yet, until we come up with something nice. TLDR we are working on webio support, it will stay supported in the future, and eventually we want to also provide our own API that is more low-level and hopefully more plutonian |
Dash but even cooler (no actual server starting, all implicitly) |
One thing I realised is that AssetRegistry won't work with our cool new static state export (and perhaps more that we haven't come up with yet). Right now, it's WYSIWYG, which is VERY cool, because everything goes through dralbase. Is there a way to make webio support work through dralbase? For example, can we put the assets in the statefile and use the serviceworker to capture the requests? |
|
||
"Still a bit unsure about this, but it will for now give you the (relative) path for your module requests" | ||
function get_base_url(module_name::Union{AbstractString, Symbol}) | ||
"/integrations/$(string(module_name))/$(workspace_info.notebook_id)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we flip these two?
/integrations/$(workspace_info.notebook_id)/$(string(module_name))
What are your thoughts about tests? |
this is very cool!!! |
I didn't realize that WebIO was so ... dead :( Perhaps it would be best for me to move PlotlyJS to something else. I haven't heard of JSServe.jl. Is that something that we think live on? |
https://github.com/SimonDanisch/JSServe.jl In short, I developed it, because it was pretty impossible to write WGLMakie in a modular way based on WebIO - and things like offline support etc were also pretty impossible, and I never really liked the dom, observable + scope API, which I replaced by building upon an existing DOM abstraction, namely Hyperscript. I've never really pushed it as an WebIO alternative, but now that WebIO is in a coma, it seems like a reasonable way forward... |
The above issue related to IJulia with Julia 1.16+ is not real. IJulia works on both Windows 10 and Ubuntu 18.04 |
lol, tell that both my Windows computers... |
I'd love JSServe as a WebIO alternative, FWIW. :) |
On my own it works :) |
@SimonDanisch you happen to remember what we came up with? I vague recall JSServe not having the same kind of hook-able-ness that WebIO provides, but that might be better now? I'd still love to ship JSServe compatibility with this PR |
Not sure, i thought it was the other way around :D @fonsp and I took another look some time ago, and it looked like we could get things ready with a few lines of code ^^ But it's all a bit fuzzy |
Hewwo, WebIO isn't dead, but could do with some more maintainers besides just me. At the very least, I've updated WebIO for compat with Observables 0.4. |
Hi! Nice to hear that WebIO isn't dead :) What is the state of this PR? Best, |
We're creating a system for creating longer lived cells that have state now.. will update this PR when that comes out (@Pangoraw is working on it so expect it soon 😏) |
This tableview example (and indeed a lot of webio packages) don't seem to be working still. |
@sashmit Are you testing against this PR? This indeed isn't in Pluto still. |
doh! I tried the webio branch, and it worked there. FYI, the version of webio can be bumped up one reevision here: |
Superseded by #2392 |
Replaced by #2726 |
Some things are still needed before merging, like writing the small HTTP-interop types for making AssetRegistry more generic.
Also, I just copied in Require to prevent a dependency, but I admit this is not the most elegant.EDIT: we decided that this is the simplest way to goAlso, tests