* Use Phoenix.Tracker to keep track of sessions within the cluster
* Apply review comments
* Cleanup topics and updates
* Update lib/livebook_web/live/session_live.ex
* Introduce file system abstraction and an S3 implementation
* Support arbitrary absolute paths and delegate resolution to file system
* Remove accidental notebook file
* Apply suggestions from code review
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Apply review comments
* Add missing path assertions
* Apply review comments
* Fix test saving notebook in project root
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update phoenix deps
* Update reference to LiveDashboard encode_pid
* Fix form input id references
* Move to HEEx
* Update back to filesystem LV npm package
* Further HEEx rewrites
* Refactor icons into function components
* .html.leex -> .html.heex
* Further refactoring
* Move render helpers into function components
* Add doctype back
* Further refactoring
* Refactor cell component
* Further refactoring
* Compose sidebar using function components
* Rewrite notebook card component as function component
* Fruther refactoring
* Fix race condition in runtime tests
* Rewrite tooltips into function component
* Update Tailwind purge rules
* Revert "Rewrite tooltips into function component"
This reverts commit bd6ca8f0b5.
* Refactor conditional tooltip
* Render basic input
* Make each cell type a separate struct
* Add operation to set input value
* Prototype communication
* Make input name editable
* Refactoring
* Unify cell attribute setters
* IO tests
* Document input communication protocol in Runtime
* Add more tests
* Add persistence
* Fix status update on cell attributes change
* Rework persistence
* Integrate input cell with insert mode
* Add missing users keybinding
* Mimic autofocus for dynamically inserted elements
* Support input type selection
* Support URL input and set up validation
* Convert input error into a more meaningful io error
* Add missing client checks
* Consume every input only once per evaluation
* Fixes
* Add embedded runtime for evaluating code in the Livebook VM
* Update lib/livebook_web/live/session_live/embedded_live.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Use standard error proxy globally in the Livebook node
* Add configuration env variable for setting the default runtime
* Increase evaluation response assertion timeouts
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Set up importing notebook from URL or clipboard
* Extract loading functions into separate module
* Replace import icon with text
* Add TLS peer verification
* Remove unnecessary tests setup step
* Force menu items into a single line
* Add shortcut for saving the notebook
* Make the disk icon always show file dialog
* Split runtime and file settings into separate modals
* Add ctrl+s to the shortcuts list
* Add togglable menu to the session page
* Make sure newly saved file appears in the file selector
* Fix path seletor force reloading
* Remove notebook generated in tests
* Add test for file list refresh after save
* Link to live dashboard for each running session to show process info
* Update lib/livebook_web/live/home_live/sessions_component.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Render modal components at the end of live views
* Add error pages
* Restructure web module
* Update lib/livebook_web/templates/error/500.html.eex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook_web/templates/error/500.html.eex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook_web/views/error_view.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
Co-authored-by: José Valim <jose.valim@dashbit.co>