Build log
host
flowy 0.1.6 · fail · run flowy-0.1.6-1791185200071
776 of 776 lines
1Resolving Hex dependencies...2Resolution completed in 0.733s3Unchanged:4 castore 1.0.215 circular_buffer 1.1.06 combine 0.10.07 cowboy 2.19.08 cowboy_telemetry 0.4.09 cowlib 2.20.0 VULNERABLE!10 EEF-CVE-2026-43966 (MEDIUM)11 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c12 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/213 https://osv.dev/vulnerability/EEF-CVE-2026-439661415 EEF-CVE-2026-43969 (LOW)16 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5617 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/118 https://osv.dev/vulnerability/EEF-CVE-2026-4396919 db_connection 2.10.220 decimal 3.1.121 earmark 1.4.49 RETIRED! VULNERABLE!22 (deprecated) Earmark is no longer maintained. Migrate to a replacement, for example MDEx (https://hex.pm/packages/mdex).2324 EEF-CVE-2026-48591 (MEDIUM)25 aka: CVE-2026-48591, GHSA-52mm-h59v-f3c726 Stored XSS via unescaped HTML attribute values in earmark27 https://osv.dev/vulnerability/EEF-CVE-2026-4859128 ecto 3.14.229 ecto_sql 3.14.030 elixir_make 0.10.031 esbuild 0.10.032 expo 1.1.133 finch 0.24.034 flowy 0.1.635 gettext 0.26.236 heroicons 0.5.637 hpax 1.1.038 inflex 2.1.039 interactive_cmd 0.1.440 jason 1.4.541 joken 2.7.042 jose 1.11.1243 makeup 1.2.344 makeup_elixir 0.16.245 mime 2.0.746 mint 1.11.047 nerves 2.0.0-pre.248 nerves_discovery 0.1.549 nerves_logging 0.2.450 nerves_runtime 0.13.1351 nerves_system_bbb 2.30.252 nerves_system_br 1.34.453 nerves_system_mangopi_mq_pro 0.17.254 nerves_system_qemu_aarch64 0.4.255 nerves_system_rpi0 2.1.256 nerves_system_rpi4 2.1.257 nerves_system_rpi5 2.1.258 nerves_system_trellis 0.5.059 nerves_system_x86_64 1.34.260 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.161 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.162 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.163 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.164 nerves_toolchain_x86_64_nerves_linux_musl 15.3.165 nerves_uevent 0.1.766 nimble_options 1.1.167 nimble_parsec 1.4.268 nimble_pool 1.1.069 oauth2 2.1.170 octo_fetch 0.5.071 paleta 0.1.072 phoenix 1.7.2473 phoenix_html 3.3.474 phoenix_live_view 0.20.17 VULNERABLE!75 EEF-CVE-2026-64941 (LOW)76 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf77 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR78 https://osv.dev/vulnerability/EEF-CVE-2026-6494179 phoenix_pubsub 2.3.080 phoenix_template 1.1.081 plug 1.20.382 plug_cowboy 2.9.083 plug_crypto 2.2.084 postgrex 0.22.485 prom_ex 1.9.086 property_table 0.3.487 ranch 2.3.088 recase 0.9.189 ring_logger 0.11.790 ssl_verify_fun 1.1.791 tablet 0.3.392 tailwind 0.5.193 telemetry 1.4.294 telemetry_metrics 0.6.295 telemetry_metrics_prometheus_core 1.2.196 telemetry_poller 1.3.097 tesla 1.21.398 timex 3.7.1399 toolshed 0.5.0100 tzdata 1.2.2101 uboot_env 1.0.2102 ueberauth 0.10.5103 ueberauth_okta 0.3.1104 websock 0.5.3105 websock_adapter 0.5.9106Found retired packages, see above for details107Found packages with security advisories, see above for details108All dependencies have been fetched109==> octo_fetch110Compiling 3 files (.ex)111Generated octo_fetch app112==> telemetry_metrics_prometheus_core113Compiling 9 files (.ex)114 warning: unused require Logger115 │116 148 │ require Logger117 │ ~118 │119 └─ lib/core.ex:148:3120121warning: first..last inside match is deprecated, you must always match on the step: first..last//var or first..last//_ if you want to ignore it122 lib/core/registry.ex:87: TelemetryMetricsPrometheus.Core.Registry.validate_distribution_buckets!/1123124Generated telemetry_metrics_prometheus_core app125==> ueberauth126Compiling 9 files (.ex)127Generated ueberauth app128==> joken129Compiling 8 files (.ex)130Generated joken app131==> oauth2132Compiling 13 files (.ex)133Generated oauth2 app134==> ueberauth_okta135Compiling 3 files (.ex)136 warning: unused require Jason137 │138 16 │ require Jason139 │ ~140 │141 └─ lib/ueberauth/strategy/okta/oauth.ex:16:3142143Generated ueberauth_okta app144warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"145 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2146 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1147 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5148 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2149 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4150 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2151152==> phoenix153Compiling 71 files (.ex)154 warning: unused require Logger155 │156 9 │ require Logger157 │ ~158 │159 └─ lib/phoenix/config.ex:9:3160161 warning: unused require Logger162 │163 281 │ require Logger164 │ ~165 │166 └─ lib/phoenix/endpoint.ex:281:3167168 warning: unused require Phoenix.Endpoint169 │170 6 │ require Phoenix.Endpoint171 │ ~172 │173 └─ lib/phoenix/controller.ex:6:3174175 warning: the variable "prefix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator176 │177 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix178 │ ~179 │180 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2181182 warning: unused require Phoenix.Endpoint183 │184 17 │ require Phoenix.Endpoint185 │ ~186 │187 └─ lib/phoenix/endpoint/render_errors.ex:17:3188189 warning: unused require Logger190 │191 70 │ require Logger192 │ ~193 │194 └─ lib/phoenix/socket/pool_supervisor.ex:70:3195196 warning: unused require Phoenix.Endpoint197 │198 202 │ require Phoenix.Endpoint199 │ ~200 │201 └─ lib/phoenix/socket.ex:202:3202203 warning: unused require Phoenix.Endpoint204 │205 6 │ require Phoenix.Endpoint206 │ ~207 │208 └─ lib/phoenix/channel/server.ex:6:3209210 warning: unused require Logger211 │212 100 │ require Logger213 │ ~214 │215 └─ lib/phoenix/token.ex:100:3216217 warning: comparison between distinct types found:218219 merge_all != []220221 given types:222223 dynamic(non_empty_list({atom(), term()})) != empty_list()224225 where "merge_all" was given the type:226227 # type: dynamic(non_empty_list({atom(), term()}))228 # from: lib/phoenix/router/route.ex:121:15229 merge_all = merge_params ++ merge_private ++ merge_assigns230231 While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false232233 type warning found at:234 │235 123 │ if merge_all != [] do236 │ ~237 │238 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/1239240 warning: a struct for Plug.Conn is expected on struct update:241242 %Plug.Conn{conn | state: :sent}243244 but got type:245246 dynamic()247248 where "conn" was given the type:249250 # type: dynamic()251 # from: lib/phoenix/endpoint/render_errors.ex:55:17252 conn253254 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"255256 type warning found at:257 │258 60 │ %Plug.Conn{conn | state: :sent}259 │ ~260 │261 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/5262263 warning: a struct for Plug.Conn is expected on struct update:264265 %Plug.Conn{conn | query_params: %{}, params: %{}}266267 but got type:268269 dynamic(%{..., params: %Plug.Conn.Unfetched{}})270271 where "conn" was given the types:272273 # type: dynamic(%{..., params: term()})274 # from: lib/phoenix/endpoint/render_errors.ex:133:17275 conn.params276277 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})278 # from: lib/phoenix/endpoint/render_errors.ex:133:17279 conn.params280281 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"282283 type warning found at:284 │285 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}286 │ ~287 │288 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1289290 warning: a struct for Plug.Conn is expected on struct update:291292 %Plug.Conn{conn | query_params: %{}, params: params}293294 but got type:295296 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})297298 where "conn" was given the types:299300 # type: dynamic(%{..., params: term()})301 # from: lib/phoenix/endpoint/render_errors.ex:133:17302 conn.params303304 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})305 # from: lib/phoenix/endpoint/render_errors.ex:133:17306 conn.params307308 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"309310 type warning found at:311 │312 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}313 │ ~314 │315 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1316317 warning: a struct for Plug.Conn is expected on struct update:318319 %Plug.Conn{conn | params: params}320321 but got type:322323 dynamic(%{..., params: map()})324325 where "conn" was given the type:326327 # type: dynamic(%{..., params: map()})328 # from: lib/phoenix/controller.ex:1327:17329 Map.get(conn.params, required_key)330331 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"332333 type warning found at:334 │335 1334 │ %Plug.Conn{conn | params: params}336 │ ~337 │338 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/2339340Generated phoenix app341warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"342 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2343 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1344 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5345 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2346 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4347 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2348349==> phoenix_live_view350Compiling 39 files (.ex)351 warning: unused require Logger352 │353 48 │ require Logger354 │ ~355 │356 └─ lib/phoenix_live_view/socket.ex:48:3357358 warning: unused require Phoenix.ChannelTest359 │360 183 │ require Phoenix.ChannelTest361 │ ~362 │363 └─ lib/phoenix_live_view/test/live_view_test.ex:183:3364365 warning: unused require Phoenix.ConnTest366 │367 182 │ require Phoenix.ConnTest368 │ ~369 │370 └─ lib/phoenix_live_view/test/live_view_test.ex:182:3371372 warning: unused require Phoenix.ChannelTest373 │374 5 │ require Phoenix.ChannelTest375 │ ~376 │377 └─ lib/phoenix_live_view/test/upload_client.ex:5:3378379 warning: unused require Logger380 │381 6 │ require Logger382 │ ~383 │384 └─ lib/phoenix_live_view/upload_channel.ex:6:3385386 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:387388 %Phoenix.LiveView.Socket{389 socket390 | assigns: Map.merge(temp_assigns, socket.assigns),391 private:392 Map.update(393 socket.private,394 :temporary_assigns,395 temp_assigns,396 &Map.merge(&1, temp_assigns)397 )398 }399400 but got type:401402 dynamic()403404 where "socket" was given the type:405406 # type: dynamic()407 # from: lib/phoenix_live_view/utils.ex:415:28408 socket409410 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"411412 type warning found at:413 │414 422 │ %Socket{415 │ ~416 │417 └─ lib/phoenix_live_view/utils.ex:422:5: Phoenix.LiveView.Utils.handle_mount_option/3418419 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:420421 %Phoenix.LiveView.UploadEntry{422 entry423 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)424 }425426 but got type:427428 dynamic()429430 where "entry" was given the type:431432 # type: dynamic()433 # from: lib/phoenix_live_view/upload_config.ex:362:17434 entry <- conf.entries435436 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"437438 type warning found at:439 │440 363 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}441 │ ~442 │443 └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/2444445 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:446447 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}448449 but got type:450451 dynamic()452453 where "entry" was given the type:454455 # type: dynamic()456 # from: lib/phoenix_live_view/upload_config.ex:572:30457 entry458459 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"460461 type warning found at:462 │463 573 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}464 │ ~465 │466 └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/2467468 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:469470 %Phoenix.LiveView.UploadEntry{entry | valid?: false}471472 but got type:473474 dynamic()475476 where "entry" was given the type:477478 # type: dynamic()479 # from: lib/phoenix_live_view/upload_config.ex:585:32480 entry481482 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"483484 type warning found at:485 │486 586 │ entry = %UploadEntry{entry | valid?: false}487 │ ~488 │489 └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/3490491 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:492493 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}494495 but got type:496497 dynamic()498499 where "entry" was given the type:500501 # type: dynamic()502 # from: lib/phoenix_live_view/upload_config.ex:669:42503 entry504505 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"506507 type warning found at:508 │509 669 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)510 │ ~511 │512 └─ lib/phoenix_live_view/upload_config.ex:669:51: Phoenix.LiveView.UploadConfig.cancel_entry/2513514 warning: the following clause is redundant:515516 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)517518 it has type:519520 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))521522 previous clauses have already matched on the following types:523524 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())525 %Phoenix.LiveView.Socket{}, term(), (none() -> term())526 term(), term(), (none(), none() -> term())527 term(), term(), (none() -> term())528529 │530 1378 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do531 │ ~532 │533 └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/3534535 warning: the following clause will never match:536537 {:error, reason} ->538539 because it attempts to match on the result of:540541 IO.binwrite(state.file, data)542543 which has type:544545 dynamic(not {:error, term()})546547 type warning found at:548 │549 23 │ {:error, reason} -> {:error, reason, state}550 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~551 │552 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/2553554 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead555 │556 73 │ Logger.disable(self())557 │ ~558 │559 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/1560561 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:562563 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}564565 but got type:566567 dynamic(%{..., rendered: map()})568569 where "view" was given the type:570571 # type: dynamic(%{..., rendered: map()})572 # from: lib/phoenix_live_view/test/client_proxy.ex:727:26573 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)574575 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"576577 type warning found at:578 │579 728 │ new_view = %ClientProxy{view | rendered: rendered}580 │ ~581 │582 └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/3583584 warning: the right-hand side of || (shown as ... below) will never be executed:585586 conn.private[:live_view_connect_info] || prune_conn(conn) || ...587588 because the left-hand side always evaluates to:589590 dynamic(not false and not nil)591592 where "conn" was given the types:593594 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})595 # from: lib/phoenix_live_view/test/live_view_test.ex:319:72596 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn597598 # type: dynamic(%Plug.Conn{599 assigns: %{..., live_module: term()},600 private:601 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or602 non_struct_map(),603 status: integer()604 })605 # from: lib/phoenix_live_view/test/live_view_test.ex:333:35606 conn.private[:live_view_connect_params]607608 type warning found at:609 │610 334 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},611 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~612 │613 └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/2614615 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:616617 %Phoenix.LiveView.Socket{618 socket619 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}620 }621622 but got type:623624 dynamic(%{..., assigns: term()})625626 where "socket" was given the type:627628 # type: dynamic(%{..., assigns: term()})629 # from: lib/phoenix_live_view/renderer.ex:121:43630 %{assigns: assigns} = socket631632 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"633634 type warning found at:635 │636 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}637 │ ~638 │639 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/1640641 warning: the following pattern will never match:642643 template = Phoenix.LiveView.Utils.normalize_layout(template)644645 because the right-hand side has type:646647 none()648649 where "template" was given the types:650651 # type: binary()652 # from: lib/phoenix_live_view/router.ex:299:66653 is_binary(template)654655 # type: binary()656 # from: lib/phoenix_live_view/router.ex657 {:root_layout, {mod, template}}658659 type warning found at:660 │661 300 │ template = Phoenix.LiveView.Utils.normalize_layout(template)662 │ ~663 │664 └─ lib/phoenix_live_view/router.ex:300:18: Phoenix.LiveView.Router.validate_live_session_opts/3665666 warning: the following pattern will never match:667668 template = Phoenix.LiveView.Utils.normalize_layout(template)669670 because the right-hand side has type:671672 none()673674 where "template" was given the types:675676 # type: binary()677 # from: lib/phoenix_live_view/router.ex:316:61678 is_binary(template)679680 # type: binary()681 # from: lib/phoenix_live_view/router.ex682 {:layout, {mod, template}}683684 type warning found at:685 │686 317 │ template = Phoenix.LiveView.Utils.normalize_layout(template)687 │ ~688 │689 └─ lib/phoenix_live_view/router.ex:317:18: Phoenix.LiveView.Router.validate_live_session_opts/3690691 warning: the following clause is redundant:692693 def to_iodata(%_{} = struct)694695 it has type:696697 dynamic(%Phoenix.LiveView.Rendered{})698699 previous clauses have already matched on the following types:700701 %Phoenix.LiveView.Rendered{}702703 │704 152 │ def to_iodata(%_{} = struct) do705 │ ~706 │707 └─ lib/phoenix_live_view/engine.ex:152:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1708709 warning: the 1st pattern in clause will never match:710711 nil712713 because it is expected to receive type:714715 dynamic(%Phoenix.LiveView.Rendered{})716717 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}718719 type warning found at:720 │721 156 │ def to_iodata(nil) do722 │ ~~~~~~~~~~~~~~~~~~~~~723 │724 └─ lib/phoenix_live_view/engine.ex:156: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1725726 warning: the following clause is redundant:727728 def to_iodata(other)729730 it has type:731732 dynamic(%Phoenix.LiveView.Rendered{})733734 previous clauses have already matched on the following types:735736 %Phoenix.LiveView.Rendered{}737738 │739 160 │ def to_iodata(other) do740 │ ~741 │742 └─ lib/phoenix_live_view/engine.ex:160:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1743744 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)745 │746 903 │ defp class_names(nil), do: []747 │ ~748 │749 └─ lib/phoenix_live_view/js.ex:903:8: Phoenix.LiveView.JS.class_names/1750751Generated phoenix_live_view app752warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"753 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2754 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1755 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5756 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2757 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4758 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2759760==> heroicons761Compiling 3 files (.ex)762Generated heroicons app763==> paleta764Compiling 67 files (.ex)765 error: undefined function live_component/2 (expected Paleta.Components.AppHeader to define such a function or for it to be imported, but none are available)766 │767 56 │ <%= live_component(Paleta.Components.Live.GlobalSearch,768 │ ^^^^^^^^^^^^^^769 │770 └─ lib/components/app_header.ex:56:17: Paleta.Components.AppHeader."app_header (overridable 1)"/1771772773== Compilation error in file lib/components/app_header.ex ==774** (CompileError) lib/components/app_header.ex: cannot compile module Paleta.Components.AppHeader (errors have been logged)775776could not compile dependency :paleta, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile paleta --force", update it with "mix deps.update paleta" or clean it with "mix deps.clean paleta"