* 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
* Implement cells bin
* Temporarily keep cells source
* Send complete bin entries from session to clients when a cell gets removed
* Polish styles
* Hydrate bin entries on section deletion as well
* Add password input
* Save empty string for password in .livemd file
* Update lib/livebook_web/live/session_live/cell_component.ex
* Changed radio button it to select
* Changed radio button it to select
* Moved select it to the top
* Keep the elements in the select ordered
* Update lib/livebook_web/helpers.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Update lib/livebook_web/live/session_live/input_cell_settings_component.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Update lib/livebook_web/live/session_live/input_cell_settings_component.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Add textarea input
* Add textarea input
* Added operation in the io_proxy to IO.getn
* Update lib/livebook/evaluator/io_proxy.ex
Co-authored-by: José Valim <jose.valim@gmail.com>
* Update lib/livebook_web/live/session_live/cell_component.ex
Co-authored-by: José Valim <jose.valim@gmail.com>
* Update lib/livebook_web/live/session_live/cell_component.ex
Co-authored-by: José Valim <jose.valim@gmail.com>
* Support for utf8 characters in getn function
* Support for utf8 characters in getn function
* Perform test with special characters
* Accepting latin1 and unicode values
* Update lib/livebook/evaluator/io_proxy.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Added split_at function for better performance
* Update lib/livebook/evaluator/io_proxy.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
Co-authored-by: José Valim <jose.valim@gmail.com>
* Add password input
* Save empty string for password in .livemd file
* Update lib/livebook_web/live/session_live/cell_component.ex
* Changed radio button it to select
* Changed radio button it to select
* Moved select it to the top
* Keep the elements in the select ordered
* Update lib/livebook_web/helpers.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Update lib/livebook_web/live/session_live/input_cell_settings_component.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Update lib/livebook_web/live/session_live/input_cell_settings_component.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Display the time in seconds
Show the evaluation time next to the cell indicator
* Test session data
* Send evaluation time to session
Start the evaluation time inside the evaluator, display the time in seconds
or milliseconds.
The output is not a string but a map
* Add metadata to evaluation_response
* Wrap the evaluation indicator in a tooltip
• Add metadata argument to the evaluation_response message
• Use a tooltip to display the evaluation time
* Display the toolip below the indicator
* Remove the evaluation start time
* Make the tooltip optional
* Rename finish_cell_evaluation
* Evaluator tests
* Update test to accespt metadata
* Pass the evaluated time as a third argument
* Make status tooltip more generic
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* 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>
* Add VegaLite intro notebook to the explore section
* Update lib/livebook/notebook/explore/intro_to_vega_lite.livemd
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update package list
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Add support for Mix runtime as a default
* Support default runtime options in the CLI
* Set cell status to queued while runtime is being started
* Clean up tests
* 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
Because we unregistered standard_error, if there
was an error booting livebook, we would fail to
print the error. This commit makes sure the original
standard error is added back whenever the proxy
process terminates.
* 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
* Ensure hostname is properly resolved when running in shortname distribution
* Update lib/livebook/application.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Pretty print host resolution error
* Add missing env var
Co-authored-by: José Valim <jose.valim@dashbit.co>
* 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
* Setup Docker image with releases
* Support ip env variable and use it for Docker deployment
* Autofocus auth forms
* Rename ip env var
* Update option lists
* Make distribution cookie configurable
* Update README.md
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Include git in the final image
* Remove unnecessary build dependency
* Improve file permissions handling and add more comments
* Use namespaced home directory
* Update README with all running options
* Update base image
* Reference official Docker image in the README
Co-authored-by: José Valim <jose.valim@dashbit.co>
* #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
This ignores "\e(B" which sometimes shows up even when the other RFC
1468 Japanese character set switch codes aren't used. This also updates
defmodifier so that it can be used with non-CSI escape codes (the
ones that start with '[').
* 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.
Prior to this PR the HTML head was being
included twice on the password auth page.
One from root.html and another from the
error page, so we decoupled those.
1. Do not use nouse_stdio as it causes slowdowns when IEx
is also running
2. Reduce the amount of generated random atoms by using the
child_node as the name of the parent process
3. Do not pass quoted strings nor newlines to Windows to eval,
use argv instead
Closes#194.
* 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>