@@ -37,7 +34,7 @@ defmodule LightningWeb.ErrorView do
:if={assigns[:error]}
class="mt-4 p-4 text-xs font-mono text-gray-600 border rounded-md bg-gray-200 grid grid-cols-2 gap-2"
>
- <%= for {k,v} <- @error do %>
+ <%= for {k, v} <- @error do %>
{k}
{v}
<% end %>
@@ -48,6 +45,10 @@ defmodule LightningWeb.ErrorView do
"""
end
+ def render(template, _assigns) do
+ Phoenix.Controller.status_message_from_template(template)
+ end
+
defp logo_bar(assigns) do
~H"""
"""
end
-
- # By default, Phoenix returns the status message from
- # the template name. For example, "404.html" becomes
- # "Not Found".
- def template_not_found(template, assigns) do
- if String.match?(template, ~r/.json$/) do
- %{
- "error" =>
- case assigns do
- %{error: error} -> error
- _ -> Phoenix.Controller.status_message_from_template(template)
- end
- }
- else
- Phoenix.Controller.status_message_from_template(template)
- end
- end
end
diff --git a/lib/lightning_web/controllers/error_json.ex b/lib/lightning_web/controllers/error_json.ex
new file mode 100644
index 00000000000..5c815cf8667
--- /dev/null
+++ b/lib/lightning_web/controllers/error_json.ex
@@ -0,0 +1,11 @@
+defmodule LightningWeb.ErrorJSON do
+ @moduledoc false
+
+ def render(_template, %{error: error}) do
+ %{"error" => error}
+ end
+
+ def render(template, _assigns) do
+ %{"error" => Phoenix.Controller.status_message_from_template(template)}
+ end
+end
diff --git a/lib/lightning_web/controllers/fallback_controller.ex b/lib/lightning_web/controllers/fallback_controller.ex
index 6e3f3c590bf..c75ac41585a 100644
--- a/lib/lightning_web/controllers/fallback_controller.ex
+++ b/lib/lightning_web/controllers/fallback_controller.ex
@@ -10,28 +10,28 @@ defmodule LightningWeb.FallbackController do
def call(conn, {:error, :not_found}) do
conn
|> put_status(:not_found)
- |> put_view(LightningWeb.ErrorView)
+ |> put_view(html: LightningWeb.ErrorHTML, json: LightningWeb.ErrorJSON)
|> render(:"404")
end
def call(conn, {:error, :bad_request}) do
conn
|> put_status(:bad_request)
- |> put_view(LightningWeb.ErrorView)
+ |> put_view(html: LightningWeb.ErrorHTML, json: LightningWeb.ErrorJSON)
|> render(:"400")
end
def call(conn, {:error, :unauthorized}) do
conn
|> put_status(:unauthorized)
- |> put_view(LightningWeb.ErrorView)
+ |> put_view(html: LightningWeb.ErrorHTML, json: LightningWeb.ErrorJSON)
|> render(:"401")
end
def call(conn, {:error, :forbidden}) do
conn
|> put_status(:forbidden)
- |> put_view(LightningWeb.ErrorView)
+ |> put_view(html: LightningWeb.ErrorHTML, json: LightningWeb.ErrorJSON)
|> render(:"403")
end
@@ -61,7 +61,7 @@ defmodule LightningWeb.FallbackController do
def call(conn, {:error, error}) when is_map(error) do
conn
|> put_status(:unauthorized)
- |> put_view(LightningWeb.ErrorView)
+ |> put_view(html: LightningWeb.ErrorHTML, json: LightningWeb.ErrorJSON)
|> render(:"401", error: error)
end
end
diff --git a/lib/lightning_web/controllers/user_auth.ex b/lib/lightning_web/controllers/user_auth.ex
index 7cd2343dbb4..dc7867c7f39 100644
--- a/lib/lightning_web/controllers/user_auth.ex
+++ b/lib/lightning_web/controllers/user_auth.ex
@@ -230,7 +230,10 @@ defmodule LightningWeb.UserAuth do
"json" ->
conn
|> put_status(:unauthorized)
- |> put_view(LightningWeb.ErrorView)
+ |> put_view(
+ html: LightningWeb.ErrorHTML,
+ json: LightningWeb.ErrorJSON
+ )
|> render(:"401")
|> halt()
@@ -263,7 +266,7 @@ defmodule LightningWeb.UserAuth do
if is_nil(conn.assigns[:current_resource]) do
conn
|> put_status(:unauthorized)
- |> put_view(LightningWeb.ErrorView)
+ |> put_view(html: LightningWeb.ErrorHTML, json: LightningWeb.ErrorJSON)
|> render(:"401")
|> halt()
else
@@ -313,7 +316,10 @@ defmodule LightningWeb.UserAuth do
"json" ->
conn
|> put_status(:forbidden)
- |> put_view(LightningWeb.ErrorView)
+ |> put_view(
+ html: LightningWeb.ErrorHTML,
+ json: LightningWeb.ErrorJSON
+ )
|> render(:"403")
|> halt()
diff --git a/lib/lightning_web/controllers/webhooks_controller.ex b/lib/lightning_web/controllers/webhooks_controller.ex
index 1c9d1d0247b..6915ff6eca7 100644
--- a/lib/lightning_web/controllers/webhooks_controller.ex
+++ b/lib/lightning_web/controllers/webhooks_controller.ex
@@ -16,7 +16,7 @@ defmodule LightningWeb.WebhooksController do
%Plug.Conn.Unfetched{} ->
conn
|> put_status(415)
- |> put_view(LightningWeb.ErrorView)
+ |> put_view(json: LightningWeb.ErrorJSON)
|> render(:"415")
|> halt()
diff --git a/lib/lightning_web/live/dashboard_live/components.ex b/lib/lightning_web/live/dashboard_live/components.ex
index 82fb17d9c47..0923d94444c 100644
--- a/lib/lightning_web/live/dashboard_live/components.ex
+++ b/lib/lightning_web/live/dashboard_live/components.ex
@@ -158,24 +158,4 @@ defmodule LightningWeb.DashboardLive.Components do
<% end %>
"""
end
-
- attr :current_sort_key, :string, required: true
- attr :current_sort_direction, :string, required: true
- attr :target, :any, required: true
- attr :target_sort_key, :string, required: true
- slot :inner_block, required: true
-
- defp sortable_table_header(assigns) do
- ~H"""
-
- {render_slot(@inner_block)}
-
- """
- end
end
diff --git a/lib/lightning_web/live/workflow_live/dashboard_components.ex b/lib/lightning_web/live/workflow_live/dashboard_components.ex
index 9c59f8f6f62..4a5fbd977bb 100644
--- a/lib/lightning_web/live/workflow_live/dashboard_components.ex
+++ b/lib/lightning_web/live/workflow_live/dashboard_components.ex
@@ -279,24 +279,6 @@ defmodule LightningWeb.WorkflowLive.DashboardComponents do
"""
end
- attr :current_sort_key, :string, required: true
- attr :current_sort_direction, :string, required: true
- attr :target_sort_key, :string, required: true
- slot :inner_block, required: true
-
- defp sortable_table_header(assigns) do
- ~H"""
-
- {render_slot(@inner_block)}
-
- """
- end
-
attr :project, :map, required: true
attr :workflow, :map, required: true
attr :trigger_enabled, :boolean
diff --git a/lib/lightning_web/live/workflow_live/job_view.ex b/lib/lightning_web/live/workflow_live/job_view.ex
index 59e37e929b8..089fa57024a 100644
--- a/lib/lightning_web/live/workflow_live/job_view.ex
+++ b/lib/lightning_web/live/workflow_live/job_view.ex
@@ -41,18 +41,6 @@ defmodule LightningWeb.WorkflowLive.JobView do
"""
end
- slot :inner_block, required: true
- attr :class, :string, default: ""
- attr :id, :string, required: true
-
- defp column(assigns) do
- ~H"""
-
- {render_slot(@inner_block)}
-
- """
- end
-
attr :job, :map, required: true
attr :form, :map, required: true, doc: "A form built from a job"
attr :current_user, :map, required: true
diff --git a/lib/lightning_web/plugs/api_auth.ex b/lib/lightning_web/plugs/api_auth.ex
index b37b2d7eeda..d1f0c63d3e3 100644
--- a/lib/lightning_web/plugs/api_auth.ex
+++ b/lib/lightning_web/plugs/api_auth.ex
@@ -2,7 +2,7 @@ defmodule LightningWeb.Plugs.ApiAuth do
@moduledoc """
Authenticates api calls based on JWT bearer token.
"""
- use Phoenix.Controller
+ use Phoenix.Controller, formats: [:json]
import Plug.Conn
def init(opts) do
@@ -41,7 +41,7 @@ defmodule LightningWeb.Plugs.ApiAuth do
defp deny_access(conn) do
conn
|> put_status(:unauthorized)
- |> put_view(LightningWeb.ErrorView)
+ |> put_view(json: LightningWeb.ErrorJSON)
|> render(:"401")
|> halt()
end
diff --git a/lib/lightning_web/plugs/block_routes.ex b/lib/lightning_web/plugs/block_routes.ex
index 6414d58aa59..7395f862dee 100644
--- a/lib/lightning_web/plugs/block_routes.ex
+++ b/lib/lightning_web/plugs/block_routes.ex
@@ -2,7 +2,7 @@ defmodule LightningWeb.Plugs.BlockRoutes do
@moduledoc """
Plug to conditionally block specified routes based on configuration flags and custom messages.
"""
- use Phoenix.Controller
+ use Phoenix.Controller, formats: [:html, :json]
import Plug.Conn
def init(opts) do
diff --git a/lib/lightning_web/router.ex b/lib/lightning_web/router.ex
index b1488f6b4e8..9fdffd22fc1 100644
--- a/lib/lightning_web/router.ex
+++ b/lib/lightning_web/router.ex
@@ -207,8 +207,6 @@ defmodule LightningWeb.Router do
end
live_session :settings, on_mount: LightningWeb.InitAssigns do
- live "/settings", SettingsLive.Index, :index
-
live "/settings/users/new", UserLive.Edit, :new
live "/settings/users/:id", UserLive.Edit, :edit
live "/settings/users/:id/delete", UserLive.Index, :delete
@@ -230,8 +228,6 @@ defmodule LightningWeb.Router do
live "/mfa_required", ProjectLive.MFARequired, :index
scope "/projects/:project_id", as: :project do
- live "/jobs", JobLive.Index, :index
-
live "/settings/delete", ProjectLive.Settings, :delete
live "/history", RunLive.Index, :index
@@ -281,7 +277,7 @@ defmodule LightningWeb.Router do
live_session :services, @services_opts do
Enum.each(@services_routes, fn {path, module, action, opts} ->
- live(path, module, action, opts)
+ live(path, Module.concat([module]), action, opts)
end)
end
end
diff --git a/mix.exs b/mix.exs
index ee3d841b0b7..f2a63b20cbe 100644
--- a/mix.exs
+++ b/mix.exs
@@ -28,7 +28,7 @@ defmodule Lightning.MixProject do
coveralls: :test,
verify: :test
],
- compilers: Mix.compilers(),
+ compilers: [:phoenix_live_view] ++ Mix.compilers(),
# Docs
name: "Lightning",
@@ -103,20 +103,21 @@ defmodule Lightning.MixProject do
{:libcluster_postgres, "~> 0.2.0"},
{:live_debugger, "~> 0.3.0", only: :dev},
{:mimic, "~> 1.12.0", only: :test},
- {:mix_test_watch, "~> 1.2.0", only: [:test, :dev], runtime: false},
+ {:mix_test_watch, "~> 1.4.0", only: [:test, :dev], runtime: false},
{:mock, "~> 0.3.8", only: :test},
{:mox, "~> 1.2.0", only: :test},
{:oauth2, "~> 2.1"},
- {:oban, "~> 2.19"},
+ {:oban, "~> 2.20"},
{:petal_components, "~> 3.0"},
- {:phoenix, "~> 1.7.11"},
+ {:phoenix, "~> 1.8"},
{:phoenix_ecto, "~> 4.6"},
{:phoenix_html, "~> 4.1"},
{:phoenix_html_helpers, "~> 1.0"},
{:phoenix_live_dashboard, "~> 0.8"},
{:phoenix_live_reload, "~> 1.5", only: :dev},
- {:phoenix_live_view, "~> 1.0.17"},
- {:phoenix_storybook, "~> 0.9.2", only: :dev},
+ {:phoenix_live_view, "~> 1.1"},
+ {:lazy_html, ">= 0.0.0", only: :test},
+ {:phoenix_storybook, "~> 1.0", only: :dev},
{:cors_plug, "~> 3.0"},
{:plug_cowboy, "~> 2.5"},
{:postgrex, ">= 0.0.0"},
@@ -152,7 +153,7 @@ defmodule Lightning.MixProject do
{:eventually, "~> 1.1", only: [:test]},
{:benchee, "~> 1.5.0", only: :dev},
{:statistics, "~> 0.6", only: :dev},
- {:y_ex, "~> 0.8.0"},
+ {:y_ex, "~> 0.10.2"},
{:chameleon, "~> 2.5"}
]
end
diff --git a/mix.lock b/mix.lock
index 1ff96a874b5..f916ea05be9 100644
--- a/mix.lock
+++ b/mix.lock
@@ -10,6 +10,7 @@
"bypass": {:hex, :bypass, "2.1.0", "909782781bf8e20ee86a9cabde36b259d44af8b9f38756173e8f5e2e1fabb9b1", [:mix], [{:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: false]}, {:ranch, "~> 1.3", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "d9b5df8fa5b7a6efa08384e9bbecfe4ce61c77d28a4282f79e02f1ef78d96b80"},
"cachex": {:hex, :cachex, "4.1.1", "574c5cd28473db313a0a76aac8c945fe44191659538ca6a1e8946ec300b1a19f", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:ex_hash_ring, "~> 6.0", [hex: :ex_hash_ring, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "d6b7449ff98d6bb92dda58bd4fc3189cae9f99e7042054d669596f56dc503cd8"},
"castore": {:hex, :castore, "1.0.17", "4f9770d2d45fbd91dcf6bd404cf64e7e58fed04fadda0923dc32acca0badffa2", [:mix], [], "hexpm", "12d24b9d80b910dd3953e165636d68f147a31db945d2dcb9365e441f8b5351e5"},
+ "cc_precompiler": {:hex, :cc_precompiler, "0.1.11", "8c844d0b9fb98a3edea067f94f616b3f6b29b959b6b3bf25fee94ffe34364768", [:mix], [{:elixir_make, "~> 0.7", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "3427232caf0835f94680e5bcf082408a70b48ad68a5f5c0b02a3bea9f3a075b9"},
"certifi": {:hex, :certifi, "2.15.0", "0e6e882fcdaaa0a5a9f2b3db55b1394dba07e8d6d9bcad08318fb604c6839712", [:rebar3], [], "hexpm", "b147ed22ce71d72eafdad94f055165c1c182f61a2ff49df28bcc71d1d5b94a60"},
"chameleon": {:hex, :chameleon, "2.5.0", "102dd809f78701875efd0a203730dd64296a1f2d29c8efa6b00cc029d58ff39e", [:mix], [], "hexpm", "f3559827d8b4fe53a44e19e56ae94bedd36a355e0d33e18067b8abc37ec428db"},
"circular_buffer": {:hex, :circular_buffer, "1.0.0", "25c004da0cba7bd8bc1bdabded4f9a902d095e20600fd15faf1f2ffbaea18a07", [:mix], [], "hexpm", "c829ec31c13c7bafd1f546677263dff5bfb006e929f25635878ac3cfba8749e5"},
@@ -50,7 +51,8 @@
"expo": {:hex, :expo, "1.1.0", "f7b9ed7fb5745ebe1eeedf3d6f29226c5dd52897ac67c0f8af62a07e661e5c75", [:mix], [], "hexpm", "fbadf93f4700fb44c331362177bdca9eeb8097e8b0ef525c9cc501cb9917c960"},
"file_system": {:hex, :file_system, "1.1.1", "31864f4685b0148f25bd3fbef2b1228457c0c89024ad67f7a81a3ffbc0bbad3a", [:mix], [], "hexpm", "7a15ff97dfe526aeefb090a7a9d3d03aa907e100e262a0f8f7746b78f8f87a5d"},
"finch": {:hex, :finch, "0.20.0", "5330aefb6b010f424dcbbc4615d914e9e3deae40095e73ab0c1bb0968933cadf", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.6.2 or ~> 1.7", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 1.1", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "2658131a74d051aabfcba936093c903b8e89da9a1b63e430bee62045fa9b2ee2"},
- "floki": {:hex, :floki, "0.38.0", "62b642386fa3f2f90713f6e231da0fa3256e41ef1089f83b6ceac7a3fd3abf33", [:mix], [], "hexpm", "a5943ee91e93fb2d635b612caf5508e36d37548e84928463ef9dd986f0d1abd9"},
+ "fine": {:hex, :fine, "0.1.4", "b19a89c1476c7c57afb5f9314aed5960b5bc95d5277de4cb5ee8e1d1616ce379", [:mix], [], "hexpm", "be3324cc454a42d80951cf6023b9954e9ff27c6daa255483b3e8d608670303f5"},
+ "floki": {:hex, :floki, "0.38.1", "f002ccac94b3bcb21d40d9b34cc2cc9fd88a8311879120330075b5dde657ebee", [:mix], [], "hexpm", "e744bf0db7ee34b2c8b62767f04071107af0516a81144b9a2f73fe0494200e5b"},
"gcs_signed_url": {:hex, :gcs_signed_url, "0.4.6", "bfcbe59ed28424064c709b4cd31e1215808d66f509b618ecbcff3f70bd151ca1", [:mix], [{:httpoison, "~> 2.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "0516bb4ce0cdb740e21d01dc4346f2a9054c7ee1b67a885674ba78ce18fca33a"},
"gen_smtp": {:hex, :gen_smtp, "1.3.0", "62c3d91f0dcf6ce9db71bcb6881d7ad0d1d834c7f38c13fa8e952f4104a8442e", [:rebar3], [{:ranch, ">= 1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "0b73fbf069864ecbce02fe653b16d3f35fd889d0fdd4e14527675565c39d84e6"},
"gen_stage": {:hex, :gen_stage, "1.3.2", "7c77e5d1e97de2c6c2f78f306f463bca64bf2f4c3cdd606affc0100b89743b7b", [:mix], [], "hexpm", "0ffae547fa777b3ed889a6b9e1e64566217413d018cabd825f786e843ffe63e7"},
@@ -74,6 +76,7 @@
"jumper": {:hex, :jumper, "1.0.2", "68cdcd84472a00ac596b4e6459a41b3062d4427cbd4f1e8c8793c5b54f1406a7", [:mix], [], "hexpm", "9b7782409021e01ab3c08270e26f36eb62976a38c1aa64b2eaf6348422f165e1"},
"junit_formatter": {:hex, :junit_formatter, "3.4.0", "d0e8db6c34dab6d3c4154c3b46b21540db1109ae709d6cf99ba7e7a2ce4b1ac2", [:mix], [], "hexpm", "bb36e2ae83f1ced6ab931c4ce51dd3dbef1ef61bb4932412e173b0cfa259dacd"},
"kafka_protocol": {:hex, :kafka_protocol, "4.2.8", "441e233f0ef44db2c2adf6674b38bc2f1d2bd95a6d2bb2039614cd05ea5876b0", [:rebar3], [{:crc32cer, "1.0.4", [hex: :crc32cer, repo: "hexpm", optional: false]}], "hexpm", "8004e8918f6abfe75f6a2e98b607b7ae88620ba6c3fce3515bd36ca99150770d"},
+ "lazy_html": {:hex, :lazy_html, "0.1.10", "ffe42a0b4e70859cf21a33e12a251e0c76c1dff76391609bd56702a0ef5bc429", [:make, :mix], [{:cc_precompiler, "~> 0.1", [hex: :cc_precompiler, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.9.0", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:fine, "~> 0.1.0", [hex: :fine, repo: "hexpm", optional: false]}], "hexpm", "50f67e5faa09d45a99c1ddf3fac004f051997877dc8974c5797bb5ccd8e27058"},
"libcluster": {:hex, :libcluster, "3.5.0", "5ee4cfde4bdf32b2fef271e33ce3241e89509f4344f6c6a8d4069937484866ba", [:mix], [{:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.3", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ebf6561fcedd765a4cd43b4b8c04b1c87f4177b5fb3cbdfe40a780499d72f743"},
"libcluster_postgres": {:hex, :libcluster_postgres, "0.2.0", "14a5064b78f891c46935a66489454814d949a52b447fc1daff5d4a440e6f5847", [:mix], [{:libcluster, "~> 3.3", [hex: :libcluster, repo: "hexpm", optional: false]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: false]}], "hexpm", "ab2e952371c5a0a0fcb263216c7eae2a2267977b3bb3236650daed3054a93edd"},
"live_debugger": {:hex, :live_debugger, "0.3.2", "b67baa8ed6a4329fe0c6aaf21a403cce4d0bac9b33d90707fe2609108614ac69", [:mix], [{:igniter, ">= 0.5.40 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:phoenix_live_view, "~> 0.20.4 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "5050b37af05a2b84d429e7256a41d3612283c4c802edd23e6eeb4e0b6fc2a712"},
@@ -88,7 +91,7 @@
"mimerl": {:hex, :mimerl, "1.4.0", "3882a5ca67fbbe7117ba8947f27643557adec38fa2307490c4c4207624cb213b", [:rebar3], [], "hexpm", "13af15f9f68c65884ecca3a3891d50a7b57d82152792f3e19d88650aa126b144"},
"mimic": {:hex, :mimic, "1.12.0", "34c9d1fb8e756df09ca5f96861d273f2bb01063df1a6a51a4c101f9ad7f07a9c", [:mix], [{:ham, "~> 0.2", [hex: :ham, repo: "hexpm", optional: false]}], "hexpm", "eaa43d495d6f3bc8099b28886e05a1b09a2a6be083f6385c3abc17599e5e2c43"},
"mint": {:hex, :mint, "1.7.1", "113fdb2b2f3b59e47c7955971854641c61f378549d73e829e1768de90fc1abf1", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1 or ~> 0.2.0 or ~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "fceba0a4d0f24301ddee3024ae116df1c3f4bb7a563a731f45fdfeb9d39a231b"},
- "mix_test_watch": {:hex, :mix_test_watch, "1.2.0", "1f9acd9e1104f62f280e30fc2243ae5e6d8ddc2f7f4dc9bceb454b9a41c82b42", [:mix], [{:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm", "278dc955c20b3fb9a3168b5c2493c2e5cffad133548d307e0a50c7f2cfbf34f6"},
+ "mix_test_watch": {:hex, :mix_test_watch, "1.4.0", "d88bcc4fbe3198871266e9d2f00cd8ae350938efbb11d3fa1da091586345adbb", [:mix], [{:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm", "2b4693e17c8ead2ef56d4f48a0329891e8c2d0d73752c0f09272a2b17dc38d1b"},
"mock": {:hex, :mock, "0.3.9", "10e44ad1f5962480c5c9b9fa779c6c63de9bd31997c8e04a853ec990a9d841af", [:mix], [{:meck, "~> 0.9.2", [hex: :meck, repo: "hexpm", optional: false]}], "hexpm", "9e1b244c4ca2551bb17bb8415eed89e40ee1308e0fbaed0a4fdfe3ec8a4adbd3"},
"mox": {:hex, :mox, "1.2.0", "a2cd96b4b80a3883e3100a221e8adc1b98e4c3a332a8fc434c39526babafd5b3", [:mix], [{:nimble_ownership, "~> 1.0", [hex: :nimble_ownership, repo: "hexpm", optional: false]}], "hexpm", "c7b92b3cc69ee24a7eeeaf944cd7be22013c52fcb580c1f33f50845ec821089a"},
"nimble_options": {:hex, :nimble_options, "1.1.1", "e3a492d54d85fc3fd7c5baf411d9d2852922f66e69476317787a7b2bb000a61b", [:mix], [], "hexpm", "821b2470ca9442c4b6984882fe9bb0389371b8ddec4d45a9504f00a66f650b44"},
@@ -103,20 +106,20 @@
"parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"},
"peep": {:hex, :peep, "3.5.0", "9f6ead7b0f2c684494200c8fc02e7e62e8c459afe861b29bd859e4c96f402ed8", [:mix], [{:nimble_options, "~> 1.1", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:plug, "~> 1.16", [hex: :plug, repo: "hexpm", optional: true]}, {:telemetry_metrics, "~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "5a73a99c6e60062415efeb7e536a663387146463a3d3df1417da31fd665ac210"},
"petal_components": {:hex, :petal_components, "3.0.1", "58cd70f9c5e4896ed8e41b095f19770fa56ca0855d99790c4a26b5f04fa52283", [:mix], [{:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_ecto, "~> 4.4", [hex: :phoenix_ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_html_helpers, "~> 1.0", [hex: :phoenix_html_helpers, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.7", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "1195bc30979284f01a5fa2430e370d8378c635e083179c2b2fdbecf21cce05c1"},
- "phoenix": {:hex, :phoenix, "1.7.21", "14ca4f1071a5f65121217d6b57ac5712d1857e40a0833aff7a691b7870fc9a3b", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, 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.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "336dce4f86cba56fed312a7d280bf2282c720abb6074bdb1b61ec8095bdd0bc9"},
+ "phoenix": {:hex, :phoenix, "1.8.5", "919db335247e6d4891764dc3063415b0d2457641c5f9b3751b5df03d8e20bbcf", [:mix], [{:bandit, "~> 1.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, 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.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "83b2bb125127e02e9f475c8e3e92736325b5b01b0b9b05407bcb4083b7a32485"},
"phoenix_ecto": {:hex, :phoenix_ecto, "4.6.5", "c4ef322acd15a574a8b1a08eff0ee0a85e73096b53ce1403b6563709f15e1cea", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "26ec3208eef407f31b748cadd044045c6fd485fbff168e35963d2f9dfff28d4b"},
"phoenix_html": {:hex, :phoenix_html, "4.3.0", "d3577a5df4b6954cd7890c84d955c470b5310bb49647f0a114a6eeecc850f7ad", [:mix], [], "hexpm", "3eaa290a78bab0f075f791a46a981bbe769d94bc776869f4f3063a14f30497ad"},
"phoenix_html_helpers": {:hex, :phoenix_html_helpers, "1.0.1", "7eed85c52eff80a179391036931791ee5d2f713d76a81d0d2c6ebafe1e11e5ec", [:mix], [{:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "cffd2385d1fa4f78b04432df69ab8da63dc5cf63e07b713a4dcf36a3740e3090"},
"phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.7", "405880012cb4b706f26dd1c6349125bfc903fb9e44d1ea668adaf4e04d4884b7", [: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", "3a8625cab39ec261d48a13b7468dc619c0ede099601b084e343968309bd4d7d7"},
"phoenix_live_reload": {:hex, :phoenix_live_reload, "1.6.2", "b18b0773a1ba77f28c52decbb0f10fd1ac4d3ae5b8632399bbf6986e3b665f62", [:mix], [{:file_system, "~> 0.2.10 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "d1f89c18114c50d394721365ffb428cce24f1c13de0467ffa773e2ff4a30d5b9"},
- "phoenix_live_view": {:hex, :phoenix_live_view, "1.0.18", "943431edd0ef8295ffe4949f0897e2cb25c47d3d7ebba2b008d7c68598b887f1", [:mix], [{:floki, "~> 0.36", [hex: :floki, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0 or ~> 1.8.0-rc", [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", "724934fd0a68ecc57281cee863674454b06163fed7f5b8005b5e201ba4b23316"},
+ "phoenix_live_view": {:hex, :phoenix_live_view, "1.1.27", "9afcab28b0c82afdc51044e661bcd5b8de53d242593d34c964a37710b40a42af", [:mix], [{:igniter, ">= 0.6.16 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:lazy_html, "~> 0.1.0", [hex: :lazy_html, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0 or ~> 1.8.0-rc", [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", "415735d0b2c612c9104108b35654e977626a0cb346711e1e4f1ed16e3c827ede"},
"phoenix_pubsub": {:hex, :phoenix_pubsub, "2.2.0", "ff3a5616e1bed6804de7773b92cbccfc0b0f473faf1f63d7daf1206c7aeaaa6f", [:mix], [], "hexpm", "adc313a5bf7136039f63cfd9668fde73bba0765e0614cba80c06ac9460ff3e96"},
- "phoenix_storybook": {:hex, :phoenix_storybook, "0.9.2", "6bc80f89284e47c8f53a39ddf80ce19dff459d3a3490dce11349a280c6192762", [:mix], [{:earmark, "~> 1.4", [hex: :earmark, repo: "hexpm", optional: false]}, {:jason, "~> 1.3", [hex: :jason, repo: "hexpm", optional: true]}, {:makeup_eex, "~> 2.0.2", [hex: :makeup_eex, repo: "hexpm", optional: false]}, {:makeup_html, "~> 0.2.0", [hex: :makeup_html, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html_helpers, "~> 1.0", [hex: :phoenix_html_helpers, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}], "hexpm", "4dbfd43e85a5d578235fb53df38f9f7ba0809156b56d55a52e7cec0b2648aba2"},
+ "phoenix_storybook": {:hex, :phoenix_storybook, "1.0.0", "99753f788b752be07b1afe5d75075425b792c82687613747a5653de950faf363", [:mix], [{:earmark, "~> 1.4", [hex: :earmark, repo: "hexpm", optional: false]}, {:jason, "~> 1.3", [hex: :jason, repo: "hexpm", optional: true]}, {:makeup_eex, "~> 2.0.2", [hex: :makeup_eex, repo: "hexpm", optional: false]}, {:makeup_html, "~> 0.2.0", [hex: :makeup_html, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.8.1", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html_helpers, "~> 1.0", [hex: :phoenix_html_helpers, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}], "hexpm", "4fbc5b0e23eeed3b879e9a249603259245885e880236b1b796631cdff3fcddb9"},
"phoenix_swoosh": {:hex, :phoenix_swoosh, "1.2.1", "b74ccaa8046fbc388a62134360ee7d9742d5a8ae74063f34eb050279de7a99e1", [:mix], [{:finch, "~> 0.8", [hex: :finch, repo: "hexpm", optional: true]}, {:hackney, "~> 1.10", [hex: :hackney, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6", [hex: :phoenix, repo: "hexpm", optional: true]}, {:phoenix_html, "~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_view, "~> 1.0 or ~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:swoosh, "~> 1.5", [hex: :swoosh, repo: "hexpm", optional: false]}], "hexpm", "4000eeba3f9d7d1a6bf56d2bd56733d5cadf41a7f0d8ffe5bb67e7d667e204a2"},
"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"},
"phoenix_view": {:hex, :phoenix_view, "2.0.4", "b45c9d9cf15b3a1af5fb555c674b525391b6a1fe975f040fb4d913397b31abf4", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}], "hexpm", "4e992022ce14f31fe57335db27a28154afcc94e9983266835bb3040243eb620b"},
"plug": {:hex, :plug, "1.19.1", "09bac17ae7a001a68ae393658aa23c7e38782be5c5c00c80be82901262c394c0", [: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", "560a0017a8f6d5d30146916862aaf9300b7280063651dd7e532b8be168511e62"},
- "plug_cowboy": {:hex, :plug_cowboy, "2.7.5", "261f21b67aea8162239b2d6d3b4c31efde4daa22a20d80b19c2c0f21b34b270e", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "20884bf58a90ff5a5663420f5d2c368e9e15ed1ad5e911daf0916ea3c57f77ac"},
+ "plug_cowboy": {:hex, :plug_cowboy, "2.8.0", "07789e9c03539ee51bb14a07839cc95aa96999fd8846ebfd28c97f0b50c7b612", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "9cbfaaf17463334ca31aed38ea7e08a68ee37cabc077b1e9be6d2fb68e0171d0"},
"plug_crypto": {:hex, :plug_crypto, "2.1.1", "19bda8184399cb24afa10be734f84a16ea0a2bc65054e23a62bb10f06bc89491", [:mix], [], "hexpm", "6470bce6ffe41c8bd497612ffde1a7e4af67f36a15eea5f921af71cf3e11247c"},
"poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm", "ba8836feea4b394bb718a161fc59a288fe0109b5006d6bdf97b6badfcf6f0f25"},
"poolboy": {:hex, :poolboy, "1.5.2", "392b007a1693a64540cead79830443abf5762f5d30cf50bc95cb2c1aaafa006b", [:rebar3], [], "hexpm", "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"},
@@ -129,7 +132,7 @@
"req": {:hex, :req, "0.5.1", "90584216d064389a4ff2d4279fe2c11ff6c812ab00fa01a9fb9d15457f65ba70", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "7ea96a1a95388eb0fefa92d89466cdfedba24032794e5c1147d78ec90db7edca"},
"retry": {:hex, :retry, "0.19.0", "aeb326d87f62295d950f41e1255fe6f43280a1b390d36e280b7c9b00601ccbc2", [:mix], [], "hexpm", "85ef376aa60007e7bff565c366310966ec1bd38078765a0e7f20ec8a220d02ca"},
"rustler": {:hex, :rustler, "0.32.1", "f4cf5a39f9e85d182c0a3f75fa15b5d0add6542ab0bf9ceac6b4023109ebd3fc", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:toml, "~> 0.6", [hex: :toml, repo: "hexpm", optional: false]}], "hexpm", "b96be75526784f86f6587f051bc8d6f4eaff23d6e0f88dbcfe4d5871f52946f7"},
- "rustler_precompiled": {:hex, :rustler_precompiled, "0.8.3", "4e741024b0b097fe783add06e53ae9a6f23ddc78df1010f215df0c02915ef5a8", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:rustler, "~> 0.23", [hex: :rustler, repo: "hexpm", optional: true]}], "hexpm", "c23f5f33cb6608542de4d04faf0f0291458c352a4648e4d28d17ee1098cddcc4"},
+ "rustler_precompiled": {:hex, :rustler_precompiled, "0.8.4", "700a878312acfac79fb6c572bb8b57f5aae05fe1cf70d34b5974850bbf2c05bf", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:rustler, "~> 0.23", [hex: :rustler, repo: "hexpm", optional: true]}], "hexpm", "3b33d99b540b15f142ba47944f7a163a25069f6d608783c321029bc1ffb09514"},
"scrivener": {:hex, :scrivener, "2.7.2", "1d913c965ec352650a7f864ad7fd8d80462f76a32f33d57d1e48bc5e9d40aba2", [:mix], [], "hexpm", "7866a0ec4d40274efbee1db8bead13a995ea4926ecd8203345af8f90d2b620d9"},
"sentry": {:hex, :sentry, "10.9.0", "503575bc98ef268ad75e9792e17637ab7b270ed8036614f777a1833272409016", [:mix], [{:hackney, "~> 1.8", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:nimble_options, "~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_ownership, "~> 0.3.0 or ~> 1.0", [hex: :nimble_ownership, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.6", [hex: :phoenix, repo: "hexpm", optional: true]}, {:phoenix_live_view, "~> 0.20 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.6", [hex: :plug, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "9abf07e6a757f6650e2429b5773f546ff119f6980b9bb02067a7eb510a75c9f2"},
"sleeplocks": {:hex, :sleeplocks, "1.1.3", "96a86460cc33b435c7310dbd27ec82ca2c1f24ae38e34f8edde97f756503441a", [:rebar3], [], "hexpm", "d3b3958552e6eb16f463921e70ae7c767519ef8f5be46d7696cc1ed649421321"},
@@ -141,7 +144,7 @@
"swoosh": {:hex, :swoosh, "1.18.2", "41279e8449b65d14b571b66afe9ab352c3b0179291af8e5f4ad9207f489ad11a", [:mix], [{:bandit, ">= 1.0.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mua, "~> 0.2.3", [hex: :mua, repo: "hexpm", optional: true]}, {:multipart, "~> 0.4", [hex: :multipart, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: true]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:req, "~> 0.5 or ~> 1.0", [hex: :req, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "032fcb2179f6d4e3b90030514ddc8d3946d8b046be939d121db480ca78adbc38"},
"table_rex": {:hex, :table_rex, "4.1.0", "fbaa8b1ce154c9772012bf445bfb86b587430fb96f3b12022d3f35ee4a68c918", [:mix], [], "hexpm", "95932701df195d43bc2d1c6531178fc8338aa8f38c80f098504d529c43bc2601"},
"tailwind": {:hex, :tailwind, "0.4.1", "e7bcc222fe96a1e55f948e76d13dd84a1a7653fb051d2a167135db3b4b08d3e9", [:mix], [], "hexpm", "6249d4f9819052911120dbdbe9e532e6bd64ea23476056adb7f730aa25c220d1"},
- "telemetry": {:hex, :telemetry, "1.3.0", "fedebbae410d715cf8e7062c96a1ef32ec22e764197f70cda73d82778d61e7a2", [:rebar3], [], "hexpm", "7015fc8919dbe63764f4b4b87a95b7c0996bd539e0d499be6ec9d7f3875b79e6"},
+ "telemetry": {:hex, :telemetry, "1.4.1", "ab6de178e2b29b58e8256b92b382ea3f590a47152ca3651ea857a6cae05ac423", [:rebar3], [], "hexpm", "2172e05a27531d3d31dd9782841065c50dd5c3c7699d95266b2edd54c2dafa1c"},
"telemetry_metrics": {:hex, :telemetry_metrics, "1.1.0", "5bd5f3b5637e0abea0426b947e3ce5dd304f8b3bc6617039e2b5a008adc02f8f", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e7b79e8ddfde70adb6db8a6623d1778ec66401f366e9a8f5dd0955c56bc8ce67"},
"telemetry_metrics_prometheus_core": {:hex, :telemetry_metrics_prometheus_core, "1.2.1", "c9755987d7b959b557084e6990990cb96a50d6482c683fb9622a63837f3cd3d8", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "5e2c599da4983c4f88a33e9571f1458bf98b0cf6ba930f1dc3a6e8cf45d5afb6"},
"telemetry_poller": {:hex, :telemetry_poller, "1.3.0", "d5c46420126b5ac2d72bc6580fb4f537d35e851cc0f8dbd571acf6d6e10f5ec7", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "51f18bed7128544a50f75897db9974436ea9bfba560420b646af27a9a9b35211"},
@@ -153,6 +156,6 @@
"unsafe": {:hex, :unsafe, "1.0.2", "23c6be12f6c1605364801f4b47007c0c159497d0446ad378b5cf05f1855c0581", [:mix], [], "hexpm", "b485231683c3ab01a9cd44cb4a79f152c6f3bb87358439c6f68791b85c2df675"},
"websock": {:hex, :websock, "0.5.3", "2f69a6ebe810328555b6fe5c831a851f485e303a7c8ce6c5f675abeb20ebdadc", [:mix], [], "hexpm", "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"},
"websock_adapter": {:hex, :websock_adapter, "0.5.9", "43dc3ba6d89ef5dec5b1d0a39698436a1e856d000d84bf31a3149862b01a287f", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "5534d5c9adad3c18a0f58a9371220d75a803bf0b9a3d87e6fe072faaeed76a08"},
- "y_ex": {:hex, :y_ex, "0.8.0", "e1591d97a487a15fe93eb29b88685d0ccb6f76403cdd2b8c60e9cebb9a2d204e", [:mix], [{:rustler, ">= 0.0.0", [hex: :rustler, repo: "hexpm", optional: true]}, {:rustler_precompiled, ">= 0.6.0", [hex: :rustler_precompiled, repo: "hexpm", optional: false]}], "hexpm", "d2ce875481c28896d5d9037d8cb5d859ddbcfb047dcfebdcd0d33c6ebfd3d506"},
+ "y_ex": {:hex, :y_ex, "0.10.2", "0304498e1f8f0c056fb56413fb06df37875366e9fc0f0aec13cf3c108cf9e540", [:mix], [{:rustler, ">= 0.0.0", [hex: :rustler, repo: "hexpm", optional: true]}, {:rustler_precompiled, ">= 0.6.0", [hex: :rustler_precompiled, repo: "hexpm", optional: false]}], "hexpm", "8773efc24e57d53304b072240b3a9e46258557031e6464fb4a0455e92e495f75"},
"yex": {:hex, :yex, "0.0.1", "99ad1448ac9f7482b40fea8fc5ba23c92933a435b96935b079854e362e8b2353", [:mix], [{:rustler, "~> 0.32.1", [hex: :rustler, repo: "hexpm", optional: false]}], "hexpm", "8304c754ea0856f88f5f1f089191641393fae2791780a8b8865f7b4f9c6069b6"},
}
diff --git a/test/lightning/workflow_versions_test.exs b/test/lightning/workflow_versions_test.exs
index 251ca02d12b..1c431f19973 100644
--- a/test/lightning/workflow_versions_test.exs
+++ b/test/lightning/workflow_versions_test.exs
@@ -6,7 +6,7 @@ defmodule Lightning.WorkflowVersionsTest do
alias Lightning.Repo
alias Lightning.WorkflowVersions
- alias Lightning.Workflows.{Workflow, WorkflowVersion}
+ alias Lightning.Workflows.{WorkflowVersion}
@a "aaaaaaaaaaaa"
@b "bbbbbbbbbbbb"
diff --git a/test/lightning_web/live/ai_assistant_live_test.exs b/test/lightning_web/live/ai_assistant_live_test.exs
index 589c77cc72e..909dbd41bf1 100644
--- a/test/lightning_web/live/ai_assistant_live_test.exs
+++ b/test/lightning_web/live/ai_assistant_live_test.exs
@@ -310,10 +310,10 @@ defmodule LightningWeb.AiAssistantLiveTest do
)
assert has_element?(input_element)
- refute render(input_element) =~ "disabled=\"disabled\""
+ refute render(input_element) =~ "disabled=\"\""
assert has_element?(submit_btn)
# Submit button should be disabled when no content is entered
- assert render(submit_btn) =~ "disabled=\"disabled\""
+ assert render(submit_btn) =~ "disabled=\"\""
html =
view
@@ -367,9 +367,9 @@ defmodule LightningWeb.AiAssistantLiveTest do
)
assert has_element?(input_element)
- assert render(input_element) =~ "disabled=\"disabled\""
+ assert render(input_element) =~ "disabled=\"\""
assert has_element?(submit_btn)
- assert render(submit_btn) =~ "disabled=\"disabled\""
+ assert render(submit_btn) =~ "disabled=\"\""
html =
view
@@ -431,9 +431,9 @@ defmodule LightningWeb.AiAssistantLiveTest do
)
assert has_element?(input_element)
- assert render(input_element) =~ "disabled=\"disabled\""
+ assert render(input_element) =~ "disabled=\"\""
assert has_element?(submit_btn)
- assert render(submit_btn) =~ "disabled=\"disabled\""
+ assert render(submit_btn) =~ "disabled=\"\""
assert render(input_element) =~
~s(placeholder="Save your workflow first to use the AI Assistant")
@@ -2077,7 +2077,7 @@ defmodule LightningWeb.AiAssistantLiveTest do
create_btn_after = element(view, "#create_workflow_btn")
create_btn_html_after = render(create_btn_after)
- refute create_btn_html_after =~ "disabled=\"disabled\"",
+ refute create_btn_html_after =~ "disabled=\"\"",
"Create button should be enabled after template selection"
end
@@ -2353,9 +2353,9 @@ defmodule LightningWeb.AiAssistantLiveTest do
"#ai-assistant-form-submit-btn-chat-input-new-workflow-panel-assistant"
)
- refute render(input_element) =~ "disabled=\"disabled\""
+ refute render(input_element) =~ "disabled=\"\""
# Submit button should be disabled when no content is entered
- assert render(submit_btn) =~ "disabled=\"disabled\""
+ assert render(submit_btn) =~ "disabled=\"\""
refute render(input_element) =~ "Save your workflow first"
end
diff --git a/test/lightning_web/live/credential_live_test.exs b/test/lightning_web/live/credential_live_test.exs
index 3ba57540ff1..f934b723058 100644
--- a/test/lightning_web/live/credential_live_test.exs
+++ b/test/lightning_web/live/credential_live_test.exs
@@ -2865,7 +2865,7 @@ defmodule LightningWeb.CredentialLiveTest do
refute view
|> has_element?(
- "span[phx-hook='Tooltip', aria-label='OAuth client not found']"
+ "span[phx-hook='Tooltip'][aria-label='OAuth client not found']"
)
# Now lets delete the oauth client
diff --git a/test/lightning_web/live/project_live_test.exs b/test/lightning_web/live/project_live_test.exs
index 11b5718e2f3..6a23e92dd82 100644
--- a/test/lightning_web/live/project_live_test.exs
+++ b/test/lightning_web/live/project_live_test.exs
@@ -1835,14 +1835,10 @@ defmodule LightningWeb.ProjectLiveTest do
assert html =~ "Project settings"
assert view
- |> has_element?(
- "input[disabled='disabled'][name='project[raw_name]']"
- )
+ |> has_element?("input[disabled][name='project[raw_name]']")
assert view
- |> has_element?(
- "textarea[disabled='disabled'][name='project[description]']"
- )
+ |> has_element?("textarea[disabled][name='project[description]']")
assert view |> has_element?("button[disabled][type=submit]")
@@ -1869,14 +1865,10 @@ defmodule LightningWeb.ProjectLiveTest do
assert html =~ "Project settings"
assert view
- |> has_element?(
- "input[disabled='disabled'][name='project[raw_name]']"
- )
+ |> has_element?("input[disabled][name='project[raw_name]']")
assert view
- |> has_element?(
- "textarea[disabled='disabled'][name='project[description]']"
- )
+ |> has_element?("textarea[disabled][name='project[description]']")
assert view |> has_element?("button[disabled][type=submit]")
@@ -2755,7 +2747,7 @@ defmodule LightningWeb.ProjectLiveTest do
assert html =~ "Should OpenFn store input/output data for workflow runs?"
# retain_all is the default
- assert ["checked"] ==
+ assert [""] ==
view
|> element("#retain_all")
|> render()
@@ -2770,7 +2762,7 @@ defmodule LightningWeb.ProjectLiveTest do
# |> Floki.parse_fragment!()
# |> Floki.attribute("input", "checked")
- refute ["checked"] ==
+ assert [] ==
view
|> element("#erase_all")
|> render()
@@ -2783,7 +2775,7 @@ defmodule LightningWeb.ProjectLiveTest do
# 3 radio buttons descriptions
assert "Retain input/output data for all workflow runs" =
view
- |> element(~s{label#[for="retain_all"]})
+ |> element(~s{label[for="retain_all"]})
|> render()
|> Floki.parse_fragment!()
|> Floki.text()
@@ -2800,7 +2792,7 @@ defmodule LightningWeb.ProjectLiveTest do
assert "Never retain input/output data (zero-persistence)" =
view
- |> element(~s{label#[for="erase_all"]})
+ |> element(~s{label[for="erase_all"]})
|> render()
|> Floki.parse_fragment!()
|> Floki.text()
@@ -2841,7 +2833,7 @@ defmodule LightningWeb.ProjectLiveTest do
)
|> render_change()
- assert ["checked"] ==
+ assert [""] ==
view
|> element("#erase_all")
|> render()
@@ -2873,7 +2865,7 @@ defmodule LightningWeb.ProjectLiveTest do
)
|> render_change()
- assert ["checked"] ==
+ assert [""] ==
view
|> element("#erase_all")
|> render()
@@ -2886,7 +2878,7 @@ defmodule LightningWeb.ProjectLiveTest do
|> render_click()
# Verify it resets back to retain_all (the default)
- assert ["checked"] ==
+ assert [""] ==
view
|> element("#retain_all")
|> render()
@@ -2972,7 +2964,7 @@ defmodule LightningWeb.ProjectLiveTest do
)
|> render_change()
- assert ["checked"] ==
+ assert [""] ==
view
|> element("#" <> policy)
|> render()
@@ -2998,7 +2990,7 @@ defmodule LightningWeb.ProjectLiveTest do
{:ok, view, _html} =
live(conn, ~p"/projects/#{project.id}/settings#data-storage")
- assert ["checked"] ==
+ assert [""] ==
view
|> element("#" <> policy)
|> render()
@@ -5217,7 +5209,7 @@ defmodule LightningWeb.ProjectLiveTest do
"Connect Branch & Initiate First Sync"
)
- assert render(submit_btn) =~ "disabled=\"disabled\""
+ assert render(submit_btn) =~ "disabled=\"\""
end
@tag :capture_log
@@ -6229,7 +6221,7 @@ defmodule LightningWeb.ProjectLiveTest do
button = element(view, "#initiate-sync-button")
assert has_element?(button)
- assert render(button) =~ "disabled=\"disabled\""
+ assert render(button) =~ "disabled=\"\""
end
end
diff --git a/test/lightning_web/live/sandbox_live/form_component_test.exs b/test/lightning_web/live/sandbox_live/form_component_test.exs
index f3bbab06082..5e132d1bba5 100644
--- a/test/lightning_web/live/sandbox_live/form_component_test.exs
+++ b/test/lightning_web/live/sandbox_live/form_component_test.exs
@@ -121,7 +121,7 @@ defmodule LightningWeb.SandboxLive.FormComponentTest do
)
html = render(view)
- assert html =~ ~s(