config_manager

Build log

host

config_manager 0.1.1 · fail · run config_manager-0.1.1-1791072597047
1443 of 1443 lines
1Resolving Hex dependencies...2Resolution completed in 0.365s3Unchanged:4  castore 1.0.215  circular_buffer 1.1.06  config_manager 0.1.17  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  ecto 3.14.222  ecto_sql 3.14.023  elixir_make 0.10.024  esbuild 0.10.025  expo 1.1.126  gettext 0.26.227  idna 7.1.028  interactive_cmd 0.1.429  jason 1.4.530  mime 2.0.731  nerves 2.0.0-pre.232  nerves_discovery 0.1.533  nerves_logging 0.2.434  nerves_runtime 0.13.1335  nerves_system_bbb 2.30.236  nerves_system_br 1.34.437  nerves_system_mangopi_mq_pro 0.17.238  nerves_system_qemu_aarch64 0.4.239  nerves_system_rpi0 2.1.240  nerves_system_rpi4 2.1.241  nerves_system_rpi5 2.1.242  nerves_system_trellis 0.5.043  nerves_system_x86_64 1.34.244  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.145  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.146  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.147  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.148  nerves_toolchain_x86_64_nerves_linux_musl 15.3.149  nerves_uevent 0.1.750  phoenix 1.6.1751  phoenix_ecto 4.7.052  phoenix_html 3.3.453  phoenix_live_dashboard 0.6.554  phoenix_live_view 0.17.14 VULNERABLE!55    EEF-CVE-2026-64941 (LOW)56    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf57    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR58    https://osv.dev/vulnerability/EEF-CVE-2026-6494159  phoenix_pubsub 2.3.060  phoenix_template 1.1.061  phoenix_view 2.0.462  plug 1.20.363  plug_cowboy 2.9.064  plug_crypto 1.2.565  postgrex 0.22.466  property_table 0.3.467  ranch 2.3.068  ring_logger 0.11.769  swoosh 1.28.170  tablet 0.3.371  telemetry 1.4.272  telemetry_metrics 0.6.273  telemetry_poller 1.3.074  toolshed 0.5.075  uboot_env 1.0.276Found packages with security advisories, see above for details77All dependencies have been fetched78==> esbuild79Compiling 4 files (.ex)80Generated esbuild app81==> phoenix_html82Compiling 9 files (.ex)83    warning: comparison between distinct types found:8485        id == nil8687    given types:8889        dynamic(not false and not nil and not binary()) == nil9091    where "id" was given the types:9293        # type: dynamic(not false and not nil)94        # from: lib/phoenix_html/form_data.ex:92:895        id = Keyword.get(opts, :id) || name9697        # type: dynamic(not false and not nil and not binary())98        # from: lib/phoenix_html/form_data.ex:94:1299        is_binary(id)100101    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 false102103    type warning found at:104    │105 94 │     unless is_binary(id) or is_nil(id) do106    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~107    │108    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2109110    warning: the 1st pattern in clause will never match:111112        60113114    because it is expected to receive type:115116        dynamic(empty_list() or non_empty_list(term(), term()))117118    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())119120    type warning found at:121    │122 56 │   def to_iodata(?<), do: "&lt;"123    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~124    │125    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1126127    warning: the 1st pattern in clause will never match:128129        62130131    because it is expected to receive type:132133        dynamic(empty_list() or non_empty_list(term(), term()))134135    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())136137    type warning found at:138    │139 57 │   def to_iodata(?>), do: "&gt;"140    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~141    │142    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1143144    warning: the 1st pattern in clause will never match:145146        38147148    because it is expected to receive type:149150        dynamic(empty_list() or non_empty_list(term(), term()))151152    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())153154    type warning found at:155    │156 58 │   def to_iodata(?&), do: "&amp;"157    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~158    │159    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1160161    warning: the 1st pattern in clause will never match:162163        34164165    because it is expected to receive type:166167        dynamic(empty_list() or non_empty_list(term(), term()))168169    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())170171    type warning found at:172    │173 59 │   def to_iodata(?"), do: "&quot;"174    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~175    │176    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1177178    warning: the 1st pattern in clause will never match:179180        39181182    because it is expected to receive type:183184        dynamic(empty_list() or non_empty_list(term(), term()))185186    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())187188    type warning found at:189    │190 60 │   def to_iodata(?'), do: "&#39;"191    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~192    │193    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1194195    warning: the 1st pattern in clause will never match:196197        {:safe, data}198199    because it is expected to receive type:200201        dynamic(empty_list() or non_empty_list(term(), term()))202203    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())204205    type warning found at:206    │207 76 │   def to_iodata({:safe, data}) do208    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~209    │210    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1211212    warning: the following clause is redundant:213214        def to_iodata(other)215216    it has type:217218        dynamic(empty_list() or non_empty_list(term(), term()))219220    previous clauses have already matched on the following types:221222        non_empty_list(term(), term())223        empty_list()224225    │226 80 │   def to_iodata(other) do227    │       ~228    │229    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1230231    warning: the 1st pattern in clause will never match:232233        h234235    because it is expected to receive type:236237        dynamic(empty_list() or non_empty_list(term(), term()))238239    where "h" was given the type:240241        # type: integer()242        # from: lib/phoenix_html/safe.ex:62:25243        is_integer(h)244245    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())246247    type warning found at:248    │249 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do250    │                 ~251    │252    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1253254    warning: the 1st pattern in clause will never match:255256        h257258    because it is expected to receive type:259260        dynamic(empty_list() or non_empty_list(term(), term()))261262    where "h" was given the type:263264        # type: integer()265        # from: lib/phoenix_html/safe.ex:66:25266        is_integer(h)267268    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())269270    type warning found at:271    │272 66 │   def to_iodata(h) when is_integer(h) do273    │                 ~274    │275    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1276277    warning: the 1st pattern in clause will never match:278279        h280281    because it is expected to receive type:282283        dynamic(empty_list() or non_empty_list(term(), term()))284285    where "h" was given the type:286287        # type: binary()288        # from: lib/phoenix_html/safe.ex:72:25289        is_binary(h)290291    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())292293    type warning found at:294    │295 72 │   def to_iodata(h) when is_binary(h) do296    │                 ~297    │298    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1299300Generated phoenix_html app301==> phoenix_template302Compiling 4 files (.ex)303Generated phoenix_template app304==> phoenix_view305Compiling 1 file (.ex)306     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 operator307     │308 655 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix309     │                             ~310     │311     └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2312313Generated phoenix_view app314warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"315  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2316  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1317  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5318  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2319  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4320  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2321322==> phoenix_ecto323Compiling 7 files (.ex)324Generated phoenix_ecto app325warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"326  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2327  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1328  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5329  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2330  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4331  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2332333==> phoenix334Compiling 69 files (.ex)335     warning: using single-quoted strings to represent charlists is deprecated.336     Use ~c"" if you indeed want a charlist or use "" instead.337     You may run "mix format --migrate" to change all single-quoted338     strings to use the ~c sigil and fix this warning.339     │340 258 │           notBefore: {:utcTime, '#{not_before}000000Z'},341     │                                 ~342     │343     └─ lib/mix/tasks/phx.gen.cert.ex:258:33344345     warning: using single-quoted strings to represent charlists is deprecated.346     Use ~c"" if you indeed want a charlist or use "" instead.347     You may run "mix format --migrate" to change all single-quoted348     strings to use the ~c sigil and fix this warning.349     │350 259 │           notAfter: {:utcTime, '#{not_after}000000Z'}351     │                                ~352     │353     └─ lib/mix/tasks/phx.gen.cert.ex:259:32354355    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead356    │357 50 │             Logger.warn(358    │                    ~359    │360    └─ lib/phoenix/code_reloader/server.ex:50:20: Phoenix.CodeReloader.Server.handle_call/3361362     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.363364     This error happens when you have function calls without parentheses inside keywords. For example:365366         function(arg, one: nested_call a, b, c)367         function(arg, one: if expr, do: :this, else: :that)368369     In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:370371         function(arg, one: if(expr, do: :this, else: :that))372         function(arg, one: nested_call(a, b, c))373374     Ambiguity found at:375     │376 998 │   defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"377     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~378     │379     └─ lib/phoenix/controller.ex:998380381    warning: unused require Logger382    │383  9 │   require Logger384    │   ~385    │386    └─ lib/phoenix/config.ex:9:3387388     warning: unused require Logger389     │390 259 │   require Logger391     │   ~392     │393     └─ lib/phoenix/endpoint.ex:259:3394395      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead396      │397 1009 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>398      │              ~399      │400      └─ lib/phoenix/controller.ex:1009:14: Phoenix.Controller.warn_if_ajax/1401402    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead403    │404 34 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")405    │                    ~406    │407    └─ lib/phoenix/endpoint/supervisor.ex:34:20: Phoenix.Endpoint.Supervisor.init/1408409    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead410    │411 57 │       Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")412    │              ~413    │414    └─ lib/phoenix/endpoint/supervisor.ex:57:14: Phoenix.Endpoint.Supervisor.init/1415416    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead417    │418 78 │       Logger.warn """419    │              ~420    │421    └─ lib/phoenix/endpoint/supervisor.ex:78:14: Phoenix.Endpoint.Supervisor.pubsub_children/2422423     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead424     │425 264 │       Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")426     │              ~427     │428     └─ lib/phoenix/endpoint/supervisor.ex:264:14: Phoenix.Endpoint.Supervisor.build_url/2429430    warning: unused require Phoenix.Endpoint431    │432  6 │   require Phoenix.Endpoint433    │   ~434    │435    └─ lib/phoenix/controller.ex:6:3436437    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 operator438    │439 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix440    │                             ~441    │442    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2443444    warning: unused require Phoenix.Endpoint445    │446 19 │   require Phoenix.Endpoint447    │   ~448    │449    └─ lib/phoenix/endpoint/render_errors.ex:19:3450451    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.452453    This error happens when you have function calls without parentheses inside keywords. For example:454455        function(arg, one: nested_call a, b, c)456        function(arg, one: if expr, do: :this, else: :that)457458    In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:459460        function(arg, one: if(expr, do: :this, else: :that))461        function(arg, one: nested_call(a, b, c))462463    Ambiguity found at:464    │465 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """466    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~467    │468    └─ lib/phoenix/router/resource.ex:71469470     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead471     │472 653 │         Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(socket.handler)}" end473     │                ~474     │475     └─ lib/phoenix/socket.ex:653:16: Phoenix.Socket.handle_in/4476477    warning: unused require Phoenix.Endpoint478    │479  6 │   require Phoenix.Endpoint480    │   ~481    │482    └─ lib/phoenix/channel/server.ex:6:3483484     warning: unused require Phoenix.Endpoint485     │486 192 │   require Phoenix.Endpoint487     │   ~488     │489     └─ lib/phoenix/socket.ex:192:3490491    warning: unused require Logger492    │493 93 │   require Logger494    │   ~495    │496    └─ lib/phoenix/token.ex:93:3497498     warning: comparison between distinct types found:499500         merge_all != []501502     given types:503504         dynamic(non_empty_list({atom(), term()})) != empty_list()505506     where "merge_all" was given the type:507508         # type: dynamic(non_empty_list({atom(), term()}))509         # from: lib/phoenix/router/route.ex:111:15510         merge_all = merge_params ++ merge_private ++ merge_assigns511512     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 false513514     type warning found at:515     │516 113 │     if merge_all != [] do517     │                  ~518     │519     └─ lib/phoenix/router/route.ex:113:18: Phoenix.Router.Route.build_prepare/1520521    warning: a struct for Plug.Conn is expected on struct update:522523        %Plug.Conn{conn | state: :sent}524525    but got type:526527        dynamic()528529    where "conn" was given the type:530531        # type: dynamic()532        # from: lib/phoenix/endpoint/render_errors.ex:57:17533        conn534535    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"536537    type warning found at:538    │539 61 │         %Plug.Conn{conn | state: :sent}540    │         ~541    │542    └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/5543544     warning: a struct for Plug.Conn is expected on struct update:545546         %Plug.Conn{conn | query_params: %{}, params: %{}}547548     but got type:549550         dynamic(%{..., params: %Plug.Conn.Unfetched{}})551552     where "conn" was given the types:553554         # type: dynamic(%{..., params: term()})555         # from: lib/phoenix/endpoint/render_errors.ex:124:17556         conn.params557558         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})559         # from: lib/phoenix/endpoint/render_errors.ex:124:17560         conn.params561562     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"563564     type warning found at:565     │566 125 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}567     │                                   ~568     │569     └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1570571     warning: a struct for Plug.Conn is expected on struct update:572573         %Plug.Conn{conn | query_params: %{}, params: params}574575     but got type:576577         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})578579     where "conn" was given the types:580581         # type: dynamic(%{..., params: term()})582         # from: lib/phoenix/endpoint/render_errors.ex:124:17583         conn.params584585         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})586         # from: lib/phoenix/endpoint/render_errors.ex:124:17587         conn.params588589     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"590591     type warning found at:592     │593 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}594     │                   ~595     │596     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1597598    warning: incompatible types given to socket_children/1:599600        socket_children(mod)601602    given types:603604        -dynamic(atom())-605606    but expected one of:607608        %{..., __sockets__: term()}609610    where "mod" was given the types:611612        # type: dynamic(atom() or binary())613        # from: lib/phoenix/endpoint/supervisor.ex:27:41614        defaults(otp_app, mod)615616        # type: dynamic(atom())617        # from: lib/phoenix/endpoint/supervisor.ex:31:16618        mod.init(:supervisor, env_conf)619620    type warning found at:621    │622 67 │       socket_children(mod) ++623    │       ~624    │625    └─ lib/phoenix/endpoint/supervisor.ex:67:7: Phoenix.Endpoint.Supervisor.init/1626627      warning: a struct for Plug.Conn is expected on struct update:628629          %Plug.Conn{conn | params: params}630631      but got type:632633          dynamic(%{..., params: map()})634635      where "conn" was given the type:636637          # type: dynamic(%{..., params: map()})638          # from: lib/phoenix/controller.ex:1036:17639          Map.get(conn.params, required_key)640641      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"642643      type warning found at:644      │645 1043 │     %Plug.Conn{conn | params: params}646      │     ~647      │648      └─ lib/phoenix/controller.ex:1043:5: Phoenix.Controller.scrub_params/2649650     warning: expected a module (an atom) when invoking compress_file/2 in expression:651652         compressor.compress_file(file.digested_filename, file.digested_content)653654     where "compressor" was given the type:655656         # type: dynamic(%{..., file_extensions: non_empty_list(term(), term())})657         # from: lib/phoenix/digester.ex:167:28658         [file_extension | _] = compressor.file_extensions659660     where "file" was given the type:661662         # type: dynamic(%{..., relative_path: term()})663         # from: lib/phoenix/digester.ex:161:17664         Path.join(output_path, file.relative_path)665666     type warning found at:667     │668 170 │              compressor.compress_file(file.digested_filename, file.digested_content) do669     │                         ~670     │671     └─ lib/phoenix/digester.ex:170:25: Phoenix.Digester.write_to_disk/2672673Generated phoenix app674warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"675  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2676  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1677  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5678  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2679  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4680  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2681682==> phoenix_live_view683Compiling 31 files (.ex)684     warning: using single-quoted strings to represent charlists is deprecated.685     Use ~c"" if you indeed want a charlist or use "" instead.686     You may run "mix format --migrate" to change all single-quoted687     strings to use the ~c sigil and fix this warning.688     │689 319 │         {'LiveView', view},690     │          ~691     │692     └─ lib/phoenix_live_view/channel.ex:319:10693694     warning: using single-quoted strings to represent charlists is deprecated.695     Use ~c"" if you indeed want a charlist or use "" instead.696     You may run "mix format --migrate" to change all single-quoted697     strings to use the ~c sigil and fix this warning.698     │699 320 │         {'Parent pid', parent_pid},700     │          ~701     │702     └─ lib/phoenix_live_view/channel.ex:320:10703704     warning: using single-quoted strings to represent charlists is deprecated.705     Use ~c"" if you indeed want a charlist or use "" instead.706     You may run "mix format --migrate" to change all single-quoted707     strings to use the ~c sigil and fix this warning.708     │709 321 │         {'Transport pid', transport_pid},710     │          ~711     │712     └─ lib/phoenix_live_view/channel.ex:321:10713714     warning: using single-quoted strings to represent charlists is deprecated.715     Use ~c"" if you indeed want a charlist or use "" instead.716     You may run "mix format --migrate" to change all single-quoted717     strings to use the ~c sigil and fix this warning.718     │719 322 │         {'Topic', topic},720     │          ~721     │722     └─ lib/phoenix_live_view/channel.ex:322:10723724     warning: using single-quoted strings to represent charlists is deprecated.725     Use ~c"" if you indeed want a charlist or use "" instead.726     You may run "mix format --migrate" to change all single-quoted727     strings to use the ~c sigil and fix this warning.728     │729 323 │         {'Components count', map_size(cid_to_component)}730     │          ~731     │732     └─ lib/phoenix_live_view/channel.ex:323:10733734     warning: using single-quoted strings to represent charlists is deprecated.735     Use ~c"" if you indeed want a charlist or use "" instead.736     You may run "mix format --migrate" to change all single-quoted737     strings to use the ~c sigil and fix this warning.738     │739 329 │     [data: [{'State', state}]]740     │              ~741     │742     └─ lib/phoenix_live_view/channel.ex:329:14743744     warning: using single-quoted strings to represent charlists is deprecated.745     Use ~c"" if you indeed want a charlist or use "" instead.746     You may run "mix format --migrate" to change all single-quoted747     strings to use the ~c sigil and fix this warning.748     │749 112 │   @codepoints '\s\n\r\t'750     │               ~751     │752     └─ lib/phoenix_live_view/html_algebra.ex:112:15753754     warning: using single-quoted strings to represent charlists is deprecated.755     Use ~c"" if you indeed want a charlist or use "" instead.756     You may run "mix format --migrate" to change all single-quoted757     strings to use the ~c sigil and fix this warning.758     │759 125 │     do: :binary.first(text) in '\n\r'760     │                                ~761     │762     └─ lib/phoenix_live_view/html_algebra.ex:125:32763764     warning: using single-quoted strings to represent charlists is deprecated.765     Use ~c"" if you indeed want a charlist or use "" instead.766     You may run "mix format --migrate" to change all single-quoted767     strings to use the ~c sigil and fix this warning.768     │769 130 │     do: :binary.last(text) in '\n\r'770     │                               ~771     │772     └─ lib/phoenix_live_view/html_algebra.ex:130:31773774     warning: using single-quoted strings to represent charlists is deprecated.775     Use ~c"" if you indeed want a charlist or use "" instead.776     You may run "mix format --migrate" to change all single-quoted777     strings to use the ~c sigil and fix this warning.778     │779 503 │   defp count_newlines_until_text(<<char, rest::binary>>, counter) when char in '\s\t\r',780     │                                                                                ~781     │782     └─ lib/phoenix_live_view/html_formatter.ex:503:80783784     warning: using single-quoted strings to represent charlists is deprecated.785     Use ~c"" if you indeed want a charlist or use "" instead.786     You may run "mix format --migrate" to change all single-quoted787     strings to use the ~c sigil and fix this warning.788     │789 536 │     do: if(String.trim_leading(text) == "", do: false, else: !(:binary.last(text) in '\s\t'))790     │                                                                                      ~791     │792     └─ lib/phoenix_live_view/html_formatter.ex:536:86793794     warning: using single-quoted strings to represent charlists is deprecated.795     Use ~c"" if you indeed want a charlist or use "" instead.796     You may run "mix format --migrate" to change all single-quoted797     strings to use the ~c sigil and fix this warning.798     │799 546 │       if String.trim_leading(text) != "" and :binary.first(text) not in '\s\t\n\r' do800     │                                                                         ~801     │802     └─ lib/phoenix_live_view/html_formatter.ex:546:73803804    warning: using single-quoted strings to represent charlists is deprecated.805    Use ~c"" if you indeed want a charlist or use "" instead.806    You may run "mix format --migrate" to change all single-quoted807    strings to use the ~c sigil and fix this warning.808    │809  3 │   @space_chars '\s\t\f'810    │                ~811    │812    └─ lib/phoenix_live_view/html_tokenizer.ex:3:16813814    warning: using single-quoted strings to represent charlists is deprecated.815    Use ~c"" if you indeed want a charlist or use "" instead.816    You may run "mix format --migrate" to change all single-quoted817    strings to use the ~c sigil and fix this warning.818    │819  4 │   @quote_chars '"\''820    │                ~821    │822    └─ lib/phoenix_live_view/html_tokenizer.ex:4:16823824    warning: using single-quoted strings to represent charlists is deprecated.825    Use ~c"" if you indeed want a charlist or use "" instead.826    You may run "mix format --migrate" to change all single-quoted827    strings to use the ~c sigil and fix this warning.828    │829  5 │   @stop_chars '>/=\r\n' ++ @quote_chars ++ @space_chars830    │               ~831    │832    └─ lib/phoenix_live_view/html_tokenizer.ex:5:15833834    warning: unused require Logger835    │836 25 │   require Logger837    │   ~838    │839    └─ lib/phoenix_live_view/socket.ex:25:3840841     warning: unused require Phoenix.ChannelTest842     │843 179 │   require Phoenix.ChannelTest844     │   ~845     │846     └─ lib/phoenix_live_view/test/live_view_test.ex:179:3847848     warning: unused require Phoenix.ConnTest849     │850 178 │   require Phoenix.ConnTest851     │   ~852     │853     └─ lib/phoenix_live_view/test/live_view_test.ex:178:3854855    warning: unused require Phoenix.ChannelTest856    │857  4 │   require Phoenix.ChannelTest858    │   ~859    │860    └─ lib/phoenix_live_view/test/upload_client.ex:4:3861862    warning: unused require Logger863    │864  6 │   require Logger865    │   ~866    │867    └─ lib/phoenix_live_view/upload_channel.ex:6:3868869     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:870871         %Phoenix.LiveView.Socket{872           socket873           | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})874         }875876     but got type:877878         dynamic()879880     where "socket" was given the type:881882         # type: dynamic()883         # from: lib/phoenix_live_view/utils.ex:459:21884         socket885886     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"887888     type warning found at:889     │890 460 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}891     │     ~892     │893     └─ lib/phoenix_live_view/utils.ex:460:5: Phoenix.LiveView.Utils.do_mount_opt/3894895     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:896897         %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}898899     but got type:900901         dynamic()902903     where "socket" was given the type:904905         # type: dynamic()906         # from: lib/phoenix_live_view/utils.ex:463:21907         socket908909     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"910911     type warning found at:912     │913 464 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}914     │     ~915     │916     └─ lib/phoenix_live_view/utils.ex:464:5: Phoenix.LiveView.Utils.do_mount_opt/3917918     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:919920         %Phoenix.LiveView.Socket{921           socket922           | assigns: Map.merge(temp_assigns, socket.assigns),923             private: Map.put(socket.private, :temporary_assigns, temp_assigns)924         }925926     but got type:927928         dynamic()929930     where "socket" was given the type:931932         # type: dynamic()933         # from: lib/phoenix_live_view/utils.ex:473:21934         socket935936     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"937938     type warning found at:939     │940 480 │     %Socket{941     │     ~942     │943     └─ lib/phoenix_live_view/utils.ex:480:5: Phoenix.LiveView.Utils.do_mount_opt/3944945     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:946947         %Phoenix.LiveView.Socket{948           socket949           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}950         }951952     but got type:953954         dynamic(%{..., assigns: term()})955956     where "socket" was given the type:957958         # type: dynamic(%{..., assigns: term()})959         # from: lib/phoenix_live_view/utils.ex:491:43960         %{assigns: assigns} = socket961962     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"963964     type warning found at:965     │966 492 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}967     │              ~968     │969     └─ lib/phoenix_live_view/utils.ex:492:14: Phoenix.LiveView.Utils.render_assigns/1970971     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:972973         %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}974975     but got type:976977         dynamic()978979     where "entry" was given the type:980981         # type: dynamic()982         # from: lib/phoenix_live_view/upload_config.ex:339:28983         entry <- conf.entries984985     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"986987     type warning found at:988     │989 339 │       | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})990     │                                                 ~991     │992     └─ lib/phoenix_live_view/upload_config.ex:339:49: Phoenix.LiveView.UploadConfig.mark_preflighted/1993994      warning: a struct for Phoenix.HTML.Form is expected on struct update:995996          %Phoenix.HTML.Form{Phoenix.HTML.FormData.to_form(form_for, form_options) | action: action || "#"}997998      but got type:9991000          dynamic()10011002      where "form_for" was given the type:10031004          # type: dynamic(not false and not nil)1005          # from: lib/phoenix_live_view/helpers.ex:1101:141006          form_for = assigns[:for] || :erlang.error(ArgumentError.exception("missing :for assign to form"))10071008      where "form_options" was given the type:10091010          # type: dynamic(list({term(), term()}))1011          # from: lib/phoenix_live_view/helpers.ex:1102:181012          form_options = assigns_to_attributes(assigns, [:action, :for])10131014      you must assign "Phoenix.HTML.FormData.to_form(form_for, form_options)" to variable and pattern match on "%Phoenix.HTML.Form{}"10151016      type warning found at:1017      │1018 1106 │       form = %Phoenix.HTML.Form{1019      │              ~1020      │1021      └─ lib/phoenix_live_view/helpers.ex:1106:14: Phoenix.LiveView.Helpers.form/110221023     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10241025         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}10261027     but got type:10281029         dynamic()10301031     where "entry" was given the type:10321033         # type: dynamic()1034         # from: lib/phoenix_live_view/upload_config.ex:539:301035         entry10361037     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"10381039     type warning found at:1040     │1041 540 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1042     │             ~1043     │1044     └─ lib/phoenix_live_view/upload_config.ex:540:13: Phoenix.LiveView.UploadConfig.put_valid_entry/210451046     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10471048         %Phoenix.LiveView.UploadEntry{entry | valid?: false}10491050     but got type:10511052         dynamic()10531054     where "entry" was given the type:10551056         # type: dynamic()1057         # from: lib/phoenix_live_view/upload_config.ex:552:321058         entry10591060     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"10611062     type warning found at:1063     │1064 553 │     entry = %UploadEntry{entry | valid?: false}1065     │             ~1066     │1067     └─ lib/phoenix_live_view/upload_config.ex:553:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/310681069     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10701071         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}10721073     but got type:10741075         dynamic()10761077     where "entry" was given the type:10781079         # type: dynamic()1080         # from: lib/phoenix_live_view/upload_config.ex:635:421081         entry10821083     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"10841085     type warning found at:1086     │1087 635 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1088     │                                                   ~1089     │1090     └─ lib/phoenix_live_view/upload_config.ex:635:51: Phoenix.LiveView.UploadConfig.cancel_entry/210911092    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1093    │1094 72 │     Logger.disable(self())1095    │            ~1096    │1097    └─ lib/phoenix_live_view/test/client_proxy.ex:72:12: Phoenix.LiveViewTest.ClientProxy.init/110981099     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:11001101         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}11021103     but got type:11041105         dynamic(%{..., rendered: map()})11061107     where "view" was given the type:11081109         # type: dynamic(%{..., rendered: map()})1110         # from: lib/phoenix_live_view/test/client_proxy.ex:701:241111         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)11121113     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"11141115     type warning found at:1116     │1117 702 │         new_view = %ClientProxy{view | rendered: rendered}1118     │                    ~1119     │1120     └─ lib/phoenix_live_view/test/client_proxy.ex:702:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/311211122     warning: the right-hand side of || (shown as ... below) will never be executed:11231124         conn.private[:live_view_connect_info] || prune_conn(conn) || ...11251126     because the left-hand side always evaluates to:11271128         dynamic(not false and not nil)11291130     where "conn" was given the types:11311132         # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1133         # from: lib/phoenix_live_view/test/live_view_test.ex:320:721134         %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn11351136         # type: dynamic(%Plug.Conn{1137           assigns: %{..., live_module: term()},1138           private:1139             %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1140               non_struct_map(),1141           status: integer()1142         })1143         # from: lib/phoenix_live_view/test/live_view_test.ex:334:351144         conn.private[:live_view_connect_params]11451146     type warning found at:1147     │1148 335 │       connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1149     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1150     │1151     └─ lib/phoenix_live_view/test/live_view_test.ex:335: Phoenix.LiveViewTest.connect_from_static_token/211521153      warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1154      │1155 1095 │       Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1156      │                       ~1157      │1158      └─ lib/phoenix_live_view/test/client_proxy.ex:1095:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31159      └─ lib/phoenix_live_view/test/client_proxy.ex:1100:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31160      └─ lib/phoenix_live_view/test/client_proxy.ex:1110:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31161      └─ lib/phoenix_live_view/test/client_proxy.ex:1119:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/311621163     warning: the following clause is redundant:11641165         def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)11661167     it has type:11681169         dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))11701171     previous clauses have already matched on the following types:11721173         %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1174         %Phoenix.LiveView.Socket{}, term(), (none() -> term())1175         term(), term(), (none(), none() -> term())1176         term(), term(), (none() -> term())11771178     │1179 952 │   def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1180     │       ~1181     │1182     └─ lib/phoenix_live_view.ex:952:7: Phoenix.LiveView.update/311831184     warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1185     │1186 603 │   defp class_names(nil), do: []1187     │        ~1188     │1189     └─ lib/phoenix_live_view/js.ex:603:8: Phoenix.LiveView.JS.class_names/111901191     warning: the following clause is redundant:11921193         def to_iodata(%_{} = struct)11941195     it has type:11961197         dynamic(%Phoenix.LiveView.Rendered{})11981199     previous clauses have already matched on the following types:12001201         %Phoenix.LiveView.Rendered{}12021203     │1204 127 │     def to_iodata(%_{} = struct) do1205     │         ~1206     │1207     └─ lib/phoenix_live_view/engine.ex:127:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/112081209     warning: the 1st pattern in clause will never match:12101211         nil12121213     because it is expected to receive type:12141215         dynamic(%Phoenix.LiveView.Rendered{})12161217     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}12181219     type warning found at:1220     │1221 131 │     def to_iodata(nil) do1222     │     ~~~~~~~~~~~~~~~~~~~~~1223     │1224     └─ lib/phoenix_live_view/engine.ex:131: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/112251226     warning: the following clause is redundant:12271228         def to_iodata(other)12291230     it has type:12311232         dynamic(%Phoenix.LiveView.Rendered{})12331234     previous clauses have already matched on the following types:12351236         %Phoenix.LiveView.Rendered{}12371238     │1239 135 │     def to_iodata(other) do1240     │         ~1241     │1242     └─ lib/phoenix_live_view/engine.ex:135:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/112431244Generated phoenix_live_view app1245warning: Phoenix now requires you to explicitly list which engine to use1246for Phoenix JSON encoding. We recommend everyone to upgrade to1247Jason by setting in your config/config.exs:12481249    config :phoenix, :json_library, Jason12501251And then adding {:jason, "~> 1.0"} as a dependency.12521253If instead you would rather continue using Poison, then add to1254your config/config.exs:12551256    config :phoenix, :json_library, Poison12571258  (phoenix 1.6.17) lib/phoenix.ex:56: Phoenix.start/21259  (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/412601261warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1262  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21263  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11264  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51265  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21266  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41267  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212681269==> phoenix_live_dashboard1270Compiling 40 files (.ex)1271     warning: using single-quoted strings to represent charlists is deprecated.1272     Use ~c"" if you indeed want a charlist or use "" instead.1273     You may run "mix format --migrate" to change all single-quoted1274     strings to use the ~c sigil and fix this warning.1275     │1276 709 │     '#Port' ++ rest = :erlang.port_to_list(ref)1277     │     ~1278     │1279     └─ lib/phoenix/live_dashboard/page_builder.ex:709:512801281     warning: using single-quoted strings to represent charlists is deprecated.1282     Use ~c"" if you indeed want a charlist or use "" instead.1283     You may run "mix format --migrate" to change all single-quoted1284     strings to use the ~c sigil and fix this warning.1285     │1286 728 │     '#Ref' ++ rest = :erlang.ref_to_list(ref)1287     │     ~1288     │1289     └─ lib/phoenix/live_dashboard/page_builder.ex:728:512901291     warning: using single-quoted strings to represent charlists is deprecated.1292     Use ~c"" if you indeed want a charlist or use "" instead.1293     You may run "mix format --migrate" to change all single-quoted1294     strings to use the ~c sigil and fix this warning.1295     │1296 446 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1297     │                ~1298     │1299     └─ lib/phoenix/live_dashboard/system_info.ex:446:1613001301     warning: using single-quoted strings to represent charlists is deprecated.1302     Use ~c"" if you indeed want a charlist or use "" instead.1303     You may run "mix format --migrate" to change all single-quoted1304     strings to use the ~c sigil and fix this warning.1305     │1306 446 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1307     │                            ~1308     │1309     └─ lib/phoenix/live_dashboard/system_info.ex:446:2813101311     warning: using single-quoted strings to represent charlists is deprecated.1312     Use ~c"" if you indeed want a charlist or use "" instead.1313     You may run "mix format --migrate" to change all single-quoted1314     strings to use the ~c sigil and fix this warning.1315     │1316 446 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1317     │                                        ~1318     │1319     └─ lib/phoenix/live_dashboard/system_info.ex:446:4013201321     warning: using single-quoted strings to represent charlists is deprecated.1322     Use ~c"" if you indeed want a charlist or use "" instead.1323     You may run "mix format --migrate" to change all single-quoted1324     strings to use the ~c sigil and fix this warning.1325     │1326 654 │         [{'none', 0, 0}] -> []1327     │           ~1328     │1329     └─ lib/phoenix/live_dashboard/system_info.ex:654:1113301331warning: 0..-2 has a default step of -1, please write 0..-2//-1 instead1332  lib/phoenix/live_dashboard/page_live.ex:178: Phoenix.LiveDashboard.PageLive.dashboard_mount_path/313331334warning: 0..-3 has a default step of -1, please write 0..-3//-1 instead1335  lib/phoenix/live_dashboard/page_live.ex:178: Phoenix.LiveDashboard.PageLive.dashboard_mount_path/313361337     warning: expected a module (an atom) when invoking __live__/0 in expression:13381339         Map.put(component_assigns, :page, page).__live__()13401341     but got type:13421343         dynamic(%{..., page: term()})13441345     where "component_assigns" was given the type:13461347         # type: dynamic(map())1348         # from: lib/phoenix/live_dashboard/components/nav_bar_component.ex:218:391349         Map.put(component_assigns, :page, page)13501351     where "page" was given the type:13521353         # type: dynamic()1354         # from: lib/phoenix/live_dashboard/components/nav_bar_component.ex:215:231355         page13561357     hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13581359     type warning found at:1360     │1361 218 │         live_component(component, Map.put(component_assigns, :page, page))1362     │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1363     │1364     └─ lib/phoenix/live_dashboard/components/nav_bar_component.ex:218: Phoenix.LiveDashboard.NavBarComponent.render_content/213651366     warning: expected a module (an atom) when invoking __live__/0 in expression:13671368         component_assigns.__live__()13691370     where "component_assigns" was given the type:13711372         # type: dynamic(%{..., page: term()})1373         # from: lib/phoenix/live_dashboard/page_live.ex:238:231374         component_assigns = Map.put(component_assigns, :page, assigns.page)13751376     hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13771378     type warning found at:1379     │1380 239 │     live_component(component, component_assigns)1381     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1382     │1383     └─ lib/phoenix/live_dashboard/page_live.ex:239: Phoenix.LiveDashboard.PageLive.render_page/213841385     warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1386     │1387 276 │     do: struct.to_string(value)1388     │                ~1389     │1390     └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:276:16: Phoenix.LiveDashboard.EctoStatsPage.format/213911392    warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1393    │1394  8 │     Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)1395    │            ~1396    │1397    └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/213981399Generated phoenix_live_dashboard app1400==> swoosh1401Compiling 62 files (.ex)1402Generated swoosh app1403warning: the :gettext compiler is no longer required in your mix.exs.14041405Please find the following line in your mix.exs and remove the :gettext entry:14061407    compilers: [..., :gettext, ...] ++ Mix.compilers(),14081409  (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11410  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51411  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21412  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41413  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21414  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/514151416==> config_manager1417Compiling 18 files (.ex)1418warning: defining a Gettext backend by calling14191420    use Gettext, otp_app: ...14211422is deprecated. To define a backend, call:14231424    use Gettext.Backend, otp_app: :my_app14251426Then, instead of importing your backend, call this in your module:14271428    use Gettext, backend: MyApp.Gettext14291430  lib/config_manager_web/gettext.ex:23: ConfigManagerWeb.Gettext (module)143114321433== Compilation error in file lib/config_manager_web/endpoint.ex ==1434** (ArgumentError) invalid :json_decoder option. The module Poison is not loaded and could not be found1435    (plug 1.20.3) lib/plug/parsers/json.ex:48: Plug.Parsers.JSON.validate_decoder!/11436    (plug 1.20.3) lib/plug/parsers/json.ex:35: Plug.Parsers.JSON.init/11437    (plug 1.20.3) lib/plug/parsers.ex:283: anonymous fn/2 in Plug.Parsers.convert_parsers/21438    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21439    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21440    (plug 1.20.3) lib/plug/parsers.ex:263: Plug.Parsers.init/11441    (plug 1.20.3) lib/plug/builder.ex:358: Plug.Builder.init_module_plug/41442    (plug 1.20.3) lib/plug/builder.ex:339: anonymous fn/5 in Plug.Builder.compile/31443could not compile dependency :config_manager, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile config_manager --force", update it with "mix deps.update config_manager" or clean it with "mix deps.clean config_manager"