Commit graph

58 commits

Author SHA1 Message Date
José Valim f8581c225d
Support audio transcription on drag and drop (#2227) 2023-09-25 18:45:19 +02:00
José Valim 8041d8ee9a Remove create hub feature flag, warn if using production servers in dev 2023-08-03 22:19:01 +02:00
Alexandre de Souza 6ba0118c2d
Adds Livebook Teams URL and some touch ups (#2120) 2023-07-28 16:40:18 -03:00
Alexandre de Souza 07caffaecb
Add Offline Deployment section on the Hub Teams page (#2086) 2023-07-19 16:57:54 -03:00
Jonatan Kłosko f3da231ac5
Migrate to esbuild (#1934) 2023-05-27 09:04:52 +02:00
Alexandre de Souza 76015e3009
Improve Add Hub and Edit Hub pages (#1929) 2023-05-26 15:40:45 -03:00
Alexandre de Souza 070c0599b5
Implement users to join an organization (#1912) 2023-05-23 17:18:10 -03:00
Alexandre de Souza 932e43ac65
Implement Livebook Teams API (#1904) 2023-05-16 13:21:49 -03:00
José Valim f52ff1e9ec
Purge cookies once they exceed 24kB, closes #1832 (#1833) 2023-03-28 17:11:44 +02:00
José Valim 6ef803f95b Fix 404 rendering, closes #1826 2023-03-25 21:52:18 +01:00
José Valim b3ff6e8a70 Speed up shutdown by reducing draining to 1000ms 2023-03-15 21:00:00 +01:00
Jonatan Kłosko 42bc98a42d
Remove storage abstraction (#1777) 2023-03-13 14:44:33 +01:00
Alexandre de Souza 1cdc5251dd
Make Hubs feature public and blocks the hub creation (#1756) 2023-03-07 18:43:52 -03:00
Jonatan Kłosko 40c5044a60
Add initial support for apps (#1709) 2023-02-16 13:47:46 +01:00
GitStart 0990ab4cb2
Support allowlist for hyperlink schemes in Markdown content (#1702) 2023-02-15 22:16:38 +01:00
Jacques Lorentz f4e836a5da
Base url path configuration variable (#1549) 2022-11-29 23:34:38 +01:00
José Valim b8997d6ce2
Use with: :clear_session on bad CSRF tokens 2022-11-22 16:38:49 +01:00
Frank Hunleth 52e5273401
Support passing an MFA for customizing shutdown (#1519)
This commit lets you customize Livebook shutdown to gracefully power
off. One use case is for Nerves-based devices that need to do more than
call `System.stop/0` to power off.

This doesn't change the `LIVEBOOK_SHUTDOWN_ENABLED` environment
variable. It still works the same.

The `:shutdown_enabled` configuration is now `:shutdown_callback`. Valid
values are `nil` or an MFA. An unset or `nil` callback hides the
shutdown button in the UI.
2022-11-10 18:09:01 +01:00
José Valim 27e7535a42 Make configs consistent 2022-11-10 16:04:53 +01:00
Alexandre de Souza 1cd92366d8
Allow Livebook to run inside iframes (#1520) 2022-11-10 16:02:59 +01:00
Paulo Valim 285bc923b7
Rename the Explore section to Learn (#1424)
Co-authored-by: José Valim <jose.valim@gmail.com>
2022-09-21 12:06:22 +02:00
Alexandre de Souza 3a085a5d30
Minor Hub improvements (#1357) 2022-08-24 12:35:28 -03:00
Alexandre de Souza 5c050e640f
Add Livebook Hub with Fly.IO integration (#1319) 2022-08-18 10:34:27 -03:00
José Valim e0db5c24b0
:warn -> :warning 2022-08-03 14:32:32 +02:00
ByeongUk Choi bfd47fd166
Add app service settings (#1116) 2022-04-15 13:46:26 +02:00
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 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
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
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
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 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 3afa81f454
Add configuration for additional explore notebooks (#670)
* Add configuration for additional explore notebooks

* Update config/config.exs

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

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-11-02 22:32:58 +01:00
Jakub Perżyło fbef386aa8
Allow importing a livebook via file upload #645 (#665) 2021-11-01 13:59:39 +01: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 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
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
José Valim f3ea05b7ee
Detail the possibility of using releases environment variables (#486) 2021-07-31 10:09:21 +02:00
Jonatan Kłosko c4a96bc99c
Add support for Mix runtime as the default one (#334)
* Add support for Mix runtime as a default

* Support default runtime options in the CLI

* Set cell status to queued while runtime is being started

* Clean up tests
2021-06-09 16:24:02 +02:00
Jonatan Kłosko 406c17dc43 Build assets to tmp/static_dev in development 2021-05-19 23:50:18 +02:00
Jonatan Kłosko 2c965b4bdf
Update webpack (#268) 2021-05-12 23:44:45 +02:00
Jonatan Kłosko ea93edcc86
Add embedded runtime for evaluating code in the Livebook VM (#266)
* Add embedded runtime for evaluating code in the Livebook VM

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

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

* Use standard error proxy globally in the Livebook node

* Add configuration env variable for setting the default runtime

* Increase evaluation response assertion timeouts

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-05-10 14:37:38 +02:00
Jonatan Kłosko ac8e1e30f4
Setup Docker image with releases (#244)
* Setup Docker image with releases

* Support ip env variable and use it for Docker deployment

* Autofocus auth forms

* Rename ip env var

* Update option lists

* Make distribution cookie configurable

* Update README.md

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

* Include git in the final image

* Remove unnecessary build dependency

* Improve file permissions handling and add more comments

* Use namespaced home directory

* Update README with all running options

* Update base image

* Reference official Docker image in the README

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-04-27 16:34:02 +02:00
José Valim 81b123d5b5
Make root path configurable from outside (#217) 2021-04-19 19:50:09 +02:00
José Valim 57047f9c7f
Unify env variables and change auth to use session (#195) 2021-04-15 15:50:29 +02:00
Jakub Perżyło a9c8e20775
Password access (#187) 2021-04-15 14:15:56 +02:00
Jonatan Kłosko f31428739f
Fix node resolution in CI (#173)
* Limit the number of Elixir nodes spawned at the same time in tests

* Increase timeout

* Update CI to Elixir 1.12

* Terminate unused runtimes

* Increase timeout on the spawning node side

* Cleanup

* Run test with --trace

* Up

* Up

* Run tests with long node names

* Just longnames CI

* Move CI dependent config to config/test.exs
2021-04-14 14:28:00 +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