* 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
* 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
* 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
* Address race condition on cancel timer
* Include memory measurement as part of evaluation metadata
* Move periodic resource computation to a single process
* Have a explicit call out for total memory
* Utils to fetch and format system and node memory usage
* Order by memory
* Track memory on session
* Show memory usage on runtime sidebar
* Shows memory usage percentage on home
* Layout adjustments
* Sidebar design adjustments to match Figma
* Home design adjustments to show the memory information
* Move memory calculations to utils
* Shows disconnected notebooks as consuming 0mb on home
* Simplifies the data structure of memory usage
* Node memory tracker on runtime
* Clean up
* Renames node memory to runtime memory
* Standardizes the data structure of memory usage
* Sends evaluation_finished to the runtime to update the memory usage after an evaluation
* Fix: The evalutor does not notify when there is no notify_to option
* Adds a test with the notify_to option to the evaluator
* Documents the notify_to option
* Minor fixes on runtime and runtime_server
* Minor fixes on sessions
* Minor adjustments
* Updates docs and specs on Utils
* Minor adjustments on session_live
* Fix total memory used by sessions on home
* Put duplicated functions on helpers
* Better filter by memory
* Fix the tooltip text for memory information on sidebar
* Minor alignment adjustment on home
* 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>
* Adds the greens and yellows from the custom color palette
* Keeps the cell status indicators with the original bright colors
* Increases icon-button contrast
* Increases labeled_text font-size
* Removes type: button to fix the runtime sidebar buttons style on Safari
* Increases the toggleable menu contrast on hover
* Use the same color for the stale state in the sections sidebar
* 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
* Remove delete prompt for empty sections
If a section has no cell views or only empty cell views, avoid
prompting the user to delete the section and just go ahead and delete
it.
Closes#800
* Move delete prompt logic to SessionLive
This avoids creating two separate paths in the view for displaying
delete buttons (triggering either a prompt, or deleting the empty
section).
Instead, the `delete_section` callback is always triggered, and the
"display prompt" logic is kept here.
Couple of things I'm unsure about so will discuss on the PR.
See https://github.com/livebook-dev/livebook/pull/829#discussion_r775560671
* Check only against empty cell list in `delete_section`
* Fix indentation
* Handle section not existing on deletion
* Match empty cell list in case expression
Also explicitly set the section and then re-use it. I think this is a
bit nicer than just matching against the empty list since it matches
the following match too
* Make cell status italic when content changed
* Add Ctrl+Shift+Enter for evaluating all cells
* Improve the behaviour of evaluating all cells
* Fix typo
* 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>
* Remove Code.Fragment backport
* Fix tests compatibility with Elixir 1.13
* Implement signature intellisense
* Don't show signatures on module attributes
* Add tests for calls with do-end block
* Unify spec formatting
* Insert parentheses when completing a function call
* Send all text until cursor in signature request
* Add configuration for completion/signature popups (#693)
* Add editor settings form
* Add configuration for intellisense defaults
* Read fresh settings when editor mounts
* Scope attribute names
* Fix disabled button styling
* Simplify signature box and enable by default
* Split settings into system and user sections
* Update lib/livebook_web/live/settings_live.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook_web/live/settings_live.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Fix spacing in documentation tests
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Added range input (Slider)
* Added range input (Slider)
* Custom css to range input
* Formatting correction
* Defined min and max values of input range
* Revert "Defined min and max values of input range"
This reverts commit 815167ab0f.
* Added input select
* working with a options like list
* Formatting correction
* swapped li for inputs in input settings
* Removed unused attribute
* Final adjustments
* Improve users connected display
* Update lib/livebook_web/live/session_live.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Update lib/livebook_web/live/session_live.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Adjust elements
* Change favicon based on notebook status
* Format correction
* "operation" is unused
* Improvements for better functioning of icons
* Renamed icons files
* Update favicons
* Update changelog
* Show indicators of state on session sidebar
* Changes to status colors
* Improve spacing
* Scroll to cell on status click
* global_evaluation_status -> global_status
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Move notebook export menu item
* Add action for clearing evaluation and outputs
* Test data operation
* Update wording
* Update wording
* Reorder menu items
* 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
* Added automatic evaluation
* apply review changes
* persist reevaluate_automatically and update test
* test for automatic reevaluation
* formatting
* Add import test
* Always show if a cell automatically reevaluates and link to settings
* Evaluate automatically reevaluating cells after queuing
* Always show evaluate button when cell is fresh
* Update icon
* Add test ensuring that fresh cells don't evaluate automatically
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* add scroll behavior to html, body, & notebook elems
* don't append base url or set target on intra-page links
* add back-to-top link, class autosorting/formatting
* add convert global style to `.scroll-smooth` util
* add `isPageAnchor` function
* remove `go-to-top` link
* use `isAbsoluteUrl` and add a semicolon ;)
* 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>