diff --git a/lib/livebook/application.ex b/lib/livebook/application.ex index 5c7a2d614..e1f7ab637 100644 --- a/lib/livebook/application.ex +++ b/lib/livebook/application.ex @@ -119,6 +119,7 @@ defmodule Livebook.Application do end end + @spec invalid_hostname!(String.t()) :: no_return() defp invalid_hostname!(prelude) do Livebook.Config.abort!(""" #{prelude}, which indicates something wrong in your OS configuration. diff --git a/lib/livebook/notebook.ex b/lib/livebook/notebook.ex index 4ddf3e7e1..e8ce1c0f7 100644 --- a/lib/livebook/notebook.ex +++ b/lib/livebook/notebook.ex @@ -226,7 +226,7 @@ defmodule Livebook.Notebook do @doc """ Updates cells as `update_cells/2`, but carries an accumulator. """ - @spec update_reduce_cells(t(), acc, ({Cell.t(), acc} -> {Cell.t(), acc})) :: t() + @spec update_reduce_cells(t(), acc, (Cell.t(), acc -> {Cell.t(), acc})) :: {t(), acc} when acc: term() def update_reduce_cells(notebook, acc, fun) do {sections, acc} = @@ -441,8 +441,8 @@ defmodule Livebook.Notebook do The cells are not ordered in any secific way. """ @spec cell_ids_with_children(t(), list(Cell.id())) :: list(Cell.id()) - def cell_ids_with_children(data, parent_cell_ids) do - graph = cell_dependency_graph(data.notebook) + def cell_ids_with_children(notebook, parent_cell_ids) do + graph = cell_dependency_graph(notebook) for parent_id <- parent_cell_ids, leaf_id <- Graph.leaves(graph), diff --git a/lib/livebook/session.ex b/lib/livebook/session.ex index 952110d6c..e23e84eac 100644 --- a/lib/livebook/session.ex +++ b/lib/livebook/session.ex @@ -1266,7 +1266,7 @@ defmodule Livebook.Session do end defp extract_archive!(binary, path) do - :ok = :erl_tar.extract({:binary, binary}, [:compressed, {:cwd, path}]) + :ok = :erl_tar.extract({:binary, binary}, [:compressed, {:cwd, String.to_charlist(path)}]) end @doc """ diff --git a/lib/livebook/session/data.ex b/lib/livebook/session/data.ex index 37d784913..4cf015685 100644 --- a/lib/livebook/session/data.ex +++ b/lib/livebook/session/data.ex @@ -847,7 +847,7 @@ defmodule Livebook.Session.Data do |> set!( notebook: Notebook.add_cell_output(data.notebook, cell.id, output), input_values: - {-1, output} + {0, output} |> Cell.Elixir.find_inputs_in_output() |> Map.new(fn attrs -> {attrs.id, attrs.default} end) |> Map.merge(data.input_values) @@ -1521,7 +1521,7 @@ defmodule Livebook.Session.Data do uniq: true, do: cell.id - cell_ids = Notebook.cell_ids_with_children(data, evaluable_cell_ids) + cell_ids = Notebook.cell_ids_with_children(data.notebook, evaluable_cell_ids) for {cell, _} <- elixir_cells_with_section, cell.id in cell_ids, diff --git a/lib/livebook_web/controllers/session_controller.ex b/lib/livebook_web/controllers/session_controller.ex index 7eeb65ea8..f1f7049c7 100644 --- a/lib/livebook_web/controllers/session_controller.ex +++ b/lib/livebook_web/controllers/session_controller.ex @@ -114,7 +114,7 @@ defmodule LivebookWeb.SessionController do # The request comes from a cross-origin iframe conn = allow_cors(conn) - case lookup_asset(hash, file_parts) do + case lookup_asset(hash, asset_path) do {:ok, local_asset_path} -> conn |> put_content_type(asset_path) diff --git a/lib/livebook_web/live/home_live.ex b/lib/livebook_web/live/home_live.ex index 9e0c4a7f1..3a06b2b17 100644 --- a/lib/livebook_web/live/home_live.ex +++ b/lib/livebook_web/live/home_live.ex @@ -85,7 +85,7 @@ defmodule LivebookWeb.HomeLive do -