Commit graph

304 commits

Author SHA1 Message Date
José Valim
5acbd2efad
Add LIVEBOOK_SHUTDOWN_ENABLED (#1111)
* Add LIVEBOOK_SHUTDOWN_ENABLED

Previously we relied on code:get_mode(), but since
releases are starting in interactive mode to use
less memory, we need a clearer mechanism.

* Move shutdown feature check to Livebook.Config

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-04-14 15:52:28 +02:00
Jonatan Kłosko
aa3b58d708
Add support for mix run flags to the Mix runtime (#1108)
* Add support for mix run flags to the Mix runtime

* Support mix run flags in runtime config string

* Add flag validation

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

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

Co-authored-by: José Valim <jose.valim@dashbit.co>
2022-04-14 11:44:55 +02:00
Jonatan Kłosko
39a294abbe
Add an option for wrapping words in Markdown editor by default (#1107) 2022-04-13 23:54:05 +02:00
Jonatan Kłosko
4f5d6b39a1
Make smart cell editor rounded (#1105) 2022-04-13 20:03:21 +02:00
Jonatan Kłosko
aafdc12015
Mount Markdown cell editor lazily (#1102) 2022-04-13 12:45:29 +02:00
Jonatan Kłosko
25f09331cc
Update dependencies (#1099)
* Update Elixir deps

* Update JS deps
2022-04-11 21:01:45 +02:00
Jonatan Kłosko
8b153b9bb0 Fix insert buttons overlapping cell actions 2022-04-05 21:53:30 +02:00
Jonatan Kłosko
0f8ce54187 Fix border on error output 2022-04-05 15:15:13 +02:00
Jonatan Kłosko
05687716d4
Improve smart cell menu visibility while in insert mode (#1091) 2022-04-04 22:28:02 +02:00
Jonatan Kłosko
5117fd6e64
List database types when adding database connection for the first time (#1090)
* List database types when adding database connection for the first time

* Rename classes
2022-04-04 19:48:57 +02:00
Jonatan Kłosko
1cdc9f7f70
Remove restart button on Mix.install/2 error (#1088)
* Remove restart button on Mix.install failure

* Remove unused standalone? check
2022-04-04 12:49:17 +02:00
ByeongUk Choi
e3d9c5fa35
allow embedded runtime by env (#1084)
* allow embedded runtime by env

* fix session live test

* This reverts commit f36931d6ef9b..81ca7d

* allow runtime modules

* Apply suggestions from code review
2022-04-04 12:20:36 +02:00
Jonatan Kłosko
902c993098
Adjustments (#1087)
* Fix horizontal scrollbar on smaller screens

* Apply navigation shortcuts without an additional roundtrip

* Shorten the data element selector

* Fix URL in changelog

* Return reference from handle_intellisense
2022-04-04 12:19:11 +02:00
Brooklin Myers
00c913adcc
Enable image upload field when no name provided. Use image name as default value. (#1083) 2022-04-02 01:19:17 +02:00
Jonatan Kłosko
75eb031719
Automate searching and adding new dependencies (#1081)
* Automate searching and adding new dependencies

* Restructure runtime management

* Leave search restrictions up to the runtime

* Support predefined dependencies in Embedded runtime dependency search

* Use the embedded runtime for dependency search test

* Fix typo

* Use module for loading embedded runtime dependencies

* Improve naming
2022-04-01 20:13:37 +02:00
Jonatan Kłosko
df765f2dd3
List predefined smart cells and automatically add their dependencies (#1078)
* List predefined smart cells and automatically add their dependencies

* Generalize dependency insertion to multiple entries

* Add runtime setup modal

* Don't evaluate setup when restarting the runtime fails

* Automatically add vega_lite for chart builder

* Improve confirmation modal actions when the action is not destructive
2022-03-30 21:55:50 +02:00
Wojtek Mach
c5152eb941
Fix warnings (#1077) 2022-03-30 13:33:49 +02:00
Jonatan Kłosko
5476fd001d
Introduce a setup cell (#1075)
* Introduce a setup cell

* Don't collapse setup cell when dirty

* Collapse fresh setup cell when empty

* Reword collapsed setup cell text
2022-03-28 21:36:57 +02:00
Jonatan Kłosko
4369a45bd5
Regroup cell insert buttons (#1073)
* Regroup cell insert buttons

* Add spacing to divider

* Split into two menus

* Remove smart cell icon
2022-03-24 19:02:31 +01:00
Jonatan Kłosko
ac5a71bf85
Show a message when JS view data is not available (#1067)
* Multiplex initialization of JS views

* Show timeout message when JS view data fails to load

* Refactor JS view channel

* Update tests
2022-03-22 18:25:42 +01:00
Jonatan Kłosko
0145d68593
Limit standard output to last 1000 lines (#1063) 2022-03-19 12:22:36 +01:00
Jonatan Kłosko
829493822e
Group LV helpers (#1061) 2022-03-17 23:33:18 +01:00
Jonatan Kłosko
afce2e6047
Prevent smart cell menu from overlapping with insert buttons (#1060) 2022-03-17 21:44:40 +01:00
Jonatan Kłosko
b3b79afed4
Refactor JS hooks (#1055)
* Restructure hook files

* Simplify app.js

* Refactor hooks

* Implement password toggle with JS commands
2022-03-16 11:33:53 +01:00
Jonatan Kłosko
6db36ea7e6
Add support for smart cell editor (#1050)
* Add support for smart cell editor

* Log an error when smart cell fails to start
2022-03-14 22:19:56 +01:00
Jakub Perżyło
4061aa150d
Add autosave path configuration (#1019)
* Added autosave path configuration

* Update settings.ex

* Adjusted to review

* Apply suggestions from code review

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

* Adjusted to review

* Adjusted to review

Co-authored-by: José Valim <jose.valim@gmail.com>
2022-03-13 16:22:52 +01:00
Jonatan Kłosko
6b78258713
Add support for scanning evaluation context from smart cells (#1041)
* 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
2022-03-05 13:19:42 +01:00
Jonatan Kłosko
e27ff5a960
Rename Elixir cell to Code cell (#1035) 2022-03-02 12:48:02 +01:00
Jonatan Kłosko
aaeac6bb95
Add an action converting smart cell to elixir cell (#1030)
* Add an action converting smart cell to elixir cell

* Simplify tests setup

* Add confirmation

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

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

Co-authored-by: José Valim <jose.valim@dashbit.co>
2022-03-02 12:13:44 +01:00
Wojtek Mach
59e4713008 Expand path before opening it (another attempt)
See: 864624ad2c
2022-03-02 11:53:02 +01:00
Wojtek Mach
864624ad2c Expand path before opening it
Say we have this path on Windows: `C:/Users/wojtek/foo.livemd`. Opening
it: (ignore it's not escaped)

    http://localhost:4000/open?path=C:/Users/wojtek/foo.livemd

would have failed with:

    ** (ArgumentError) expected an expanded absolute path, got: "C:/Users/wojtek/foo.livemd"

and that's because absolute paths (in other words, Path expanded) start
with `c:/`, not `C:/`.
2022-03-02 11:37:07 +01:00
Jonatan Kłosko
1dc7c43b70
Simplify user modals (#1034)
* Simplify user modals

* Naming
2022-03-02 00:43:06 +01:00
Jonatan Kłosko
d191b7eb9d
Set up confirmation modals (#1033)
* Set up confirmation modals

* Add temporary fix for the global hook remount
2022-03-02 00:26:40 +01:00
Jonatan Kłosko
9d7fe44253
Introduce smart cells (#1029)
* Introduce smart cells

* Apply review comments
2022-02-28 13:53:33 +01:00
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
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
Jonatan Kłosko
797befe28f Fix undesired scrollbar on the homepage 2022-02-19 01:30:08 +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
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
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
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
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