Build log
nerves_system_x86_64
config_manager 0.1.1 · fail · run config_manager-0.1.1-1791072597047
1502 of 1502 lines
1Resolving Hex dependencies...2Resolution completed in 0.426s3Unchanged: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.276* Getting config_manager (Hex package)77* Getting nerves (Hex package)78* Getting ring_logger (Hex package)79* Getting toolshed (Hex package)80* Getting nerves_runtime (Hex package)81* Getting nerves_system_bbb (Hex package)82* Getting nerves_system_mangopi_mq_pro (Hex package)83* Getting nerves_system_qemu_aarch64 (Hex package)84* Getting nerves_system_rpi0 (Hex package)85* Getting nerves_system_rpi4 (Hex package)86* Getting nerves_system_rpi5 (Hex package)87* Getting nerves_system_trellis (Hex package)88* Getting nerves_system_x86_64 (Hex package)89* Getting nerves_system_br (Hex package)90* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)91* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)92* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)93* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)94* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)95* Getting nerves_logging (Hex package)96* Getting nerves_uevent (Hex package)97* Getting uboot_env (Hex package)98* Getting elixir_make (Hex package)99* Getting property_table (Hex package)100* Getting circular_buffer (Hex package)101* Getting interactive_cmd (Hex package)102* Getting nerves_discovery (Hex package)103* Getting tablet (Hex package)104* Getting ecto_sql (Hex package)105* Getting esbuild (Hex package)106* Getting gettext (Hex package)107* Getting jason (Hex package)108* Getting phoenix (Hex package)109* Getting phoenix_ecto (Hex package)110* Getting phoenix_html (Hex package)111* Getting phoenix_live_dashboard (Hex package)112* Getting phoenix_live_view (Hex package)113* Getting plug_cowboy (Hex package)114* Getting postgrex (Hex package)115* Getting swoosh (Hex package)116* Getting telemetry_metrics (Hex package)117* Getting telemetry_poller (Hex package)118* Getting telemetry (Hex package)119* Getting idna (Hex package)120* Getting mime (Hex package)121* Getting db_connection (Hex package)122* Getting decimal (Hex package)123* Getting cowboy (Hex package)124* Getting cowboy_telemetry (Hex package)125* Getting plug (Hex package)126* Getting plug_crypto (Hex package)127* Getting cowlib (Hex package)128* Getting ranch (Hex package)129* Getting ecto (Hex package)130* Getting castore (Hex package)131* Getting phoenix_pubsub (Hex package)132* Getting phoenix_view (Hex package)133* Getting phoenix_template (Hex package)134* Getting expo (Hex package)135Found packages with security advisories, see above for details136You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more137==> esbuild138Compiling 4 files (.ex)139Generated esbuild app140==> phoenix_html141Compiling 9 files (.ex)142 warning: comparison between distinct types found:143144 id == nil145146 given types:147148 dynamic(not false and not nil and not binary()) == nil149150 where "id" was given the types:151152 # type: dynamic(not false and not nil)153 # from: lib/phoenix_html/form_data.ex:92:8154 id = Keyword.get(opts, :id) || name155156 # type: dynamic(not false and not nil and not binary())157 # from: lib/phoenix_html/form_data.ex:94:12158 is_binary(id)159160 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 false161162 type warning found at:163 │164 94 │ unless is_binary(id) or is_nil(id) do165 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~166 │167 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2168169 warning: the 1st pattern in clause will never match:170171 60172173 because it is expected to receive type:174175 dynamic(empty_list() or non_empty_list(term(), term()))176177 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())178179 type warning found at:180 │181 56 │ def to_iodata(?<), do: "<"182 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~183 │184 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1185186 warning: the 1st pattern in clause will never match:187188 62189190 because it is expected to receive type:191192 dynamic(empty_list() or non_empty_list(term(), term()))193194 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())195196 type warning found at:197 │198 57 │ def to_iodata(?>), do: ">"199 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~200 │201 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1202203 warning: the 1st pattern in clause will never match:204205 38206207 because it is expected to receive type:208209 dynamic(empty_list() or non_empty_list(term(), term()))210211 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())212213 type warning found at:214 │215 58 │ def to_iodata(?&), do: "&"216 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~217 │218 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1219220 warning: the 1st pattern in clause will never match:221222 34223224 because it is expected to receive type:225226 dynamic(empty_list() or non_empty_list(term(), term()))227228 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())229230 type warning found at:231 │232 59 │ def to_iodata(?"), do: """233 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~234 │235 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1236237 warning: the 1st pattern in clause will never match:238239 39240241 because it is expected to receive type:242243 dynamic(empty_list() or non_empty_list(term(), term()))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 60 │ def to_iodata(?'), do: "'"250 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~251 │252 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1253254 warning: the 1st pattern in clause will never match:255256 {:safe, data}257258 because it is expected to receive type:259260 dynamic(empty_list() or non_empty_list(term(), term()))261262 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())263264 type warning found at:265 │266 76 │ def to_iodata({:safe, data}) do267 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~268 │269 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1270271 warning: the following clause is redundant:272273 def to_iodata(other)274275 it has type:276277 dynamic(empty_list() or non_empty_list(term(), term()))278279 previous clauses have already matched on the following types:280281 non_empty_list(term(), term())282 empty_list()283284 │285 80 │ def to_iodata(other) do286 │ ~287 │288 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1289290 warning: the 1st pattern in clause will never match:291292 h293294 because it is expected to receive type:295296 dynamic(empty_list() or non_empty_list(term(), term()))297298 where "h" was given the type:299300 # type: integer()301 # from: lib/phoenix_html/safe.ex:62:25302 is_integer(h)303304 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())305306 type warning found at:307 │308 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do309 │ ~310 │311 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1312313 warning: the 1st pattern in clause will never match:314315 h316317 because it is expected to receive type:318319 dynamic(empty_list() or non_empty_list(term(), term()))320321 where "h" was given the type:322323 # type: integer()324 # from: lib/phoenix_html/safe.ex:66:25325 is_integer(h)326327 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())328329 type warning found at:330 │331 66 │ def to_iodata(h) when is_integer(h) do332 │ ~333 │334 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1335336 warning: the 1st pattern in clause will never match:337338 h339340 because it is expected to receive type:341342 dynamic(empty_list() or non_empty_list(term(), term()))343344 where "h" was given the type:345346 # type: binary()347 # from: lib/phoenix_html/safe.ex:72:25348 is_binary(h)349350 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())351352 type warning found at:353 │354 72 │ def to_iodata(h) when is_binary(h) do355 │ ~356 │357 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1358359Generated phoenix_html app360==> phoenix_template361Compiling 4 files (.ex)362Generated phoenix_template app363==> phoenix_view364Compiling 1 file (.ex)365 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 operator366 │367 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix368 │ ~369 │370 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2371372Generated phoenix_view app373warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"374 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2375 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1376 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5377 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2378 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4379 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2380381==> phoenix_ecto382Compiling 7 files (.ex)383Generated phoenix_ecto app384warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"385 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2386 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1387 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5388 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2389 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4390 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2391392==> phoenix393Compiling 69 files (.ex)394 warning: using single-quoted strings to represent charlists is deprecated.395 Use ~c"" if you indeed want a charlist or use "" instead.396 You may run "mix format --migrate" to change all single-quoted397 strings to use the ~c sigil and fix this warning.398 │399 258 │ notBefore: {:utcTime, '#{not_before}000000Z'},400 │ ~401 │402 └─ lib/mix/tasks/phx.gen.cert.ex:258:33403404 warning: using single-quoted strings to represent charlists is deprecated.405 Use ~c"" if you indeed want a charlist or use "" instead.406 You may run "mix format --migrate" to change all single-quoted407 strings to use the ~c sigil and fix this warning.408 │409 259 │ notAfter: {:utcTime, '#{not_after}000000Z'}410 │ ~411 │412 └─ lib/mix/tasks/phx.gen.cert.ex:259:32413414 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead415 │416 50 │ Logger.warn(417 │ ~418 │419 └─ lib/phoenix/code_reloader/server.ex:50:20: Phoenix.CodeReloader.Server.handle_call/3420421 warning: unused require Logger422 │423 9 │ require Logger424 │ ~425 │426 └─ lib/phoenix/config.ex:9:3427428 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.429430 This error happens when you have function calls without parentheses inside keywords. For example:431432 function(arg, one: nested_call a, b, c)433 function(arg, one: if expr, do: :this, else: :that)434435 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:436437 function(arg, one: if(expr, do: :this, else: :that))438 function(arg, one: nested_call(a, b, c))439440 Ambiguity found at:441 │442 998 │ defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"443 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~444 │445 └─ lib/phoenix/controller.ex:998446447 warning: unused require Logger448 │449 259 │ require Logger450 │ ~451 │452 └─ lib/phoenix/endpoint.ex:259:3453454 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead455 │456 1009 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>457 │ ~458 │459 └─ lib/phoenix/controller.ex:1009:14: Phoenix.Controller.warn_if_ajax/1460461 warning: unused require Phoenix.Endpoint462 │463 6 │ require Phoenix.Endpoint464 │ ~465 │466 └─ lib/phoenix/controller.ex:6:3467468 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead469 │470 34 │ Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")471 │ ~472 │473 └─ lib/phoenix/endpoint/supervisor.ex:34:20: Phoenix.Endpoint.Supervisor.init/1474475 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead476 │477 57 │ Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")478 │ ~479 │480 └─ lib/phoenix/endpoint/supervisor.ex:57:14: Phoenix.Endpoint.Supervisor.init/1481482 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead483 │484 78 │ Logger.warn """485 │ ~486 │487 └─ lib/phoenix/endpoint/supervisor.ex:78:14: Phoenix.Endpoint.Supervisor.pubsub_children/2488489 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead490 │491 264 │ Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")492 │ ~493 │494 └─ lib/phoenix/endpoint/supervisor.ex:264:14: Phoenix.Endpoint.Supervisor.build_url/2495496 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 operator497 │498 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix499 │ ~500 │501 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2502503 warning: unused require Phoenix.Endpoint504 │505 19 │ require Phoenix.Endpoint506 │ ~507 │508 └─ lib/phoenix/endpoint/render_errors.ex:19:3509510 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.511512 This error happens when you have function calls without parentheses inside keywords. For example:513514 function(arg, one: nested_call a, b, c)515 function(arg, one: if expr, do: :this, else: :that)516517 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:518519 function(arg, one: if(expr, do: :this, else: :that))520 function(arg, one: nested_call(a, b, c))521522 Ambiguity found at:523 │524 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """525 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~526 │527 └─ lib/phoenix/router/resource.ex:71528529 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead530 │531 653 │ Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(socket.handler)}" end532 │ ~533 │534 └─ lib/phoenix/socket.ex:653:16: Phoenix.Socket.handle_in/4535536 warning: unused require Phoenix.Endpoint537 │538 192 │ require Phoenix.Endpoint539 │ ~540 │541 └─ lib/phoenix/socket.ex:192:3542543 warning: unused require Phoenix.Endpoint544 │545 6 │ require Phoenix.Endpoint546 │ ~547 │548 └─ lib/phoenix/channel/server.ex:6:3549550 warning: unused require Logger551 │552 93 │ require Logger553 │ ~554 │555 └─ lib/phoenix/token.ex:93:3556557 warning: comparison between distinct types found:558559 merge_all != []560561 given types:562563 dynamic(non_empty_list({atom(), term()})) != empty_list()564565 where "merge_all" was given the type:566567 # type: dynamic(non_empty_list({atom(), term()}))568 # from: lib/phoenix/router/route.ex:111:15569 merge_all = merge_params ++ merge_private ++ merge_assigns570571 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 false572573 type warning found at:574 │575 113 │ if merge_all != [] do576 │ ~577 │578 └─ lib/phoenix/router/route.ex:113:18: Phoenix.Router.Route.build_prepare/1579580 warning: a struct for Plug.Conn is expected on struct update:581582 %Plug.Conn{conn | state: :sent}583584 but got type:585586 dynamic()587588 where "conn" was given the type:589590 # type: dynamic()591 # from: lib/phoenix/endpoint/render_errors.ex:57:17592 conn593594 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"595596 type warning found at:597 │598 61 │ %Plug.Conn{conn | state: :sent}599 │ ~600 │601 └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/5602603 warning: a struct for Plug.Conn is expected on struct update:604605 %Plug.Conn{conn | query_params: %{}, params: %{}}606607 but got type:608609 dynamic(%{..., params: %Plug.Conn.Unfetched{}})610611 where "conn" was given the types:612613 # type: dynamic(%{..., params: term()})614 # from: lib/phoenix/endpoint/render_errors.ex:124:17615 conn.params616617 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})618 # from: lib/phoenix/endpoint/render_errors.ex:124:17619 conn.params620621 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"622623 type warning found at:624 │625 125 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}626 │ ~627 │628 └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1629630 warning: a struct for Plug.Conn is expected on struct update:631632 %Plug.Conn{conn | query_params: %{}, params: params}633634 but got type:635636 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})637638 where "conn" was given the types:639640 # type: dynamic(%{..., params: term()})641 # from: lib/phoenix/endpoint/render_errors.ex:124:17642 conn.params643644 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})645 # from: lib/phoenix/endpoint/render_errors.ex:124:17646 conn.params647648 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"649650 type warning found at:651 │652 126 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}653 │ ~654 │655 └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1656657 warning: incompatible types given to socket_children/1:658659 socket_children(mod)660661 given types:662663 -dynamic(atom())-664665 but expected one of:666667 %{..., __sockets__: term()}668669 where "mod" was given the types:670671 # type: dynamic(atom() or binary())672 # from: lib/phoenix/endpoint/supervisor.ex:27:41673 defaults(otp_app, mod)674675 # type: dynamic(atom())676 # from: lib/phoenix/endpoint/supervisor.ex:31:16677 mod.init(:supervisor, env_conf)678679 type warning found at:680 │681 67 │ socket_children(mod) ++682 │ ~683 │684 └─ lib/phoenix/endpoint/supervisor.ex:67:7: Phoenix.Endpoint.Supervisor.init/1685686 warning: a struct for Plug.Conn is expected on struct update:687688 %Plug.Conn{conn | params: params}689690 but got type:691692 dynamic(%{..., params: map()})693694 where "conn" was given the type:695696 # type: dynamic(%{..., params: map()})697 # from: lib/phoenix/controller.ex:1036:17698 Map.get(conn.params, required_key)699700 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"701702 type warning found at:703 │704 1043 │ %Plug.Conn{conn | params: params}705 │ ~706 │707 └─ lib/phoenix/controller.ex:1043:5: Phoenix.Controller.scrub_params/2708709 warning: expected a module (an atom) when invoking compress_file/2 in expression:710711 compressor.compress_file(file.digested_filename, file.digested_content)712713 where "compressor" was given the type:714715 # type: dynamic(%{..., file_extensions: non_empty_list(term(), term())})716 # from: lib/phoenix/digester.ex:167:28717 [file_extension | _] = compressor.file_extensions718719 where "file" was given the type:720721 # type: dynamic(%{..., relative_path: term()})722 # from: lib/phoenix/digester.ex:161:17723 Path.join(output_path, file.relative_path)724725 type warning found at:726 │727 170 │ compressor.compress_file(file.digested_filename, file.digested_content) do728 │ ~729 │730 └─ lib/phoenix/digester.ex:170:25: Phoenix.Digester.write_to_disk/2731732Generated phoenix app733warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"734 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2735 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1736 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5737 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2738 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4739 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2740741==> phoenix_live_view742Compiling 31 files (.ex)743 warning: using single-quoted strings to represent charlists is deprecated.744 Use ~c"" if you indeed want a charlist or use "" instead.745 You may run "mix format --migrate" to change all single-quoted746 strings to use the ~c sigil and fix this warning.747 │748 319 │ {'LiveView', view},749 │ ~750 │751 └─ lib/phoenix_live_view/channel.ex:319:10752753 warning: using single-quoted strings to represent charlists is deprecated.754 Use ~c"" if you indeed want a charlist or use "" instead.755 You may run "mix format --migrate" to change all single-quoted756 strings to use the ~c sigil and fix this warning.757 │758 320 │ {'Parent pid', parent_pid},759 │ ~760 │761 └─ lib/phoenix_live_view/channel.ex:320:10762763 warning: using single-quoted strings to represent charlists is deprecated.764 Use ~c"" if you indeed want a charlist or use "" instead.765 You may run "mix format --migrate" to change all single-quoted766 strings to use the ~c sigil and fix this warning.767 │768 321 │ {'Transport pid', transport_pid},769 │ ~770 │771 └─ lib/phoenix_live_view/channel.ex:321:10772773 warning: using single-quoted strings to represent charlists is deprecated.774 Use ~c"" if you indeed want a charlist or use "" instead.775 You may run "mix format --migrate" to change all single-quoted776 strings to use the ~c sigil and fix this warning.777 │778 322 │ {'Topic', topic},779 │ ~780 │781 └─ lib/phoenix_live_view/channel.ex:322:10782783 warning: using single-quoted strings to represent charlists is deprecated.784 Use ~c"" if you indeed want a charlist or use "" instead.785 You may run "mix format --migrate" to change all single-quoted786 strings to use the ~c sigil and fix this warning.787 │788 323 │ {'Components count', map_size(cid_to_component)}789 │ ~790 │791 └─ lib/phoenix_live_view/channel.ex:323:10792793 warning: using single-quoted strings to represent charlists is deprecated.794 Use ~c"" if you indeed want a charlist or use "" instead.795 You may run "mix format --migrate" to change all single-quoted796 strings to use the ~c sigil and fix this warning.797 │798 329 │ [data: [{'State', state}]]799 │ ~800 │801 └─ lib/phoenix_live_view/channel.ex:329:14802803 warning: using single-quoted strings to represent charlists is deprecated.804 Use ~c"" if you indeed want a charlist or use "" instead.805 You may run "mix format --migrate" to change all single-quoted806 strings to use the ~c sigil and fix this warning.807 │808 112 │ @codepoints '\s\n\r\t'809 │ ~810 │811 └─ lib/phoenix_live_view/html_algebra.ex:112:15812813 warning: using single-quoted strings to represent charlists is deprecated.814 Use ~c"" if you indeed want a charlist or use "" instead.815 You may run "mix format --migrate" to change all single-quoted816 strings to use the ~c sigil and fix this warning.817 │818 125 │ do: :binary.first(text) in '\n\r'819 │ ~820 │821 └─ lib/phoenix_live_view/html_algebra.ex:125:32822823 warning: using single-quoted strings to represent charlists is deprecated.824 Use ~c"" if you indeed want a charlist or use "" instead.825 You may run "mix format --migrate" to change all single-quoted826 strings to use the ~c sigil and fix this warning.827 │828 130 │ do: :binary.last(text) in '\n\r'829 │ ~830 │831 └─ lib/phoenix_live_view/html_algebra.ex:130:31832833 warning: using single-quoted strings to represent charlists is deprecated.834 Use ~c"" if you indeed want a charlist or use "" instead.835 You may run "mix format --migrate" to change all single-quoted836 strings to use the ~c sigil and fix this warning.837 │838 503 │ defp count_newlines_until_text(<<char, rest::binary>>, counter) when char in '\s\t\r',839 │ ~840 │841 └─ lib/phoenix_live_view/html_formatter.ex:503:80842843 warning: using single-quoted strings to represent charlists is deprecated.844 Use ~c"" if you indeed want a charlist or use "" instead.845 You may run "mix format --migrate" to change all single-quoted846 strings to use the ~c sigil and fix this warning.847 │848 536 │ do: if(String.trim_leading(text) == "", do: false, else: !(:binary.last(text) in '\s\t'))849 │ ~850 │851 └─ lib/phoenix_live_view/html_formatter.ex:536:86852853 warning: using single-quoted strings to represent charlists is deprecated.854 Use ~c"" if you indeed want a charlist or use "" instead.855 You may run "mix format --migrate" to change all single-quoted856 strings to use the ~c sigil and fix this warning.857 │858 546 │ if String.trim_leading(text) != "" and :binary.first(text) not in '\s\t\n\r' do859 │ ~860 │861 └─ lib/phoenix_live_view/html_formatter.ex:546:73862863 warning: using single-quoted strings to represent charlists is deprecated.864 Use ~c"" if you indeed want a charlist or use "" instead.865 You may run "mix format --migrate" to change all single-quoted866 strings to use the ~c sigil and fix this warning.867 │868 3 │ @space_chars '\s\t\f'869 │ ~870 │871 └─ lib/phoenix_live_view/html_tokenizer.ex:3:16872873 warning: using single-quoted strings to represent charlists is deprecated.874 Use ~c"" if you indeed want a charlist or use "" instead.875 You may run "mix format --migrate" to change all single-quoted876 strings to use the ~c sigil and fix this warning.877 │878 4 │ @quote_chars '"\''879 │ ~880 │881 └─ lib/phoenix_live_view/html_tokenizer.ex:4:16882883 warning: using single-quoted strings to represent charlists is deprecated.884 Use ~c"" if you indeed want a charlist or use "" instead.885 You may run "mix format --migrate" to change all single-quoted886 strings to use the ~c sigil and fix this warning.887 │888 5 │ @stop_chars '>/=\r\n' ++ @quote_chars ++ @space_chars889 │ ~890 │891 └─ lib/phoenix_live_view/html_tokenizer.ex:5:15892893 warning: unused require Logger894 │895 25 │ require Logger896 │ ~897 │898 └─ lib/phoenix_live_view/socket.ex:25:3899900 warning: unused require Phoenix.ChannelTest901 │902 4 │ require Phoenix.ChannelTest903 │ ~904 │905 └─ lib/phoenix_live_view/test/upload_client.ex:4:3906907 warning: unused require Phoenix.ChannelTest908 │909 179 │ require Phoenix.ChannelTest910 │ ~911 │912 └─ lib/phoenix_live_view/test/live_view_test.ex:179:3913914 warning: unused require Phoenix.ConnTest915 │916 178 │ require Phoenix.ConnTest917 │ ~918 │919 └─ lib/phoenix_live_view/test/live_view_test.ex:178:3920921 warning: unused require Logger922 │923 6 │ require Logger924 │ ~925 │926 └─ lib/phoenix_live_view/upload_channel.ex:6:3927928 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:929930 %Phoenix.LiveView.Socket{931 socket932 | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})933 }934935 but got type:936937 dynamic()938939 where "socket" was given the type:940941 # type: dynamic()942 # from: lib/phoenix_live_view/utils.ex:459:21943 socket944945 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"946947 type warning found at:948 │949 460 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}950 │ ~951 │952 └─ lib/phoenix_live_view/utils.ex:460:5: Phoenix.LiveView.Utils.do_mount_opt/3953954 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:955956 %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}957958 but got type:959960 dynamic()961962 where "socket" was given the type:963964 # type: dynamic()965 # from: lib/phoenix_live_view/utils.ex:463:21966 socket967968 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"969970 type warning found at:971 │972 464 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}973 │ ~974 │975 └─ lib/phoenix_live_view/utils.ex:464:5: Phoenix.LiveView.Utils.do_mount_opt/3976977 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:978979 %Phoenix.LiveView.Socket{980 socket981 | assigns: Map.merge(temp_assigns, socket.assigns),982 private: Map.put(socket.private, :temporary_assigns, temp_assigns)983 }984985 but got type:986987 dynamic()988989 where "socket" was given the type:990991 # type: dynamic()992 # from: lib/phoenix_live_view/utils.ex:473:21993 socket994995 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"996997 type warning found at:998 │999 480 │ %Socket{1000 │ ~1001 │1002 └─ lib/phoenix_live_view/utils.ex:480:5: Phoenix.LiveView.Utils.do_mount_opt/310031004 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:10051006 %Phoenix.LiveView.Socket{1007 socket1008 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1009 }10101011 but got type:10121013 dynamic(%{..., assigns: term()})10141015 where "socket" was given the type:10161017 # type: dynamic(%{..., assigns: term()})1018 # from: lib/phoenix_live_view/utils.ex:491:431019 %{assigns: assigns} = socket10201021 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"10221023 type warning found at:1024 │1025 492 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1026 │ ~1027 │1028 └─ lib/phoenix_live_view/utils.ex:492:14: Phoenix.LiveView.Utils.render_assigns/110291030 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10311032 %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}10331034 but got type:10351036 dynamic()10371038 where "entry" was given the type:10391040 # type: dynamic()1041 # from: lib/phoenix_live_view/upload_config.ex:339:281042 entry <- conf.entries10431044 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"10451046 type warning found at:1047 │1048 339 │ | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1049 │ ~1050 │1051 └─ lib/phoenix_live_view/upload_config.ex:339:49: Phoenix.LiveView.UploadConfig.mark_preflighted/110521053 warning: a struct for Phoenix.HTML.Form is expected on struct update:10541055 %Phoenix.HTML.Form{Phoenix.HTML.FormData.to_form(form_for, form_options) | action: action || "#"}10561057 but got type:10581059 dynamic()10601061 where "form_for" was given the type:10621063 # type: dynamic(not false and not nil)1064 # from: lib/phoenix_live_view/helpers.ex:1101:141065 form_for = assigns[:for] || :erlang.error(ArgumentError.exception("missing :for assign to form"))10661067 where "form_options" was given the type:10681069 # type: dynamic(list({term(), term()}))1070 # from: lib/phoenix_live_view/helpers.ex:1102:181071 form_options = assigns_to_attributes(assigns, [:action, :for])10721073 you must assign "Phoenix.HTML.FormData.to_form(form_for, form_options)" to variable and pattern match on "%Phoenix.HTML.Form{}"10741075 type warning found at:1076 │1077 1106 │ form = %Phoenix.HTML.Form{1078 │ ~1079 │1080 └─ lib/phoenix_live_view/helpers.ex:1106:14: Phoenix.LiveView.Helpers.form/110811082 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10831084 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}10851086 but got type:10871088 dynamic()10891090 where "entry" was given the type:10911092 # type: dynamic()1093 # from: lib/phoenix_live_view/upload_config.ex:539:301094 entry10951096 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"10971098 type warning found at:1099 │1100 540 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1101 │ ~1102 │1103 └─ lib/phoenix_live_view/upload_config.ex:540:13: Phoenix.LiveView.UploadConfig.put_valid_entry/211041105 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11061107 %Phoenix.LiveView.UploadEntry{entry | valid?: false}11081109 but got type:11101111 dynamic()11121113 where "entry" was given the type:11141115 # type: dynamic()1116 # from: lib/phoenix_live_view/upload_config.ex:552:321117 entry11181119 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"11201121 type warning found at:1122 │1123 553 │ entry = %UploadEntry{entry | valid?: false}1124 │ ~1125 │1126 └─ lib/phoenix_live_view/upload_config.ex:553:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/311271128 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11291130 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}11311132 but got type:11331134 dynamic()11351136 where "entry" was given the type:11371138 # type: dynamic()1139 # from: lib/phoenix_live_view/upload_config.ex:635:421140 entry11411142 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"11431144 type warning found at:1145 │1146 635 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1147 │ ~1148 │1149 └─ lib/phoenix_live_view/upload_config.ex:635:51: Phoenix.LiveView.UploadConfig.cancel_entry/211501151 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1152 │1153 72 │ Logger.disable(self())1154 │ ~1155 │1156 └─ lib/phoenix_live_view/test/client_proxy.ex:72:12: Phoenix.LiveViewTest.ClientProxy.init/111571158 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:11591160 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}11611162 but got type:11631164 dynamic(%{..., rendered: map()})11651166 where "view" was given the type:11671168 # type: dynamic(%{..., rendered: map()})1169 # from: lib/phoenix_live_view/test/client_proxy.ex:701:241170 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)11711172 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"11731174 type warning found at:1175 │1176 702 │ new_view = %ClientProxy{view | rendered: rendered}1177 │ ~1178 │1179 └─ lib/phoenix_live_view/test/client_proxy.ex:702:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/311801181 warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1182 │1183 1095 │ Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1184 │ ~1185 │1186 └─ lib/phoenix_live_view/test/client_proxy.ex:1095:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31187 └─ lib/phoenix_live_view/test/client_proxy.ex:1100:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31188 └─ lib/phoenix_live_view/test/client_proxy.ex:1110:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31189 └─ lib/phoenix_live_view/test/client_proxy.ex:1119:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/311901191 warning: the right-hand side of || (shown as ... below) will never be executed:11921193 conn.private[:live_view_connect_info] || prune_conn(conn) || ...11941195 because the left-hand side always evaluates to:11961197 dynamic(not false and not nil)11981199 where "conn" was given the types:12001201 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1202 # from: lib/phoenix_live_view/test/live_view_test.ex:320:721203 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn12041205 # type: dynamic(%Plug.Conn{1206 assigns: %{..., live_module: term()},1207 private:1208 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1209 non_struct_map(),1210 status: integer()1211 })1212 # from: lib/phoenix_live_view/test/live_view_test.ex:334:351213 conn.private[:live_view_connect_params]12141215 type warning found at:1216 │1217 335 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1218 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1219 │1220 └─ lib/phoenix_live_view/test/live_view_test.ex:335: Phoenix.LiveViewTest.connect_from_static_token/212211222 warning: the following clause is redundant:12231224 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)12251226 it has type:12271228 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))12291230 previous clauses have already matched on the following types:12311232 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1233 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1234 term(), term(), (none(), none() -> term())1235 term(), term(), (none() -> term())12361237 │1238 952 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1239 │ ~1240 │1241 └─ lib/phoenix_live_view.ex:952:7: Phoenix.LiveView.update/312421243 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1244 │1245 603 │ defp class_names(nil), do: []1246 │ ~1247 │1248 └─ lib/phoenix_live_view/js.ex:603:8: Phoenix.LiveView.JS.class_names/112491250 warning: the following clause is redundant:12511252 def to_iodata(%_{} = struct)12531254 it has type:12551256 dynamic(%Phoenix.LiveView.Rendered{})12571258 previous clauses have already matched on the following types:12591260 %Phoenix.LiveView.Rendered{}12611262 │1263 127 │ def to_iodata(%_{} = struct) do1264 │ ~1265 │1266 └─ lib/phoenix_live_view/engine.ex:127:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/112671268 warning: the 1st pattern in clause will never match:12691270 nil12711272 because it is expected to receive type:12731274 dynamic(%Phoenix.LiveView.Rendered{})12751276 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}12771278 type warning found at:1279 │1280 131 │ def to_iodata(nil) do1281 │ ~~~~~~~~~~~~~~~~~~~~~1282 │1283 └─ lib/phoenix_live_view/engine.ex:131: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/112841285 warning: the following clause is redundant:12861287 def to_iodata(other)12881289 it has type:12901291 dynamic(%Phoenix.LiveView.Rendered{})12921293 previous clauses have already matched on the following types:12941295 %Phoenix.LiveView.Rendered{}12961297 │1298 135 │ def to_iodata(other) do1299 │ ~1300 │1301 └─ lib/phoenix_live_view/engine.ex:135:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/113021303Generated phoenix_live_view app1304warning: Phoenix now requires you to explicitly list which engine to use1305for Phoenix JSON encoding. We recommend everyone to upgrade to1306Jason by setting in your config/config.exs:13071308 config :phoenix, :json_library, Jason13091310And then adding {:jason, "~> 1.0"} as a dependency.13111312If instead you would rather continue using Poison, then add to1313your config/config.exs:13141315 config :phoenix, :json_library, Poison13161317 (phoenix 1.6.17) lib/phoenix.ex:56: Phoenix.start/21318 (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/413191320warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1321 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21322 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11323 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51324 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21325 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41326 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/213271328==> phoenix_live_dashboard1329Compiling 40 files (.ex)1330 warning: using single-quoted strings to represent charlists is deprecated.1331 Use ~c"" if you indeed want a charlist or use "" instead.1332 You may run "mix format --migrate" to change all single-quoted1333 strings to use the ~c sigil and fix this warning.1334 │1335 709 │ '#Port' ++ rest = :erlang.port_to_list(ref)1336 │ ~1337 │1338 └─ lib/phoenix/live_dashboard/page_builder.ex:709:513391340 warning: using single-quoted strings to represent charlists is deprecated.1341 Use ~c"" if you indeed want a charlist or use "" instead.1342 You may run "mix format --migrate" to change all single-quoted1343 strings to use the ~c sigil and fix this warning.1344 │1345 728 │ '#Ref' ++ rest = :erlang.ref_to_list(ref)1346 │ ~1347 │1348 └─ lib/phoenix/live_dashboard/page_builder.ex:728:513491350 warning: using single-quoted strings to represent charlists is deprecated.1351 Use ~c"" if you indeed want a charlist or use "" instead.1352 You may run "mix format --migrate" to change all single-quoted1353 strings to use the ~c sigil and fix this warning.1354 │1355 446 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1356 │ ~1357 │1358 └─ lib/phoenix/live_dashboard/system_info.ex:446:1613591360 warning: using single-quoted strings to represent charlists is deprecated.1361 Use ~c"" if you indeed want a charlist or use "" instead.1362 You may run "mix format --migrate" to change all single-quoted1363 strings to use the ~c sigil and fix this warning.1364 │1365 446 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1366 │ ~1367 │1368 └─ lib/phoenix/live_dashboard/system_info.ex:446:2813691370 warning: using single-quoted strings to represent charlists is deprecated.1371 Use ~c"" if you indeed want a charlist or use "" instead.1372 You may run "mix format --migrate" to change all single-quoted1373 strings to use the ~c sigil and fix this warning.1374 │1375 446 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1376 │ ~1377 │1378 └─ lib/phoenix/live_dashboard/system_info.ex:446:4013791380 warning: using single-quoted strings to represent charlists is deprecated.1381 Use ~c"" if you indeed want a charlist or use "" instead.1382 You may run "mix format --migrate" to change all single-quoted1383 strings to use the ~c sigil and fix this warning.1384 │1385 654 │ [{'none', 0, 0}] -> []1386 │ ~1387 │1388 └─ lib/phoenix/live_dashboard/system_info.ex:654:1113891390warning: 0..-2 has a default step of -1, please write 0..-2//-1 instead1391 lib/phoenix/live_dashboard/page_live.ex:178: Phoenix.LiveDashboard.PageLive.dashboard_mount_path/313921393warning: 0..-3 has a default step of -1, please write 0..-3//-1 instead1394 lib/phoenix/live_dashboard/page_live.ex:178: Phoenix.LiveDashboard.PageLive.dashboard_mount_path/313951396 warning: expected a module (an atom) when invoking __live__/0 in expression:13971398 Map.put(component_assigns, :page, page).__live__()13991400 but got type:14011402 dynamic(%{..., page: term()})14031404 where "component_assigns" was given the type:14051406 # type: dynamic(map())1407 # from: lib/phoenix/live_dashboard/components/nav_bar_component.ex:218:391408 Map.put(component_assigns, :page, page)14091410 where "page" was given the type:14111412 # type: dynamic()1413 # from: lib/phoenix/live_dashboard/components/nav_bar_component.ex:215:231414 page14151416 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()14171418 type warning found at:1419 │1420 218 │ live_component(component, Map.put(component_assigns, :page, page))1421 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1422 │1423 └─ lib/phoenix/live_dashboard/components/nav_bar_component.ex:218: Phoenix.LiveDashboard.NavBarComponent.render_content/214241425 warning: expected a module (an atom) when invoking __live__/0 in expression:14261427 component_assigns.__live__()14281429 where "component_assigns" was given the type:14301431 # type: dynamic(%{..., page: term()})1432 # from: lib/phoenix/live_dashboard/page_live.ex:238:231433 component_assigns = Map.put(component_assigns, :page, assigns.page)14341435 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()14361437 type warning found at:1438 │1439 239 │ live_component(component, component_assigns)1440 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1441 │1442 └─ lib/phoenix/live_dashboard/page_live.ex:239: Phoenix.LiveDashboard.PageLive.render_page/214431444 warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1445 │1446 276 │ do: struct.to_string(value)1447 │ ~1448 │1449 └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:276:16: Phoenix.LiveDashboard.EctoStatsPage.format/214501451 warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1452 │1453 8 │ Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)1454 │ ~1455 │1456 └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/214571458Generated phoenix_live_dashboard app1459==> swoosh1460Compiling 62 files (.ex)1461Generated swoosh app1462warning: the :gettext compiler is no longer required in your mix.exs.14631464Please find the following line in your mix.exs and remove the :gettext entry:14651466 compilers: [..., :gettext, ...] ++ Mix.compilers(),14671468 (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11469 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51470 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21471 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41472 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21473 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/514741475==> config_manager1476Compiling 18 files (.ex)1477warning: defining a Gettext backend by calling14781479 use Gettext, otp_app: ...14801481is deprecated. To define a backend, call:14821483 use Gettext.Backend, otp_app: :my_app14841485Then, instead of importing your backend, call this in your module:14861487 use Gettext, backend: MyApp.Gettext14881489 lib/config_manager_web/gettext.ex:23: ConfigManagerWeb.Gettext (module)149014911492== Compilation error in file lib/config_manager_web/endpoint.ex ==1493** (ArgumentError) invalid :json_decoder option. The module Poison is not loaded and could not be found1494 (plug 1.20.3) lib/plug/parsers/json.ex:48: Plug.Parsers.JSON.validate_decoder!/11495 (plug 1.20.3) lib/plug/parsers/json.ex:35: Plug.Parsers.JSON.init/11496 (plug 1.20.3) lib/plug/parsers.ex:283: anonymous fn/2 in Plug.Parsers.convert_parsers/21497 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21498 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21499 (plug 1.20.3) lib/plug/parsers.ex:263: Plug.Parsers.init/11500 (plug 1.20.3) lib/plug/builder.ex:358: Plug.Builder.init_module_plug/41501 (plug 1.20.3) lib/plug/builder.ex:339: anonymous fn/5 in Plug.Builder.compile/31502could 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"