Commit graph

46 commits

Author SHA1 Message Date
Hugo Baraúna
7a16ce1926
Rename Hubs to Workspaces (#2574) 2024-04-19 17:40:50 -03:00
Jonatan Kłosko
f4a29840bc
Guard files listing to not crash on emoji names (#2558) 2024-04-09 17:15:44 +02:00
Jonatan Kłosko
fac2bc7a53
Fix S3 list operation for keys with space (#2497) 2024-02-25 17:04:58 +01:00
Michael Ruoss
4b82745f73
Make sure declared fields are set on AWS credentials map (#2472) 2024-02-04 11:42:38 +01:00
Jonatan Kłosko
8e6a017414
Move session markup to a separate file (#2452) 2024-01-26 13:51:05 +01:00
Wojtek Mach
03062f8d4f Remove unnecessary call to :erlang.iolist_to_binary/1 2024-01-23 13:38:22 +01:00
Jonatan Kłosko
7cf0ed2a08
Fix the S3 form to allow the user to enter a custom region (#2380) 2023-12-04 07:53:42 +01:00
José Valim
16e22078f7 Rename session_token to token to mirror FSS 2023-11-16 16:28:57 +01:00
José Valim
43f40db59d
Make AWS credentials opt-in (#2358) 2023-11-16 13:57:28 +01:00
Michael B. Klein
fbcf3e5c50
Use aws_credentials for S3 file system if Access Key ID is missing (#2347) 2023-11-16 10:49:37 +01:00
Jonatan Kłosko
8710090274
Use shorter ids for cells and sections (#2350) 2023-11-15 17:33:43 +01:00
José Valim
3ca36a6ce7
Run migrations early in the supervision tree (#2241)
Also add a migration version, improve docs,
and document code that actually cannot be
removed.
2023-09-30 09:27:09 +02:00
Jonatan Kłosko
d3f58036eb
Lazily lookup file systems when needed for file operations (#2239) 2023-09-29 20:24:37 +02:00
Alexandre de Souza
d26295ce69
Fix File System creation and ID prefix for Personal hub (#2238) 2023-09-29 11:48:07 -03:00
Alexandre de Souza
2a0d2dcdc3
Fix File System migration and some touchups (#2235) 2023-09-28 16:02:02 -03:00
Alexandre de Souza
96bf5ddbcc
Implement File Storage (#2212) 2023-09-25 11:18:30 -03:00
José Valim
64dad900d7
Exclude modules from docs (#2218)
Closes #2216.
2023-09-21 12:28:45 +02:00
Alexandre de Souza
7f1feec7d9
Implement File Systems management directly from Hub and handle their events (#2201) 2023-09-13 10:32:33 -03:00
Alexandre de Souza
51a3ab1895
Implement Teams API file system management (#2188) 2023-09-05 12:14:50 -03:00
Alexandre de Souza
928181cefe
Implements load/2 and dump/1 to FileSystem protocol and some improvements (#2171) 2023-08-22 16:20:35 -03:00
José Valim
946c20e168 File system -> File storage in error messages 2023-08-11 11:55:58 +02:00
Jonatan Kłosko
32a98ff0af Improve code docs 2023-07-28 02:04:52 +02:00
Jonatan Kłosko
3987fc29c8 Fix chunked write for local file system to handle cross-partition copy 2023-07-18 22:17:03 +02:00
Jonatan Kłosko
19a5124d1a
Implement streaming for downloads and file systems (#2072)
Co-authored-by: José Valim <jose.valim@dashbit.co>
2023-07-14 22:16:52 +02:00
Jonatan Kłosko
ede80fc074
Implement file management (#2022)
Co-authored-by: José Valim <jose.valim@dashbit.co>
2023-07-05 20:01:12 +02:00
Jonatan Kłosko
4a0a958509 Update docs 2023-03-21 12:58:16 +01:00
Jonatan Kłosko
b9237dd7f0
Add new notebook action to the file select (#1754) 2023-03-06 21:24:48 +01:00
ByeongUk Choi
4db39078bd
Add open page and track starred/recent notebooks (#1639)
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2023-03-06 18:14:33 +01:00
Jonatan Kłosko
57e1df74f3
Allow specifying S3 region explicitly (#1638) 2023-01-12 13:32:08 +01:00
Jonatan Kłosko
e14fbdb616
Enable :sync mode when writing to the local file system (#1378)
This ensures we always flush changes right away when saving
a notebook. This is important for Nerves Livebook, where it
is more likely the device is stopped abruptly.
2022-09-02 10:28:03 +02:00
Howard Su
31b0a9f7d0
Add windows version of ci (#1045)
* Add windows version of ci

Config autocrlf to input on Windows
start epmd in background

* Update .github/workflows/test.yaml

* Update .github/workflows/test.yaml

* Update .github/workflows/test.yaml

* Fix tests

* Fix ownership of cached files

* Fix tests

* Increase timeouts

* Run tests on Windows only on main

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-04-11 20:34:31 +02:00
ByeongUk Choi
a2802248ab
Refactoring codes (#1097)
* refactoring codes

* Apply suggestions from code review

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-04-09 15:53:17 +02:00
Jonatan Kłosko
894ff15419
Use the same local file system instance for all files (#1070)
* Use the same local file system instance for all files

* Add test
2022-03-24 14:09:17 +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
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
Jakub Perżyło
86e4034f33
Persistent storage (#937)
Start moving filesystems as an initial implementation.
2022-01-30 19:51:03 +01:00
Jonatan Kłosko
fef322706f
Revert to URI.parse/1 (#770) 2021-12-08 16:11:04 +01:00
Jonatan Kłosko
47d29cb389
Require Elixir 1.13 (#737)
* Bump required Elixir version to 1.13 and fix TODOs

* Fix tests

* Remove the deprecated URI.parse/1

* Bump Docker base image

* Bump Elixir on CI
2021-12-03 21:47:20 +01:00
Jonatan Kłosko
982a345ddc
Improve notebook file locking to work across nodes (#675)
* Improve notebook file locking to work across nodes

* Add node check for local file system opreations

* Replace node with host id

* Refactor process down cleanup

* Scope local file system with node

* local? -> type
2021-11-05 00:29:04 +01:00
Jonatan Kłosko
9da44fd541
Fix root directory listing on S3 when empty (#646) 2021-10-26 15:39:24 +02:00
Jonatan Kłosko
cfb719cbb0 Fix dialyzer warnings 2021-08-31 22:19:52 +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
8802fd50f3
Sign S3 requests using aws_signature (#497)
* Sign S3 requests using aws_signature

* escape_key -> encode_key

* Update lib/livebook/file_system/s3.ex

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

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-08-17 21:43:58 +02:00
Wojtek Mach
8776ccdf31
Fix warning on Elixir master (#496) 2021-08-16 21:42:51 +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