Commit graph

374 commits

Author SHA1 Message Date
Matheus Cumpian
fe77823685
Removing "Evaluate All Below" shortcut functionality (#621) 2021-10-19 23:36:44 +02:00
Matheus Cumpian
7094433b5d
Change color for aborted and queued status (#620) 2021-10-19 20:32:00 +02:00
José Valim
0b6f416bbc Improvements to notebooks that rely on distribution 2021-10-19 19:19:25 +02:00
Jonatan Kłosko
05490b43cb
Open standalone runtime ports in binary mode (#608) 2021-10-19 14:27:38 +02:00
Jonatan Kłosko
06f83def3d
Normalize session tmp directory path (#604) 2021-10-18 22:35:51 +02:00
Jonatan Kłosko
a41dda9c7c
Keep static files outside priv (#602)
* Keep static files outside priv

* Override generated assets on the CI
2021-10-18 22:32:09 +02:00
Jonatan Kłosko
3a8c11cb10
Remove version from the health endpoint (#601) 2021-10-18 18:28:19 +02:00
Jonatan Kłosko
5131a9e683
Enable CORS for health check (#600) 2021-10-18 18:07:18 +02:00
José Valim
861fc3110b Remove paragraph leading to other notebooks 2021-10-16 20:53:52 +02:00
Jean Carlos
238635a6be
Changed favicon with base on notebook status (#594)
* Change favicon based on notebook status

* Format correction

* "operation" is unused

* Improvements for better functioning of icons

* Renamed icons files

* Update favicons

* Update changelog

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2021-10-16 12:24:19 +02:00
Jonatan Kłosko
3ae67ede33
Add support for importing notebook from URL query parameter (#598)
* Add support for importing notebook from URL query

* Update desc

* Update URL and redirect to import form on error

* Update tests

* Remove URL scope
2021-10-16 12:23:08 +02:00
Jonatan Kłosko
06822b6e7e
Prefix base64 encoded cookie (#597) 2021-10-13 23:07:50 +02:00
Jonatan Kłosko
5dea204fc9
Fix intermittent test failures (#596)
* Bump Elixir on the CI

* Start permanent node manager in tests

* Adjust timeouts

* Make sure random node cookies are alphanumeric
2021-10-13 22:25:33 +02:00
gpopides
d2cdf0a2cb
Display creation date of a session in home (#593)
* add created_at to Session struct

* test + doc enhcncement

* change format creation date function name

* use helper function to format created_at

* use mix format

* apply review suggested  changes and 2 more tests

* Store creation time in session state and sort by date by default

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2021-10-10 12:29:45 +02:00
Jean Carlos
a13e691e44
Improvement users connected display (#591)
* 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

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2021-10-10 12:15:15 +02:00
Dimitris Zorbas
6391b65060
Fix doc typo in cell_component.ex (#592) 2021-10-09 20:20:13 +02:00
José Valim
d8a7af62e7
Increase the default stack for dirty io threads (cuda requires it) (#585)
Closes #579.
2021-10-05 18:23:50 +02:00
Frank Hunleth
b3df13dd77
Fix typo (#578) 2021-10-05 07:30:03 +02:00
José Valim
354aae9467
Encapsulate compile and runtime configuration (#577) 2021-10-05 00:49:01 +02:00
Jonatan Kłosko
ac60aba2fb
Make it possible to configure custom plug for all requests (#576)
* Make it possible to configure custom plug for all requests

* Apply review comments

* Use fetch_env!
2021-10-05 00:44:27 +02:00
Jonatan Kłosko
25d90eabf1
Add public function for converting .livemd to .exs (#573) 2021-10-05 00:26:41 +02:00
Jonatan Kłosko
a57927ec2a
Extend ANSI code parser to handle multiple arguments (#569)
* Extend ANSI code parser to handle multiple arguments

* Update changelog
2021-09-30 17:57:14 +02:00
José Valim
026945e669 Remove breaks to improve readability 2021-09-25 20:54:27 +02:00
José Valim
cd2c3bd5a8 Format 2021-09-25 20:35:06 +02:00
José Valim
36682edbe7 Include Intro to Nx in the homepage 2021-09-25 20:33:39 +02:00
Bruce Tate
54692ca509
Initial notebook for intro_to_nx.livemd (#528) 2021-09-25 20:29:13 +02:00
Jonatan Kłosko
fad9301ad4
Fix branching section evaluation when the parent section is empty (#560)
* Fix branching section evaluation when the parent section is empty

* Update changelog
2021-09-23 13:20:49 +02:00
Jonatan Kłosko
47dcc808e8
Fix PageHelpers.title/1 example (#555) 2021-09-18 23:51:16 +02:00
Jonatan Kłosko
4ff1ff0d5a
Use Phoenix.Tracker to keep track of sessions within the cluster (#540)
* 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
2021-09-04 19:16:01 +02:00
Jonatan Kłosko
f83e51409a
Add reference to the Kino notebook (#539)
* Add reference to the Kino notebook

* Update lib/livebook/notebook/explore/elixir_and_livebook.livemd

Co-authored-by: José Valim <jose.valim@dashbit.co>

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-09-03 13:25:22 +02:00
José Valim
bbd7cc79f5
Use Kino as example instead of Jason (#538) 2021-09-03 12:34:37 +02:00
Jonatan Kłosko
6bf0a6ba7c
Further adjust branching tooltip (#537) 2021-09-03 12:09:48 +02:00
Jonatan Kłosko
f5827d11b0
Squeeze tooltip in the sections panel (#536) 2021-09-02 14:53:44 +02:00
Jonatan Kłosko
1dbdd47b90
Add scrollbar to the sections side panel (#534) 2021-09-01 12:45:27 +02:00
Jonatan Kłosko
cfb719cbb0 Fix dialyzer warnings 2021-08-31 22:19:52 +02:00
Jonatan Kłosko
671c9b679e
Ensure upload path is normalized (#532)
* Ensure upload path is normalized

* Add TODO
2021-08-31 13:17:38 +02:00
Jonatan Kłosko
2a338b6b83
Detect if Livebook or another application is running on the given port (#530)
* Detect if Livebook or another application is running on the given port

* Use json/2

* Print error when the port is taken
2021-08-30 23:23:05 +02:00
Wojtek Mach
01c079a697
livebook server: Add --open-new flag (#529)
* livebook server: Add `--open-new` flag

* Update lib/livebook_cli/server.ex

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>

* Update lib/livebook_cli/server.ex

* Update changelog

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2021-08-30 20:52:08 +02:00
Jonatan Kłosko
2b1cb57a15
Start new notebooks with a focused code cell (#527)
* Start new notebooks with a focused code cell

* Update changelog
2021-08-30 16:33:40 +02:00
Jonatan Kłosko
071ac63cd4
Improve input type parsing (#517)
* Improve input type parsing

* Move type parsing to Cell.Input

* Add info comment
2021-08-25 12:38:30 +02:00
Jonatan Kłosko
acd100f3d3
Improve intellisense to handle structs and sigils (#513)
* Update Code.Fragment backport

* Support structs completion and show module subtype

* Support sigil completion

* Update changelog

* Don't show completion items for hidden modules

* Update Code.Fragment backport
2021-08-23 10:42:18 +02:00
Jonatan Kłosko
ab30f84548
Improve error message when attaching to a remote node with different ERTS version (#511)
* Improve error message when attaching to a remote node with different ERTS version

* Make the error more specific

* Update lib/livebook/runtime/erl_dist.ex

Co-authored-by: José Valim <jose.valim@dashbit.co>

* Update lib/livebook/runtime/erl_dist.ex

* Update lib/livebook/runtime/erl_dist.ex

* Update lib/livebook/runtime/erl_dist.ex

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-08-22 00:52:19 +02:00
Jonatan Kłosko
87b6f6160e
Fix identifier details on local calls (#509) 2021-08-21 01:24:44 +02:00
Jonatan Kłosko
f9e67d27c0
Add a keyboard shortcut for triggering on-hover docs (#508)
* Add a keyboard shortcut for triggering on-hover docs

* Update changelog
2021-08-20 23:25:18 +02:00
Jonatan Kłosko
f91c71bf3a
Migrate the Evaluator process from GenServer to a regular process (#502)
* Migrate the Evaluator process from GenServer to a regular process

* Update CHANGELOG

* Attach reference to every evaluator and pass in internal messages

* Use start_supervised/2 in tests

* Apply review comments
2021-08-19 13:56:59 +02:00
Jonatan Kłosko
9822735bcf Update GitHub org references from elixir-nx to livebook-dev 2021-08-18 15:55:07 +02:00
Jonatan Kłosko
bf05fb0a50
Add support for configuring file systems using env variables (#498)
* Add support for configuring file systems using env variables

* Add UI for copying file systems env configuration
2021-08-18 14:41:57 +02:00
nathanbegbie
1afcd7030e
fix typo in Intro To Livebook (#499) 2021-08-18 14:36:09 +02:00
Jonatan Kłosko
8802fd50f3
Sign S3 requests using aws_signature (#497)
* Sign S3 requests using aws_signature

* escape_key -> encode_key

* Update lib/livebook/file_system/s3.ex

Co-authored-by: José Valim <jose.valim@dashbit.co>

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-08-17 21:43:58 +02:00
Wojtek Mach
8776ccdf31
Fix warning on Elixir master (#496) 2021-08-16 21:42:51 +02:00
Jonatan Kłosko
8e6558a83a
Introduce file system abstraction and an S3 implementation (#492)
* 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>
2021-08-13 21:17:43 +02:00
Jonatan Kłosko
f22bf2a21d
Keep inline Markdown unchanged when importing/exporting (#487)
* Merge: [WIP] Make Markdown formatter math-safe #447

* Keep inline Markdown unchanged when importing/exporting
2021-08-02 18:39:50 +02:00
Jonatan Kłosko
634907b49c
Add notebook option for persisting outputs (#485)
* Add notebook option for persisting outputs

* Increase persistence modal spacing
2021-07-30 16:24:46 +02:00
Jonatan Kłosko
37b6a1aa40
Remove untyped metadata (#484) 2021-07-30 13:04:07 +02:00
Jonatan Kłosko
42463c7cb1
Add option to export Live Markdown with output (#483)
* Add option to export outputs in Live Markdown

* Add outputs option to Live Markdown export tab

* Adjust import to handle outputs

* Apply review comments
2021-07-29 18:41:34 +02:00
Jonatan Kłosko
1caff24882
Separate ANSI parsing from HTML rendering (#482) 2021-07-29 14:51:40 +02:00
Jonatan Kłosko
3216727858
Keep original source when highlighting (#480) 2021-07-28 19:35:36 +02:00
Jonatan Kłosko
e8eee5c495
Update Kino references to the latest version (#479) 2021-07-28 15:52:33 +02:00
Jonatan Kłosko
917e59c57d
Optimise string building with iodata (#478) 2021-07-28 14:27:11 +02:00
Jonatan Kłosko
cfbba9e2ce
Add Elixir source export (#476) 2021-07-28 13:40:36 +02:00
Jonatan Kłosko
45e8da0652 Synchronize Code.Fragment backport 2021-07-27 17:03:07 +02:00
Jonatan Kłosko
afe06517d7
Convert Elixir columns range to JavaScript (#472) 2021-07-27 16:50:05 +02:00
Jonatan Kłosko
ee51411299
Rewrite hover details using Code.Fragment.surround_context (#471) 2021-07-27 12:32:53 +02:00
Huynh Tan
e7a8a0775f
Implement checkbox input (#461)
* Implement checkbox input

* Adjustments

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2021-07-26 19:59:52 +02:00
Jonatan Kłosko
7dd80489a3
Preserve subsequent Markdown cells in .livemd (#469)
* Add import/export tests

* Implement live markdown annotation for breaking Markdown cells
2021-07-26 13:35:37 +02:00
Jonatan Kłosko
af50646a8e
Convert JavaScript string column to Elixir (#467)
* Fix column/index wording

* Convert JavaScript string column to Elixir
2021-07-26 11:57:51 +02:00
Jonatan Kłosko
f9ec058e43
Fix completion crash on higher unicode characters (#466)
* Fix completion crash on higher unicode characters

* Safely rescue from intellisense errors
2021-07-26 11:34:22 +02:00
Jonatan Kłosko
943d8b6059
Make sure to reflect the dirty status when cell content changes (#465) 2021-07-26 11:33:44 +02:00
José Valim
ed8fac44ef
Meantion install caches and consolidates protocols
Closes #462.
2021-07-24 17:51:20 +02:00
Jonatan Kłosko
756420f5fa
Fix attached runtime configuration string ambiguity with IPv6 (#459)
* Fix attached runtime configuration string ambiguity with IPv6

* Preserve the NODE:COOKIE order
2021-07-23 10:19:30 +02:00
Jonatan Kłosko
6575791bed
Add notebook source preview and export (#457)
* Add notebook source preview and export

* Build live markdown source outside the session process
2021-07-23 01:18:40 +02:00
Jonatan Kłosko
d7ba8af975 Fix completion crash on binding entries from different context 2021-07-22 10:48:58 +02:00
Jonatan Kłosko
9bbbd4568f
Completion adjustments (#456)
* Fix function arity completion

* Add support for operator completion in Elixir 1.13
2021-07-21 21:09:28 +02:00
Jonatan Kłosko
31991a12f3
Make output ids unique across evaluations (#454) 2021-07-21 15:45:00 +02:00
Jonatan Kłosko
ef06e49d18
Show full documentation when hovering over an identifier (#453)
* Show full documentation when hovering over an identifier

* Remove leftover function

* Improve determining subject boundaries
2021-07-20 21:30:53 +02:00
Jonatan Kłosko
6276aafa72
Compute cells validity based on snapshots (#452) 2021-07-18 19:05:02 +02:00
Jean Carlos
ad999cf9c0
Added input select (#448)
* 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

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2021-07-18 19:01:44 +02:00
Jonatan Kłosko
aa95d81729
Fix completion crash on module attribute call (#451) 2021-07-16 23:39:51 +02:00
Jonatan Kłosko
d55c4a1ccc
Introduce branching sections (#449)
* Introduce branching sections

* parent_index -> branch_parent_index

* Flip the branch icon

* Don't mark branching sections as aborted if the main flow crashes

* Outline more details about branching sections in the Elixir and Livebook notebook

* Add branch indicator to the sections sidebar
2021-07-15 18:19:36 +02:00
Jonatan Kłosko
ee740d4194
Resolve links for imported notebooks (#445)
* Resolve links for imported notebooks

* Clarify error messages
2021-07-10 21:49:50 +02:00
Jonatan Kłosko
bd8e06b5ce
Implement relative navigation between notebooks (#441)
* Use live redirect for local links in rendered markdown

* Resolve relative notebook URLs

* Bump LV

* Adds tests

* Handle nested relative path

* Handle child nested paths
2021-07-08 19:35:11 +02:00
Jonatan Kłosko
7203813f8d
Add support for input properties (#440) 2021-07-08 11:35:09 +02:00
Jonatan Kłosko
73845e4f6a
Handle backticks in Elixir code when persisting Livemarkdown (#438)
* Handle backticks in Elixir code when persisting Livemarkdown

* Apply suggestions from code review

Co-authored-by: José Valim <jose.valim@dashbit.co>

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-07-07 15:10:36 +02:00
Jonatan Kłosko
6ec263ce7c Remove unnecessary url assign on form components 2021-07-07 14:40:26 +02:00
Jonatan Kłosko
c1654345b7
Migrate to latest LV (#437)
* 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
2021-07-07 14:32:49 +02:00
Jean Carlos
db22a7cccb
Added range input (Slider) (#435)
* Added range input (Slider)
* Added range input (Slider)
* Custom css to range input

* Formatting correction
2021-07-06 11:22:04 +02:00
Jonatan Kłosko
d0ec965fad Fix persistent insert mode in modals 2021-07-05 23:33:21 +02:00
Jonatan Kłosko
9b2f039e29
Restructure remote node processes and allow for multiple connections (#434)
* Restructure remote node processes and allow for multiple connections

* Return proper error from Attached duplicate
2021-07-05 20:01:27 +02:00
José Valim
7b4978d003 List livebook version on dashboard home
This will be available in the upcoming dashboard version.
2021-07-04 20:58:37 +02:00
Jonatan Kłosko
557df4a5bf
Add UI for file deletion and renaming (#426) 2021-07-02 23:06:05 +02:00
Jonatan Kłosko
8ed30f7984
Add UI for directory creation (#424) 2021-07-02 14:34:00 +02:00
Jonatan Kłosko
2100451df7
Document editor shortcuts and add basic view (#419)
* Document more editor shortcuts

* Add basic shortcuts view

* Improve sizing

* More shortcuts

* Fix replace-all editor shortcut

* Show tab in basic view, hide find shortcut
2021-07-01 15:02:56 +02:00
Jonatan Kłosko
20ff5c95b8
Suggest restarting runtime on Mix.install error and add restart shortcut (#418)
* Suggest restarting runtime on Mix.install error and add restart shortcut

* Apply review comments
2021-07-01 13:23:07 +02:00
Wojtek Mach
6515629156
livebook server: Add --open flag (#417)
* livebook server: Add --open flag

* Update lib/livebook_cli/server.ex

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>

* Add LivebookWeb.Endpoint.access_url/0

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2021-07-01 12:17:49 +02:00
Jonatan Kłosko
86316e9460
Add code formatting integration to Elixir cells (#416) 2021-07-01 11:50:04 +02:00
Jonatan Kłosko
cb151fdaa2 Improve Bin sizing 2021-06-30 22:07:57 +02:00
José Valim
42a3ac2675 Add scrollbar and spacing on Bin 2021-06-30 20:20:08 +02:00
José Valim
8dc142f6d5 Fix placement and remove double scroll bars 2021-06-30 20:06:33 +02:00
Jonatan Kłosko
2ff327e742
Implement cells bin (#414)
* 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
2021-06-30 17:48:27 +02:00
Jonatan Kłosko
44dc3d9041
Improve section management (#411)
* Allow inserting section anywhere in the notebook

* Improve section deletion

* Polishing

* Remove section insertion shortcuts
2021-06-28 23:46:50 +02:00