borpht
AEAsh Elixir
•Created by borpht on 2/18/2023 in #support
AshAdmin Liveview is crashing
Hi! I'm seeing a lot of errors like this in my Phoenix logs when I'm viewing the AshAdmin page for the read action of my resource:
I'm also seeing two warnings repeated:
I'm not sure if these things are related? I'm using
[error] GenServer #PID<0.793.0> terminating
** (FunctionClauseError) no function clause matching in Kernel.get_in/2
(elixir 1.14.2) lib/kernel.ex:2670: Kernel.get_in(%{"_form_type" => "create", "description" => "", "name" => ""}, [])
(ash_admin 0.7.1) lib/ash_admin/components/resource/form.ex:1174: AshAdmin.Components.Resource.Form.handle_event/3
(phoenix_live_view 0.18.14) lib/phoenix_live_view/channel.ex:621: anonymous fn/4 in Phoenix.LiveView.Channel.inner_component_handle_event/4
(telemetry 1.2.1) /home/axe/personal/garage/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:207: Phoenix.LiveView.Diff.write_component/4
(phoenix_live_view 0.18.14) lib/phoenix_live_view/channel.ex:544: Phoenix.LiveView.Channel.component_handle_event/6
(stdlib 4.2) gen_server.erl:1123: :gen_server.try_dispatch/4
(stdlib 4.2) gen_server.erl:1200: :gen_server.handle_msg/6
(stdlib 4.2) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
[error] GenServer #PID<0.793.0> terminating
** (FunctionClauseError) no function clause matching in Kernel.get_in/2
(elixir 1.14.2) lib/kernel.ex:2670: Kernel.get_in(%{"_form_type" => "create", "description" => "", "name" => ""}, [])
(ash_admin 0.7.1) lib/ash_admin/components/resource/form.ex:1174: AshAdmin.Components.Resource.Form.handle_event/3
(phoenix_live_view 0.18.14) lib/phoenix_live_view/channel.ex:621: anonymous fn/4 in Phoenix.LiveView.Channel.inner_component_handle_event/4
(telemetry 1.2.1) /home/axe/personal/garage/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:207: Phoenix.LiveView.Diff.write_component/4
(phoenix_live_view 0.18.14) lib/phoenix_live_view/channel.ex:544: Phoenix.LiveView.Channel.component_handle_event/6
(stdlib 4.2) gen_server.erl:1123: :gen_server.try_dispatch/4
(stdlib 4.2) gen_server.erl:1200: :gen_server.handle_msg/6
(stdlib 4.2) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
warning: Unknown property "polymorphic_actions" for component <Form>
deps/ash_admin/lib/ash_admin/components/resource/resource.ex:106: AshAdmin.Components.Resource (module)
warning: Passing an atom to "for" in the form component is deprecated.
Instead of:
<.form :let={f} for={:action} ...>
You might do:
<.form :let={f} for={%{}} as={:action ...>
Or, if you prefer, use to_form to create a form in your LiveView:
assign(socket, form: to_form(%{}, as: :action))
and then use it in your templates (no :let required):
<.form for={@form}>
(phoenix_live_view 0.18.14) lib/phoenix_component.ex:1454: Phoenix.Component.to_form/2
(phoenix_live_view 0.18.14) lib/phoenix_component.ex:2155: Phoenix.Component."form (overridable 1)"/1
(phoenix_live_view 0.18.14) lib/phoenix_live_view/html_engine.ex:35: Phoenix.LiveView.HTMLEngine.component/3
(surface 0.9.4) lib/surface/components/form.ex:101: anonymous fn/2 in Surface.Components.Form."render (overridable 1)"/1
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:501: Phoenix.LiveView.Diff.invoke_dynamic/2
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:388: Phoenix.LiveView.Diff.traverse/7
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:528: anonymous fn/4 in Phoenix.LiveView.Diff.traverse_dynamic/7
(elixir 1.14.2) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:388: Phoenix.LiveView.Diff.traverse/7
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:528: anonymous fn/4 in Phoenix.LiveView.Diff.traverse_dynamic/7
(elixir 1.14.2) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:388: Phoenix.LiveView.Diff.traverse/7
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:701: Phoenix.LiveView.Diff.render_component/9
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:646: anonymous fn/5 in Phoenix.LiveView.Diff.render_pending_components/6
(elixir 1.14.2) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
(stdlib 4.2) maps.erl:411: :maps.fold_1/3
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:619: Phoenix.LiveView.Diff.render_pending_components/6
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:146: Phoenix.LiveView.Diff.render/3
warning: Unknown property "polymorphic_actions" for component <Form>
deps/ash_admin/lib/ash_admin/components/resource/resource.ex:106: AshAdmin.Components.Resource (module)
warning: Passing an atom to "for" in the form component is deprecated.
Instead of:
<.form :let={f} for={:action} ...>
You might do:
<.form :let={f} for={%{}} as={:action ...>
Or, if you prefer, use to_form to create a form in your LiveView:
assign(socket, form: to_form(%{}, as: :action))
and then use it in your templates (no :let required):
<.form for={@form}>
(phoenix_live_view 0.18.14) lib/phoenix_component.ex:1454: Phoenix.Component.to_form/2
(phoenix_live_view 0.18.14) lib/phoenix_component.ex:2155: Phoenix.Component."form (overridable 1)"/1
(phoenix_live_view 0.18.14) lib/phoenix_live_view/html_engine.ex:35: Phoenix.LiveView.HTMLEngine.component/3
(surface 0.9.4) lib/surface/components/form.ex:101: anonymous fn/2 in Surface.Components.Form."render (overridable 1)"/1
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:501: Phoenix.LiveView.Diff.invoke_dynamic/2
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:388: Phoenix.LiveView.Diff.traverse/7
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:528: anonymous fn/4 in Phoenix.LiveView.Diff.traverse_dynamic/7
(elixir 1.14.2) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:388: Phoenix.LiveView.Diff.traverse/7
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:528: anonymous fn/4 in Phoenix.LiveView.Diff.traverse_dynamic/7
(elixir 1.14.2) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:388: Phoenix.LiveView.Diff.traverse/7
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:701: Phoenix.LiveView.Diff.render_component/9
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:646: anonymous fn/5 in Phoenix.LiveView.Diff.render_pending_components/6
(elixir 1.14.2) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
(stdlib 4.2) maps.erl:411: :maps.fold_1/3
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:619: Phoenix.LiveView.Diff.render_pending_components/6
(phoenix_live_view 0.18.14) lib/phoenix_live_view/diff.ex:146: Phoenix.LiveView.Diff.render/3
ash_phoenix 1.2.6
, ash_admin 0.7.1 (from github branch phoenix-1.7)
and phoenix 1.7.0-rc.3
13 replies