Commit graph

110 commits

Author SHA1 Message Date
Cheng Zhe
f06891cd6d
Fix typo on notebook cell (#200)
Fix typo on notebook cell
2021-04-16 08:05:35 +02:00
José Valim
101f582196
Use known cookie when starting runtimes (#199) 2021-04-15 20:09:54 +02:00
Jonatan Kłosko
d6e9c36571 Use password input for entering passphrase 2021-04-15 16:19:17 +02:00
José Valim
57047f9c7f
Unify env variables and change auth to use session (#195) 2021-04-15 15:50:29 +02:00
Frank Hunleth
3a19021983
Support config of the root path for storing notebooks (#191)
This adds a `:root_path` key to the application environment so that
file dialogs can default to known location where notebooks are stored.
2021-04-15 14:51:27 +02:00
Jakub Perżyło
a9c8e20775
Password access (#187) 2021-04-15 14:15:56 +02:00
José Valim
dee372c623
Improve error message if we can't boot epmd, closes #196 (#197) 2021-04-15 11:42:56 +02:00
José Valim
5190e01db7 Remove unused root module 2021-04-15 11:30:24 +02:00
José Valim
31e16f6b93 Fix typo on CLI entries 2021-04-15 09:06:01 +02:00
Cheng Zhe
d3ffb7978d
Rename litebook_cli.ex to livebook_cli.ex (#174)
Rename litebook_cli.ex to livebook_cli.ex
2021-04-15 08:56:49 +02:00
Cheng Zhe
9978d29831
Fix spec error type (#181) 2021-04-15 08:56:20 +02:00
Cheng Zhe
bfaf6b7776
Fix spec in delta operation (#193) 2021-04-15 08:56:03 +02:00
Cheng Zhe
9b0ac23c2c
Fix typo in delta operation docs (#192) 2021-04-15 08:55:43 +02:00
Jonatan Kłosko
69343bfc3c
Link to live dashboard for each running session to show process info (#186)
* 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>
2021-04-14 22:37:17 +02:00
James Baldwin
9c6d747aca
Remove extra word in comment (#185) 2021-04-14 21:02:47 +02:00
Jakub Perżyło
a3c55a801d
Add live dashboard (#183) 2021-04-14 20:10:25 +02:00
Jonatan Kłosko
9e026ee4b9
Make sure write-protected files can only be forked (#182)
* Format file errors into readable messages

* Make sure write-protected files can only be forked

* Show tooltip when the file is write protected
2021-04-14 16:27:35 +02:00
Michał Gibowski
539cb8e2b1
Fix some typos in moduledocs (#180) 2021-04-14 13:40:32 +02:00
TED
623c5b3290
Add notbook runtime settings shortcut (#176) 2021-04-14 12:20:51 +02:00
Jonatan Kłosko
2887527dc9
Fix sections sidebar overflow (#171) 2021-04-14 11:35:54 +02:00
Jonatan Kłosko
252642f601
Start standalone runtimes as hidden nodes (#172) 2021-04-14 11:23:05 +02:00
Alexandre Antonio Juca
5f3230f7aa
Add spelling corrections to welcome livebook (#169) 2021-04-14 00:17:20 +02:00
Jonatan Kłosko
d8213c3f68
Change wording from delete session to close session (#160) 2021-04-12 23:24:26 +02:00
Jonatan Kłosko
5f5ef1d0b6
Improve path selector (#159)
* Synchronously save file when the location is chosen and fix default path

* Handle enter press in the path selector
2021-04-12 22:59:48 +02:00
Jonatan Kłosko
c6f9c54f31
Buffer IO evaluation output (#156)
* Buffer IO evaluation output

* Respect CR in IOProxy

* Handle CR when adding cell output rather than during each render

* Optimise CR handling in buffer
2021-04-12 17:56:40 +02:00
Wojtek Mach
caea9610ad
Update Welcome notebook (#154) 2021-04-09 15:24:41 +02:00
Jonatan Kłosko
d68c271aae
Add support for math formulas (#151)
* Add support for LaTeX equations

* Mention math support in the introductory notebook
2021-04-08 15:31:46 +02:00
Jonatan Kłosko
e9766ed7a5
Introduce token auth and add basic cli configuration (#148)
* Add token authentication

* Restructure CLI

* Allow port configuration

* Further refactoring

* Make sure livebook node starts with unique name

* Improve startup error handling

* Further refactoring

* Add authentication tests

* Add authentication view for entering the token

* Fix auth tests

* Always use random Livebook name for distribution

* Don't enable ANSI on Windows

* Define CLI Task behaviour and move generic logic to the main module

* Generalize convertion from cli arguments to configuration

* Randomly generate secret key base

* Update test/livebook_web/plugs/auth_plug_test.exs

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

* Override app config in persistent manner

* Update lib/litebook_cli.ex

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

* Move auth error to ErrorView

* Unify node name configuration and allow it via CLI

* Set all applications configs at once

* Move token generation to application.ex to work outside CLI

* Clean up overriding configuration

* Store auth token in separate cookies

* Update lib/livebook_cli/server.ex

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

* Update lib/livebook_web/endpoint.ex

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

* Update lib/livebook_web/plugs/auth_plug.ex

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

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-04-08 11:41:52 +02:00
Jonatan Kłosko
b3661ed2f0
Make failed evaluations preserve evaluation context (#145) 2021-04-05 17:01:07 +02:00
Jonatan Kłosko
70be004ee0
Make autoscroll behaviour more intuitive (#143)
* Fix editor shift

* Make autoscrolling more intuitive
2021-04-05 15:06:14 +02:00
Jonatan Kłosko
7d1d1f4d98
Respect CR in cell output (#137)
* Respect CR in cell output

* Update test/livebook_web/helpers_test.exs

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

* Improve rewind implementation

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-04-04 21:22:28 +02:00
Jonatan Kłosko
d93b5d8450
Set up image uploads for Markdown content (#132)
* 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>
2021-04-04 18:55:51 +02:00
José Valim
5fb753c4d1
Logo and README (#133) 2021-04-04 12:42:46 +02:00
Jonatan Kłosko
9ec80acc63
Design adjustments (#131)
* 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>
2021-04-02 14:54:14 +02:00
José Valim
931d55a8b8
Minor nits on welcome notebook (#130) 2021-04-02 14:09:28 +02:00
Jonatan Kłosko
cc9d5a8103
Prevent from scrolling to top on modal open (#129)
* 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>
2021-04-02 14:00:49 +02:00
Jonatan Kłosko
0fbeb42d24 Fix some typos in the Welcome notebook 2021-04-01 17:01:18 +02:00
Jonatan Kłosko
59fefc1980
Highlight results in path selector (#128)
* Highlight results in path selector

* Increase highlight contrast
2021-04-01 15:49:39 +02:00
Jonatan Kłosko
5efd8eb851
Notebook status indicators (#127)
* 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>
2021-04-01 12:56:19 +02:00
Jonatan Kłosko
4e90666350
Fix pressing insert button when in markdown insert mode (#126) 2021-03-30 22:16:42 +02:00
Jonatan Kłosko
5c5b4ece26
Add "Hello Livebook" notebook (#123)
* 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>
2021-03-30 21:42:02 +02:00
José Valim
83a092fa38
Reduce space between section header and first paragraph (#124)
* 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.
2021-03-30 12:35:11 +02:00
Jonatan Kłosko
a1bf2d999e
Handle evaluator process failures (#121)
* Handle evaluator process failures

* Add test

* Use Exception.format_exit/1
2021-03-29 19:52:06 +02:00
Jonatan Kłosko
e335ecb791
Focus notebook name after creation (#122) 2021-03-29 19:50:46 +02:00
Jonatan Kłosko
143cd5d80f
Optimise rendering and diff by stripping data into view-specific struct (#119)
* Optimise rendering and diff by stripping data into view-specific struct

* Move data to socket.private
2021-03-25 23:29:22 +01:00
Jonatan Kłosko
de83020d05
Home tests (#118)
* Test forking existing session

* Test session deletion

* Fix capitalization
2021-03-25 19:04:49 +01:00
Jonatan Kłosko
0983a9df77
Add confirmation for session deletion (#117)
* Update sections panel

* Add deletion confirm and unify buttons

* Align notebook title

* Fix whitespace shrinking in the editor

* Update session deletion route
2021-03-25 17:39:18 +01:00
Jonatan Kłosko
9a1fab7b59
Diffing optimisation (#116)
* 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
2021-03-24 22:26:26 +01:00
Jonatan Kłosko
fe5dfe3b86
Insert section (#114)
* 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
2021-03-24 18:37:50 +01:00
Jonatan Kłosko
50db813092
Show reconnect button when connecting to a matching runtime (#113)
* Show reconnect button when connecting to a matching runtime

* Add runtime config test
2021-03-23 19:41:03 +01:00