* Use <kbd> for keyboard keys
* Show keyboard icon
* Render each key explicitly
* Update lib/livebook_web/live/session_live/shortcuts_component.ex
Co-authored-by: Wojtek Mach <wojtekmach@users.noreply.github.com>
* Add Livebook specific icons to the introductory notebooks
* More updates
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* 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
* Delegate output formatting rules to Kino
* Update naming
* Group output components and views
* Fallback to inspect when Kino.Render.to_output/1 fails
* Update naming
* Add reference to Kino
* Add support for LiveWidget.VegaLite
* LiveWidget -> Kino
* Show an error when rendering unsupported Kino widget
* Match on Kino.Widget
* Add catch-all for unknown outputs
* Change anchor tags for sections to be based on the titles, not randomly generated
* Update lib/livebook_web/helpers.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Optimise data view recomputation for delta operations
* Use generic access_by_id/1 for nested updates
* Use access_by_id/1 for nested notebook updates
* Use Enum.split_while
* 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
* #99: Add anchor links to sections and cells
* Restores some css classes removed by error
* Focus cell based on anchor link
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* 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
- Makes the file selector results to have a "box"/"container" of its own
- Seperates the filtred files from rest of the files with a border
- Optimize path selector to only traverse the filesystem if the directory
changes
* Allow server-side re-ordering of sections
* `Livebook.Notenook.move_section` definition
* Management and implementation of requests
* tests
This commit allows a person to send a request to the server to move a
section. However, the functionality in not yet available in the UI.
* Allow "Move up" and "Move down" functionality for sections
* Rendering of up and down "arrows" at Section's side
* Request from UI on click
This commit enables a user to move a section upwards or downwards, much
like a cell. However, after the section moves, the focus is not changed
to it.
* Apply formatting
* Define a function to update cell status
* Defines a common function for `move_cell` and `move_section` to use to
update cell status.
* 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>
* Add cell image upload modal
* Add controller for serving the images and handle this on markdown side
* Use per-session images dir
* Add etag header to session image responses
* Adjust markdown image styling
* Properly manage session images dir
* Add tests
* Set maximum file size for image uploads
* Move images dir specifics to the Session module
* Move images when nonpersistent session becomes persistent
* Update lib/livebook_web/live/session_live.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook_web/live/session_live.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook_web/live/session_live/cell_upload_component.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Test that close gets rid of session temporary dir
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Add full logo to the homepage
* Update sidebar active icon style
* Update lib/livebook_web/live/home_live.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>
* 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>
* Reduce space between section header and first paragraph
* Remove mb-1 on markdown
Because of line height, there is already enough spacing
between the buttons and the content.
* Make buttons group component back stateful
* Move buttons rendering to the buttons group component
* Move cell status to its own component
* Revert cell status component
* Add section insertion button
* Add shortcut for inserting section
* Pass buttons to the component
* Add mix alias for running both formatter
* Adjustments
* Make the buttons group component stateless
* Update cell actions
* Add new focus indicator
* Update headings typography
* Update cell actions and insert buttons
* Add sidebar menu
* Add settings modal
* Update homepage
* Update settings dialog
* Rename classes
* Add floating menu
* Update icon colors on hover
* Fix homepage tests
* Format assets source
* Update monaco editor
* Fix editor width on resize
* Add more padding to the notebook content
* Update settings dialog title
* Show reevaluate button when the cell is in evaluated state
* Show section actions on focus or hover only
* Pre-fill runtime selector with the current configuration
* Ignore cmd + enter in Markdown cells
* Show all sections and enable cross-section focus navigation
* Move focus to the client
* Add shortcut for evaluating all cells
* Fix and expand tests
* Make section links scroll to the given section
* Virtualize output lines
* Remove unused dependency
* Remove VirtualizedLinesComponent
* Pass lines as HTML nodes and use as template
* Validate hook children
* Refactor markup