* Support downloading source on a per session basis
* Update session_list_component.ex
* Add test
* Update lib/livebook_web/live/home_live/session_list_component.ex
* Update test/livebook_web/live/home_live_test.exs
Co-authored-by: José Valim <jose.valim@gmail.com>
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Minimize race condition in the frame update test
* Use defmacrop for building intellisense context
* Remove unnecessary cell view computation
* Fix nested assets resolution
* Fix typing errors
* Add missing async attribute to test suites
* Improve rendering synchronization
* Up
* Initial implementation to close multiple sessions
* Sessions: bulk actions with components
* Rename Disconnect sessions to Disconnect runtime
* Select all and disabled when nothing is selected
* Styled checkbox
* Renames toggle events
* Warning about not persisted notebooks
* Adds disconnect runtime option for a single session
* Edit sessions on right
* Fix: typos and plural
* Minor adjustments
* Removes the loop for rendering the menu
* Menus with fixed width
* Minor adjustments
* Pluralize as global helper
* Bulk actions form on client side
* Track bulk actions buttons state
* Fix: home live tests
* Doctests for pluralize
* Fix: bulk actions buttons losing state on session update
* Fix: format
* Minor adjustment on toggle_edit
* Review-based adjustments
* Reset the Edit state after single-session actions
* Minor adjustments
* Fixes bulk action events
* Submit the bulk action form directly
* Tests for bulk actions
* Indentation
* Update lib/livebook_web/live/home_live/close_session_component.ex
Co-authored-by: José Valim <jose.valim@gmail.com>
Co-authored-by: José Valim <jose.valim@gmail.com>
* Restructure frame output
* Reboot JSComponent when ref changes
* Prune outputs from LV, handle frame and stdout updates via component messaging
* Keep ANSI modifiers as keyword list
* Don't re-render pruned outputs
* Improve empty frame styling
* Use more specific id
* Add clarification on trailing CR
* Handle output group borders with CSS
* Keep only relevant outputs in memory
* Adjust borders
* Update lib/livebook/live_markdown/import.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Apply review comments
Co-authored-by: José Valim <jose.valim@dashbit.co>
* override tab name when notebook is renamed
* set page_title in after operation function
* add custom page title to all live pages
* Revert "override tab name when notebook is renamed"
This reverts commit 90303e08a8.
* add test for update
* Add keywords to completion
* Fix signature request caching for call without parentheses
* Don't insert parentheses for def* macros
* Don't trigger missing runtime message when auto completion is enabled
* Don't insert parentheses for keyword macros
* Improve completion of env macros
* Apply review comments
* Update locals without parentheses
* Apply suggestions from code review
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Format
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Add support for controls output type
* Split controls into individual widgets
* Adjust ids
* Improve widget and controls garbage collection
* Allow arbitrary functions as object release hook
* Add type to button and input events
* Add keyboard status event
* Change release hooks into monitor messages
* Rename pointer to reference and return an error on bad monitor
* Show reconnect for all runtime types when applicable
* Make it clear which runtime is the default
* Show Mix.install restart suggestion only for standalone runtimes
* Fix tests not to rely on the default runtime tab
* adding a new info flash on imported notebooks
* changing the imported notebook error flashes to warning level
* Update lib/livebook_web/live/session_helpers.ex
Co-authored-by: José Valim <jose.valim@gmail.com>
* adding unit tests for the flash messages and fixing put_import_flash/1 call location
* changing name of put_import_flash_messages/2 to put_import_warnings
* Update lib/livebook_web/live/home_live.ex
* formating code
Co-authored-by: José Valim <jose.valim@gmail.com>
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* 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>
* 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 explore page
* Move sidebar to a configurable component
* Fix homepage test
* Add images
* Store example notebooks in files and make explore notebooks linkable
* Fix tests
* Raise on invalid notebook slug
* Keep just the file contents in notebook info
* Move notebook lookup to Explore
* Exclude notebooks in progress
* 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>
* Add initial user config modal
* Assign user ids
* Update session data to hold user ids
* Get users list for specific ids
* Render user avatar
* User update
* Refactor user changes
* Subscribe to individual user updates
* Show users in side panel
* Add sidebar to homepage
* Don't generate the same color twice in a row
* Add documentation notes
* Fix tests
* Add tests
* Keep users in session data
* Rename color to hex_color
* 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
* Add notebook indicators
* Make evaluation status button point to the corresponding cell
* Rename introductory notebook
* Update path highlight when chosen for saving
* Allow specifying nonexistent directories when saving and create those
* Update lib/livebook_web/live/session_live/indicators_component.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook_web/live/session_live/indicators_component.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook_web/live/session_live/indicators_component.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook_web/live/session_live/indicators_component.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook_web/live/session_live/indicators_component.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Limit module result to a single line
* Add introductory notebook to get started with
* Don't show tooltip on focused elements
* Update lib/livebook/notebook/hello_livebook.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook/notebook/hello_livebook.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook/notebook/hello_livebook.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update notebook settings reference
* Add note on package authors
* Add tests
* Update Phoenix version to git master
Co-authored-by: José Valim <jose.valim@dashbit.co>