* Keep binding in reversed evaluation order
* Treat rebound names as new
* Add test for the default order
* Optimise binding reorder
* Update lib/livebook/runtime/evaluator.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Apply review comments
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Add support for scanning evaluation context from smart cells
* Rename prev_locator to base_locator to clarify the meaning
* Adjustments
* Add data tests
* Adjustments
* Test smart cell intearaction with RuntimeServer
* Serialize binding scanning and leave sending to the user
* Monitor the scanning process
Say we have this path on Windows: `C:/Users/wojtek/foo.livemd`. Opening
it: (ignore it's not escaped)
http://localhost:4000/open?path=C:/Users/wojtek/foo.livemd
would have failed with:
** (ArgumentError) expected an expanded absolute path, got: "C:/Users/wojtek/foo.livemd"
and that's because absolute paths (in other words, Path expanded) start
with `c:/`, not `C:/`.
* Reads the output after a cell has been evaluated
* Creates SR landmarks when errors happen
* fixes formatting
* Reads a clearer message when a runtime restart is required
* Update lib/livebook_web/live/session_live/cell_component.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Write to file out-of-band
It won't block the immediate write but it may block
a subsequent write. A sync function was added for
testing purposes.
* Update lib/livebook/storage/ets.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Create home and data_path directories if missing
* Update lib/livebook/config.ex
* Configure project-local data path for dev and test env
* Expand dev/test paths in compile config
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Group all runtime messages under a common prefix
* Move output specification ot the Runtime protocol
* Update doc comments
* Livebook.Evaluator -> Livebook.Runtime.Evaluator
* Livebook.ContentLoader -> Livebook.Notebook.ContentLoader
* Livebook.UniqueTask -> Livebook.Utils.UniqueTask
* Add import/export delegates to Livebook.LiveMarkdown
* Increase timeout for connecting via Mix standalone
I have hit this timeout when connecting via mix to a fairly large
application. Increasing this fixes it for my use case.
* Update lib/livebook/runtime/standalone_init.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* 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