Commit graph

679 commits

Author SHA1 Message Date
Jakub Perżyło
4fcdeb6bcf
Changed filesystems config manipulation to use ids (#1017)
* Changed filesystems mainpulation to use ids

* Adjusted to review

* Added filesystem ordering

* Apply suggestions from code review

* Format

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-22 22:42:54 +01:00
Jonatan Kłosko
ca0128d028
Remove leftovers in case assets extraction fails (#1020) 2022-02-22 01:01:04 +01:00
Jonatan Kłosko
0386a032a1
Reinitialize hooks on reconnection (#1018)
* Reinitialize cells on reconnection

* Send initial session data without additional roundtrip
2022-02-21 20:39:29 +01:00
José Valim
3bc219e5d8
Bring path verification and add normalization (#1016)
* Bring path verification and add normalization

* Normalize user home

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-21 13:18:17 +01:00
José Valim
7050180242 Resolve paths instead of raising 2022-02-21 08:08:24 +01:00
Jonatan Kłosko
797befe28f Fix undesired scrollbar on the homepage 2022-02-19 01:30:08 +01:00
Kevin
4fac98e069
Fix double slashes in URL for new (#1013)
* Fix double slashes in URL for `new`

* Fix formatting

* Rename to append_path/2 to set_path/2
2022-02-18 20:57:03 +01:00
Jonatan Kłosko
fb9c4fbef8
Don't open browser after starting the server unless explicitly asked (#1011) 2022-02-18 17:27:36 +01:00
Cristine Guadelupe
d775908a48
Adds role button to cell link button (#1010) 2022-02-17 23:39:38 -03:00
Cristine Guadelupe
b32b363ed1
Improves cell accessibility (#1009)
* Reads the output after a cell has been evaluated

* Creates SR landmarks when errors happen

* fixes formatting

* Reads a clearer message when a runtime restart is required

* Update lib/livebook_web/live/session_live/cell_component.ex

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

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-17 19:37:14 -03:00
Cristine Guadelupe
72da7da3b5
Live region for home page (#1007)
* Live region on home

* Live region: bulk actions

* Live region: ordered by info

* Makes the live region helper global
2022-02-16 15:50:32 -03:00
José Valim
71319246c4
Write to file out-of-band (#1006)
* Write to file out-of-band

It won't block the immediate write but it may block
a subsequent write. A sync function was added for
testing purposes.

* Update lib/livebook/storage/ets.ex

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

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-15 21:17:43 +01:00
José Valim
a5a1a54f19
Log and use more clearer name for table (#1005) 2022-02-15 20:29:58 +01:00
Jakub Perżyło
48f72a003a
ETS config file persistence (#1002)
* Added Ets config storage file persistence

* Adjusted to review

* Adjusted to review

* Removed redundant code

* Update lib/livebook/storage/ets.ex

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

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-15 19:28:14 +01:00
José Valim
2c271e2efb
Create home and data_path directories if missing (#1003)
* Create home and data_path directories if missing

* Update lib/livebook/config.ex

* Configure project-local data path for dev and test env

* Expand dev/test paths in compile config

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-14 22:19:06 +01:00
Cristine Guadelupe
2f9dd73a7b
New bin modal (#997)
* New empty bin modal

* New bin modal

* Smaller buttons

* Conditional rendering improvements
2022-02-11 09:49:00 -03:00
Jonatan Kłosko
fb0c96fa99
Speed up tests (#996)
* Close sessions created during tests

* Change live_patch to live_redirect where applicable
2022-02-10 15:36:59 +01:00
Jonatan Kłosko
ca27bb157f
Refactoring (#994)
* 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
2022-02-10 12:15:41 +01:00
Wojtek Mach
1d03f59d2e
Switch importing to opening files in the desktop app (#995) 2022-02-10 11:54:42 +01:00
Jonatan Kłosko
7f19afe7af
Fastlane JS channel events (#993)
* Fastlane JS channel events

* Abstract fastlaning to separate concerns
2022-02-09 23:15:03 +01:00
Jonatan Kłosko
19b777eb4e
Handle runtime event broadcast in a separate worker process (#992)
* Handle runtime event broadcast in a separate worker process

* Improve wording
2022-02-09 19:47:26 +01:00
Adam Lancaster
c972b195c5
Increase timeout for connecting via Mix standalone (#846)
* Increase timeout for connecting via Mix standalone

I have hit this timeout when connecting via mix to a fairly large
application. Increasing this fixes it for my use case.

* Update lib/livebook/runtime/standalone_init.ex

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-08 15:22:38 +01:00
Jonatan Kłosko
e5e13d86c2
Serve iframes from another local port when running on http (#989)
* Serve iframes from another local port when running on http

* Use relative hostname in local iframe URL

* Simplify server start check

* Use random iframe port when Livebook runs on a random port

* Rename space/ to iframe/

* LivebookWeb.IframePlug -> LivebookWeb.IframeEndpoint
2022-02-08 14:45:58 +01:00
Jonatan Kłosko
ccc64876a8
Add support for widget binary payloads (#982)
* Add support for widget binary payloads

* Migrate LV auth to a separate hook

* Properly set user buffer when encoding
2022-02-07 21:03:25 +01:00
Sam
494ab40ac8
add function to open notebook urls (#986)
* add function to open notebook urls

* Update lib/livebook/utils.ex

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

* Update lib/livebook/utils.ex

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

* open notebook with notebook_open_url/2

* Update server.ex

* format Livebook.Utils

* Update lib/livebook_cli/server.ex

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

* correct function doc

Co-authored-by: José Valim <jose.valim@gmail.com>
2022-02-07 13:39:23 +01:00
gpopides
19f4f17e74
check if section has valid parent when importing notebook (#984)
* check if section has valid parent + tests

* formatting

* apply review feedback

* fix the forgotten test

* apply feedback

* apply feedback

* produce a warning if the section points to itself + tests

* Apply suggestions from code review

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-06 12:51:09 +01:00
José Valim
270573d2e6
Use lowercase header name 2022-02-04 21:44:56 +01:00
Cristine Guadelupe
904a21a761
Accessibility improvements - home page (#979)
* Accessibility improvements on home page

* Unique ids for file info path buttons

* Improves navigation for screen readers in the session list

* Landmarks navigation for screen readers

* Headings navigation for screen readers

* Group navigation - running sessions list

* Fix typo

* Minor adjustments based on review suggestions
2022-02-04 13:05:38 -03:00
Benjamin Philip
1a0b9e0f7d
Allow downloading source from sessions list (#980)
* Support downloading source on a per session basis

* Update session_list_component.ex

* Add test

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

* Update test/livebook_web/live/home_live_test.exs

Co-authored-by: José Valim <jose.valim@gmail.com>
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-04 11:36:09 +01:00
José Valim
37cb549d02 Use guards for checking live action 2022-02-04 00:01:45 +01:00
Jonatan Kłosko
4681f98972
Expand directory path when opened via CLI (#976) 2022-02-03 23:43:47 +01:00
José Valim
995082b9ab
Add data-keep-attribute to reapply attribute on morphdom patch (#978) 2022-02-03 23:25:12 +01:00
Julian Gomez
358bdb3267
Export with title or file name (#870)
* Export file with title or file name

* Export with title or file name

* Add Session.file_name_for_download/1

* Compute the name without calling the server

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-03 21:17:30 +01:00
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