mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-10-18 17:35:55 +08:00
Fix todos
This commit is contained in:
parent
8e6a017414
commit
ac7b5803a1
3 changed files with 6 additions and 35 deletions
|
@ -27,20 +27,19 @@ defmodule LivebookWeb.CodecHelpers do
|
|||
pos_integer()
|
||||
) :: Enumerable.t()
|
||||
def encode_pcm_as_wav_stream!(path, file_size, num_channels, sampling_rate, offset, length) do
|
||||
{header_enum, file_length} =
|
||||
header_enum =
|
||||
if offset < @wav_header_size do
|
||||
header = encode_pcm_as_wav_header(file_size, num_channels, sampling_rate)
|
||||
header_length = min(@wav_header_size - offset, length)
|
||||
header_slice = binary_slice(header, offset, header_length)
|
||||
{[header_slice], length - header_length}
|
||||
[header_slice]
|
||||
else
|
||||
{[], length}
|
||||
[]
|
||||
end
|
||||
|
||||
file_offset = max(offset - @wav_header_size, 0)
|
||||
|
||||
# TODO: use File.stream!(path, [{:read_offset, file_offset}]) once we require Elixir v1.16+
|
||||
file_stream = raw_file_range_stream!(path, file_offset, file_length)
|
||||
file_stream = File.stream!(path, 64_000, [{:read_offset, file_offset}])
|
||||
|
||||
file_stream =
|
||||
case System.endianness() do
|
||||
|
@ -86,29 +85,6 @@ defmodule LivebookWeb.CodecHelpers do
|
|||
>>
|
||||
end
|
||||
|
||||
# We assume a local path and open a raw file for efficiency
|
||||
defp raw_file_range_stream!(path, offset, length) do
|
||||
chunk_size = 64_000
|
||||
|
||||
Stream.resource(
|
||||
fn ->
|
||||
{:ok, fd} = :file.open(path, [:raw, :binary, :read, :read_ahead])
|
||||
{:ok, _} = :file.position(fd, offset)
|
||||
{fd, length}
|
||||
end,
|
||||
fn
|
||||
{fd, 0} ->
|
||||
{:halt, {fd, 0}}
|
||||
|
||||
{fd, length} ->
|
||||
size = min(chunk_size, length)
|
||||
{:ok, chunk} = :file.read(fd, size)
|
||||
{[chunk], {fd, length - size}}
|
||||
end,
|
||||
fn {fd, _} -> :file.close(fd) end
|
||||
)
|
||||
end
|
||||
|
||||
@doc """
|
||||
Builds a single binary with JSON-serialized `meta` and `binary`.
|
||||
"""
|
||||
|
|
|
@ -121,7 +121,7 @@ defmodule LivebookWeb.SessionLive.AppSettingsComponent do
|
|||
<button
|
||||
class="button-base button-blue"
|
||||
type="button"
|
||||
phx-click={JS.push("patch_back", target: @myself) |> JS.push("deploy_app")}
|
||||
phx-click={JS.patch(~p"/sessions/#{@session.id}") |> JS.push("deploy_app")}
|
||||
disabled={not @changeset.valid?}
|
||||
>
|
||||
<.remix_icon icon="rocket-line" class="align-middle mr-1" />
|
||||
|
@ -155,9 +155,4 @@ defmodule LivebookWeb.SessionLive.AppSettingsComponent do
|
|||
|
||||
{:noreply, assign(socket, changeset: changeset)}
|
||||
end
|
||||
|
||||
# TODO: use JS.patch back once possible (https://github.com/phoenixframework/phoenix_live_view/issues/2954)
|
||||
def handle_event("patch_back", %{}, socket) do
|
||||
{:noreply, push_patch(socket, to: ~p"/sessions/#{socket.assigns.session.id}")}
|
||||
end
|
||||
end
|
||||
|
|
2
mix.lock
2
mix.lock
|
@ -35,7 +35,7 @@
|
|||
"phoenix_html": {:hex, :phoenix_html, "4.0.0", "4857ec2edaccd0934a923c2b0ba526c44a173c86b847e8db725172e9e51d11d6", [:mix], [], "hexpm", "cee794a052f243291d92fa3ccabcb4c29bb8d236f655fb03bcbdc3a8214b8d13"},
|
||||
"phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.3", "7ff51c9b6609470f681fbea20578dede0e548302b0c8bdf338b5a753a4f045bf", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "f9470a0a8bae4f56430a23d42f977b5a6205fdba6559d76f932b876bfaec652d"},
|
||||
"phoenix_live_reload": {:hex, :phoenix_live_reload, "1.4.1", "2aff698f5e47369decde4357ba91fc9c37c6487a512b41732818f2204a8ef1d3", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab"},
|
||||
"phoenix_live_view": {:hex, :phoenix_live_view, "0.20.2", "025391424257d6c1ed2fab5c9fb11b1e5b21a8b47a416659b9a36492217dd5cb", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "381c7f8a5702be838a6bf440a59ea010b458018e1a85cc432e8628641c00f07a"},
|
||||
"phoenix_live_view": {:hex, :phoenix_live_view, "0.20.3", "8b6406bc0a451f295407d7acff7f234a6314be5bbe0b3f90ed82b07f50049878", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a8e4385e05618b424779f894ed2df97d3c7518b7285fcd11979077ae6226466b"},
|
||||
"phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"},
|
||||
"phoenix_template": {:hex, :phoenix_template, "1.0.4", "e2092c132f3b5e5b2d49c96695342eb36d0ed514c5b252a77048d5969330d639", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"},
|
||||
"plug": {:hex, :plug, "1.15.1", "b7efd81c1a1286f13efb3f769de343236bd8b7d23b4a9f40d3002fc39ad8f74c", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "459497bd94d041d98d948054ec6c0b76feacd28eec38b219ca04c0de13c79d30"},
|
||||
|
|
Loading…
Add table
Reference in a new issue