Commit graph

12 commits

Author SHA1 Message Date
Jonatan Kłosko
53aea7af6e Leave JS output channel only if it exists 2022-02-10 11:25:37 +01:00
Jonatan Kłosko
565f65d0fc
JS output fixes (#991)
* Explicitly leave the JS channel before disconnecting the socket

* Reposition iframe when the sidebar is toggled and on window resize
2022-02-08 20:12:03 +01:00
Jonatan Kłosko
e5e13d86c2
Serve iframes from another local port when running on http (#989)
* Serve iframes from another local port when running on http

* Use relative hostname in local iframe URL

* Simplify server start check

* Use random iframe port when Livebook runs on a random port

* Rename space/ to iframe/

* LivebookWeb.IframePlug -> LivebookWeb.IframeEndpoint
2022-02-08 14:45:58 +01:00
Jonatan Kłosko
ccc64876a8
Add support for widget binary payloads (#982)
* Add support for widget binary payloads

* Migrate LV auth to a separate hook

* Properly set user buffer when encoding
2022-02-07 21:03:25 +01:00
Jonatan Kłosko
9fab78d2a6
Load iframe using the same protocol as the app (#985) 2022-02-05 22:41:58 +01:00
Jonatan Kłosko
a42e11a2ad
Show an error message when loading the JS module fails (#975) 2022-02-03 18:51:33 +01:00
Jonatan Kłosko
178df3dac9
Load output iframe from a different origin (#968)
* Load output iframe from a different origin

* Update iframe source
2022-02-02 00:10:17 +01:00
Jonatan Kłosko
2f55b87171
Allow downloads inside JS output iframe (#931) 2022-01-25 14:29:57 +01:00
Jonatan Kłosko
a9f9c68cfa
Compute iframe base URL based on page origin (#902)
* Compute iframe base URL based on page origin

* Format
2022-01-20 11:29:45 +01:00
Jonatan Kłosko
118cf05d0a
Introduce broadcast communication from runtime (#845)
* Introduce broadcast communication from runtime

* Return broadcast target from group leader

* Increase timeout

* Make the channel test async

* Decouple base topic and ref
2022-01-10 18:38:08 +01:00
Jonatan Kłosko
19baf013d5
Introduce a dedicated channel for JS widget communication (#843)
* Introduce a dedicated channel for JS widget communication

* Handle payload serialization errors

* Tie channel lifetime to the session

* Catch serialization errors instead of encoding twice

* Merge JS static and dynamic outputs

* Authenticate socket connection from session

* Update JS output format

* Remove unused helper

* Apply review comments
2022-01-06 16:31:26 +01:00
Jonatan Kłosko
844242ba80
Add support for JS output widgets (#818)
* Add support for JS output widgets

* Don't block session when fetching assets and batch calls

* Improve path component sanitisation

* Move fetching check to session caller

* Attach origin to connect and event messages
2021-12-24 14:18:34 +01:00