Commit graph

546 commits

Author SHA1 Message Date
gpopides
be1fce326c
Pass file or directory as open command (#969)
* caputre directory from params

* set file if file parameter is a file

* set file param

* docs

* partial review changes

* apply review changes

* add tests and rename file to path

* formatting

* applied feedback + fixed test

* Apply suggestions from code review

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-03 20:26:18 +01:00
Jonatan Kłosko
fc8799ef8f
Group public routes under a common prefix (#974) 2022-02-03 17:48:16 +01:00
Milo Lee
20bcac1184
Make textarea resizable (#970) 2022-02-02 14:12:50 +01:00
en30
731d95e4f0
Skip XML.decode!(body) if body is empty (#956)
* Skip XML.decode!(body) if body is empty

Google Cloud Storage has almost S3 compatible XML API,
but some responses have `content-type: text/html; charset=UTF-8`
and empty body. This change prevents XML decode error and
enables work fine with Google Cloud Storage.

* Handle Google Cloud Storage XML API response

* Rename S3.encode to S3.decode

* Improve a test case description

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

* Make S3.decode/1 let any content type pass

* mix format

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-01 12:32:51 +01:00
José Valim
aaa4f406bf Do not assume autosave path exists 2022-01-31 12:00:14 +01:00
José Valim
efdbf67f59
Introduce LIVEBOOK_HOME and LIVEBOOK_DATA_PATH (#963)
And move the relevant configurations to settings.
2022-01-31 11:51:57 +01:00
Jakub Perżyło
86e4034f33
Persistent storage (#937)
Start moving filesystems as an initial implementation.
2022-01-30 19:51:03 +01:00
José Valim
849acd87a9
Reorder usage arguments 2022-01-30 18:58:09 +01:00
gpopides
0cae21e9e8
Remove --open-new option when starting server (#960) 2022-01-30 18:36:30 +01:00
Jonatan Kłosko
51db7b482b
Adjust stop reasons for server processes (#958)
* Adjust stop reasons for server processes

* Update lib/livebook/unique_task.ex

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

Co-authored-by: José Valim <jose.valim@dashbit.co>
2022-01-30 13:30:33 +01:00
José Valim
d2344a5c3b
Improve memory tracking and address race conditions (#957)
1. Allow multiple sessions to close or disconnect at once,
     and then request the system resources to be updated

  2. Make sure that closing a session happens synchronously,
     otherwise a race condition could still list the closed
     session in a dashboard

  3. Ensure close and disconnect can happen more than once
     (for example if two users click the same button at the
     same time)
2022-01-30 12:47:50 +01:00
Paul Geraghty
b81c7f55ec
Fix typos (#955) 2022-01-30 09:44:27 +01:00
Chris Kellendonk
6bae9f3d93
Small fixes to the explore docs (#953)
* Fix Intro to Kino link in chat_app.livemd

* Install Kino before usage in distributed portals exploration
2022-01-29 19:23:18 +01:00
Chris Kellendonk
b1b573b5f4
Fix elixir_and_livebook.livemd branch parent (#951) 2022-01-29 17:32:55 +01:00
Jonatan Kłosko
4d70e5cceb
Test and typing improvements (#949)
* 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
2022-01-29 16:39:41 +01:00
José Valim
372f086044 Move from Helpers to Utils and add doctests 2022-01-29 10:39:26 +01:00
Sam
420284006a
Add url arg to the CLI (#947) 2022-01-29 10:36:32 +01:00
Cristine Guadelupe
4dd28388a5
Bulk actions for sessions (#939)
* Initial implementation to close multiple sessions

* Sessions: bulk actions with components

* Rename Disconnect sessions to Disconnect runtime

* Select all and disabled when nothing is selected

* Styled checkbox

* Renames toggle events

* Warning about not persisted notebooks

* Adds disconnect runtime option for a single session

* Edit sessions on right

* Fix: typos and plural

* Minor adjustments

* Removes the loop for rendering the menu

* Menus with fixed width

* Minor adjustments

* Pluralize as global helper

* Bulk actions form on client side

* Track bulk actions buttons state

* Fix: home live tests

* Doctests for pluralize

* Fix: bulk actions buttons losing state on session update

* Fix: format

* Minor adjustment on toggle_edit

* Review-based adjustments

* Reset the Edit state after single-session actions

* Minor adjustments

* Fixes bulk action events

* Submit the bulk action form directly

* Tests for bulk actions

* Indentation

* Update lib/livebook_web/live/home_live/close_session_component.ex

Co-authored-by: José Valim <jose.valim@gmail.com>

Co-authored-by: José Valim <jose.valim@gmail.com>
2022-01-28 17:45:04 -03:00
Jonatan Kłosko
f8a216f8ee
Highlight code errors on formatting and evaluation (#948) 2022-01-28 21:00:31 +01:00
Jonatan Kłosko
7fc8f24d2c
Fix image uploads in Markdown cells (#945)
* Fix call to consume_uploaded_entries to match changes in LV

* Escape reserved characters when inserting image in a Markdown cell
2022-01-27 15:47:04 +01:00
Jonatan Kłosko
188edfcf07
Handle intellisense during evaluation (#941)
* Handle intellisense during evaluation

* Apply review comments

* Add TODOs
2022-01-27 12:01:02 +01:00
Jonatan Kłosko
00c2cfb31a
Improve errors formatting (#936)
* Use monospaced font and wrapping for errors

* Improve function clause error format
2022-01-25 21:55:24 +01:00
Jonatan Kłosko
6b19f1d71b
Gracefully handle errors in the inspect protocol (#934) 2022-01-25 17:54:02 +01:00
Jonatan Kłosko
928cb5c592
Preserve Markdown modifiers in headings (#933) 2022-01-25 16:38:52 +01:00
gpopides
1b7b3080e1
disconnect node from remote machine (#915)
* disconnect node from remote machine

* return ok if disconnect is successful

* formatting

* Update lib/livebook/runtime/attached.ex

* move disconnection of node to NodeManager

* add doc about parent node option

* Update lib/livebook/runtime/erl_dist/node_manager.ex

Co-authored-by: José Valim <jose.valim@gmail.com>
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-01-24 23:23:31 +01:00
Joe Martinez
961581bfc7
bump phoenix_live_view to 0.17.6 (#919)
* bump phoenix_live_view to 0.17.6

* revert change to static dir

* fix deprecation warning
2022-01-24 11:30:07 +01:00
Wojtek Mach
97c64cedb8
Open Livebook homepage on :reopen_app event (#928) 2022-01-23 20:46:30 +01:00
Cristine Guadelupe
930b3293f0
Doctests for format bytes (#921)
* Doctests for format bytes

* Update lib/livebook/utils.ex

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

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-01-22 20:04:20 -03:00
Cristine Guadelupe
4f197698ae
Favicon as png to work on Safari (#920) 2022-01-22 18:15:06 -03:00
Cristine Guadelupe
c2feceba37
Redesign the memory info chart on home (#918) 2022-01-22 17:46:53 -03:00
José Valim
c58ab447e5 Compute memory information on every session list render 2022-01-22 18:30:37 +01:00
Jonatan Kłosko
e9ea88e180
Fix race conditions in message scheduling (#916)
* Fix race conditions in message scheduling

* Flush already fired timer message

* Move unscheduling to a separate function
2022-01-22 18:23:16 +01:00
José Valim
70a9a95d4e
Improvements to memory tracking (#917)
* 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
2022-01-22 17:17:20 +01:00
Cristine Guadelupe
6180bb1ff2
Track memory usage - visualization (#898)
* 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
2022-01-21 19:24:47 -03:00
José Valim
bd3363acde
Allow LIVEBOOK_PORT to be set to 0 for a random port (#906) 2022-01-21 09:18:02 +01:00
Jonatan Kłosko
5411035937
Remove unnecessary scrollbar in Mix runtime modal (#903) 2022-01-20 11:35:54 +01:00
Jonatan Kłosko
a9f9c68cfa
Compute iframe base URL based on page origin (#902)
* Compute iframe base URL based on page origin

* Format
2022-01-20 11:29:45 +01:00
José Valim
112b47908d
Small fixes (#896)
* Hide app builder unless target matches
* Fix compile-time warnings on Elixir v1.14+
2022-01-19 22:20:05 +01:00
Jonatan Kłosko
81c9871802
Release 0.5.0 (#895)
* Update Kino version

* Bump version
2022-01-19 19:58:54 +01:00
Jonatan Kłosko
5c1c61d0f2
Update broadcast_event in Kino.JS.Live guide (#894) 2022-01-19 19:39:57 +01:00
José Valim
b9b901648c
Further improvements to pong and custom kino notebooks (#886) 2022-01-19 19:01:27 +01:00
Jonatan Kłosko
6aaf1d5b58
Fix output ambiguity in livemd import/export (#892)
* Fix output ambiguity in livemd import/export

* Update test/livebook/live_markdown/import_test.exs

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

Co-authored-by: José Valim <jose.valim@dashbit.co>
2022-01-19 18:27:56 +01:00
Jonatan Kłosko
ae0f083c5c
Fixes (#889)
* Fix title test

* Fix editable element check

* Fix duplicate output ids
2022-01-19 14:43:35 +01:00
Jonatan Kłosko
3a0d77d879
Disable keyboard control when an editable element is focused (#885) 2022-01-19 13:05:21 +01:00
Jonatan Kłosko
89ca95be10
Reuse DOM elements when replacing frame outputs (#881)
* Reuse DOM elements when replacing frame outputs

* Keep less persistent indices
2022-01-18 15:13:50 +01:00
Jonatan Kłosko
6e570ed05b
Improve branch selection menu (#882) 2022-01-18 15:12:09 +01:00
Wojtek Mach
e8c80bf6a7
Add Mac app release (#865) 2022-01-17 17:34:38 +01:00
José Valim
4d79706c01
Revamp Explorer section for Kino (#879)
Pong and custom Kinos chapters are still pending.
2022-01-17 17:14:25 +01:00
Jonatan Kłosko
fe0bf660a2
Remove outputs from the page on erase outputs (#878) 2022-01-17 17:13:29 +01:00
José Valim
0c61f4dec0 Normalize explorer fonts 2022-01-17 17:11:06 +01:00