Build log
host
mppm 0.1.1 · fail · run mppm-0.1.1-1791006358568
1613 of 1613 lines
1Resolving Hex dependencies...2Resolution completed in 0.414s3Unchanged:4 certifi 2.15.05 circular_buffer 1.1.06 cowboy 2.19.07 cowboy_telemetry 0.3.18 cowlib 2.20.0 VULNERABLE!9 EEF-CVE-2026-43966 (MEDIUM)10 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c11 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/212 https://osv.dev/vulnerability/EEF-CVE-2026-439661314 EEF-CVE-2026-43969 (LOW)15 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5616 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/117 https://osv.dev/vulnerability/EEF-CVE-2026-4396918 db_connection 2.10.219 decimal 3.1.120 ecto 3.14.221 ecto_network 1.3.022 ecto_sql 3.14.023 elixir_make 0.10.024 erlsom 1.5.225 expo 1.1.126 gettext 0.26.227 hackney 1.25.0 VULNERABLE!28 EEF-CVE-2026-47071 (HIGH)29 aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr30 SOCKS5 TLS upgrade ignores caller timeout in hackney31 https://osv.dev/vulnerability/EEF-CVE-2026-470713233 EEF-CVE-2026-47076 (MEDIUM)34 aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq35 SSRF allowlist bypass via percent-encoded host in hackney36 https://osv.dev/vulnerability/EEF-CVE-2026-470763738 EEF-CVE-2026-47069 (LOW)39 aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw240 CRLF injection in cookie domain/path options in hackney41 https://osv.dev/vulnerability/EEF-CVE-2026-470694243 EEF-CVE-2026-47075 (MEDIUM)44 aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf45 CR/LF injection in query parameter in hackney46 https://osv.dev/vulnerability/EEF-CVE-2026-4707547 httpoison 1.8.248 idna 6.1.149 interactive_cmd 0.1.450 jason 1.4.551 logger_file_backend 0.0.1452 metrics 1.0.153 mime 2.0.754 mimerl 1.5.055 mppm 0.1.156 nerves 2.0.0-pre.257 nerves_discovery 0.1.558 nerves_logging 0.2.459 nerves_runtime 0.13.1360 nerves_system_bbb 2.30.261 nerves_system_br 1.34.462 nerves_system_mangopi_mq_pro 0.17.263 nerves_system_qemu_aarch64 0.4.264 nerves_system_rpi0 2.1.265 nerves_system_rpi4 2.1.266 nerves_system_rpi5 2.1.267 nerves_system_trellis 0.5.068 nerves_system_x86_64 1.34.269 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.170 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.171 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.172 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.173 nerves_toolchain_x86_64_nerves_linux_musl 15.3.174 nerves_uevent 0.1.775 oauth2 2.1.176 observer_cli 1.8.877 parse_trans 3.4.178 phoenix 1.5.15 VULNERABLE!79 GHSA-p8f7-22gq-m7j9 (HIGH)80 aka: CVE-2022-4297581 Phoenix before 1.6.14 mishandles check_origin wildcarding82 https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j983 phoenix_ecto 4.7.084 phoenix_html 2.14.3 VULNERABLE!85 GHSA-5g2h-9x5v-5h3x (MEDIUM)86 aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q287 phoenix_html allows Cross-site Scripting in HEEx class attributes88 https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x89 phoenix_live_dashboard 0.4.090 phoenix_live_view 0.15.7 VULNERABLE!91 EEF-CVE-2026-64941 (LOW)92 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf93 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR94 https://osv.dev/vulnerability/EEF-CVE-2026-6494195 phoenix_pubsub 2.3.096 plug 1.20.397 plug_cowboy 2.9.098 plug_crypto 1.2.599 postgrex 0.22.4100 property_table 0.3.4101 ranch 2.3.0102 recon 2.5.6103 ring_logger 0.11.7104 slugify 1.3.1105 ssl_verify_fun 1.1.7106 tablet 0.3.3107 telemetry 0.4.3108 telemetry_metrics 0.6.2109 tesla 1.21.3110 toolshed 0.5.0111 uboot_env 1.0.2112 unicode_util_compat 0.7.1113 xmlrpc 1.5.0114Found packages with security advisories, see above for details115All dependencies have been fetched116===> Analyzing applications...117===> Compiling erlsom118 ┌─ src/erlsom_sax_latin9.erl:119 │120 1063 │ case catch list_to_integer(Tail1) of121 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.122Compile directive 'nowarn_deprecated_catch' can be used to suppress123warnings in selected modules.124125126 ┌─ src/erlsom.erl:127 │128 143 │ case catch erlsom_compile:compile(Xsd, Options) of129 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.130Compile directive 'nowarn_deprecated_catch' can be used to suppress131warnings in selected modules.132133 ┌─ src/erlsom.erl:134 │135 245 │ case catch erlsom_sax:parseDocument(Xml, State,136 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.137Compile directive 'nowarn_deprecated_catch' can be used to suppress138warnings in selected modules.139140141 ┌─ src/erlsom_sax_utf8.erl:142 │143 1063 │ case catch list_to_integer(Tail1) of144 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.145Compile directive 'nowarn_deprecated_catch' can be used to suppress146warnings in selected modules.147148149 ┌─ src/erlsom_sax_list.erl:150 │151 1063 │ case catch list_to_integer(Tail1) of152 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.153Compile directive 'nowarn_deprecated_catch' can be used to suppress154warnings in selected modules.155156157 ┌─ src/erlsom_sax_latin1.erl:158 │159 1063 │ case catch list_to_integer(Tail1) of160 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.161Compile directive 'nowarn_deprecated_catch' can be used to suppress162warnings in selected modules.163164165 ┌─ src/erlsom_sax_utf16be.erl:166 │167 1063 │ case catch list_to_integer(Tail1) of168 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.169Compile directive 'nowarn_deprecated_catch' can be used to suppress170warnings in selected modules.171172173 ┌─ src/erlsom_sax_utf16le.erl:174 │175 1063 │ case catch list_to_integer(Tail1) of176 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.177Compile directive 'nowarn_deprecated_catch' can be used to suppress178warnings in selected modules.179180181 ┌─ src/erlsom_compile.erl:182 │183 250 │ case catch transform(ParsedXsd, Acc) of184 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.185Compile directive 'nowarn_deprecated_catch' can be used to suppress186warnings in selected modules.187188 ┌─ src/erlsom_compile.erl:189 │190 254 │ case catch erlsom_pass2:secondPass(IntermediateResult#p1acc.tps,191 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.192Compile directive 'nowarn_deprecated_catch' can be used to suppress193warnings in selected modules.194195196==> recon197Compiling 6 files (.erl)198Generated recon app199==> observer_cli200Compiling 17 files (.erl)201Generated observer_cli app202==> logger_file_backend203Compiling 1 file (.ex)204Generated logger_file_backend app205==> db_connection206Compiling 18 files (.ex)207Generated db_connection app208==> ecto209Compiling 56 files (.ex)210Generated ecto app211==> xmlrpc212Compiling 5 files (.ex)213Generated xmlrpc app214==> slugify215Compiling 1 file (.ex)216Generated slugify app217warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"218 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2219 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1220 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5221 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2222 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4223 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2224225==> postgrex226Compiling 70 files (.ex)227Generated postgrex app228==> ecto_sql229Compiling 25 files (.ex)230Generated ecto_sql app231warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"232 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2233 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1234 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5235 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2236 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4237 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2238239==> phoenix_ecto240Compiling 7 files (.ex)241Generated phoenix_ecto app242==> tesla243Compiling 57 files (.ex)244Generated tesla app245==> oauth2246Compiling 13 files (.ex)247Generated oauth2 app248warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"249 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2250 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1251 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5252 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2253 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4254 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2255256==> phoenix257Compiling 66 files (.ex)258 warning: the variable "prefix" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator259 │260 194 │ <<attr::size(prefix)-binary, ":unique">> -> attr261 │ ~262 │263 └─ lib/mix/phoenix/schema.ex:194:20: Mix.Phoenix.Schema.drop_unique/1264265 warning: using single-quoted strings to represent charlists is deprecated.266 Use ~c"" if you indeed want a charlist or use "" instead.267 You may run "mix format --migrate" to change all single-quoted268 strings to use the ~c sigil and fix this warning.269 │270 258 │ notBefore: {:utcTime, '#{not_before}000000Z'},271 │ ~272 │273 └─ lib/mix/tasks/phx.gen.cert.ex:258:33274275 warning: using single-quoted strings to represent charlists is deprecated.276 Use ~c"" if you indeed want a charlist or use "" instead.277 You may run "mix format --migrate" to change all single-quoted278 strings to use the ~c sigil and fix this warning.279 │280 259 │ notAfter: {:utcTime, '#{not_after}000000Z'}281 │ ~282 │283 └─ lib/mix/tasks/phx.gen.cert.ex:259:32284285 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead286 │287 55 │ Logger.warn(288 │ ~289 │290 └─ lib/phoenix/code_reloader/server.ex:55:20: Phoenix.CodeReloader.Server.handle_call/3291292 warning: unused require Logger293 │294 9 │ require Logger295 │ ~296 │297 └─ lib/phoenix/config.ex:9:3298299 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.300301 This error happens when you have function calls without parentheses inside keywords. For example:302303 function(arg, one: nested_call a, b, c)304 function(arg, one: if expr, do: :this, else: :that)305306 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:307308 function(arg, one: if(expr, do: :this, else: :that))309 function(arg, one: nested_call(a, b, c))310311 Ambiguity found at:312 │313 1002 │ defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"314 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~315 │316 └─ lib/phoenix/controller.ex:1002317318 warning: unused require Logger319 │320 240 │ require Logger321 │ ~322 │323 └─ lib/phoenix/endpoint.ex:240:3324325 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead326 │327 1013 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>328 │ ~329 │330 └─ lib/phoenix/controller.ex:1013:14: Phoenix.Controller.warn_if_ajax/1331332 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead333 │334 82 │ Logger.warn "Phoenix.Endpoint.CowboyAdapter is deprecated and it will be removed in next versions. " <>335 │ ~336 │337 └─ lib/phoenix/endpoint/cowboy_adapter.ex:82:12: Phoenix.Endpoint.CowboyAdapter.child_specs/2338339 warning: unused require Phoenix.Endpoint340 │341 6 │ require Phoenix.Endpoint342 │ ~343 │344 └─ lib/phoenix/controller.ex:6:3345346 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead347 │348 71 │ Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")349 │ ~350 │351 └─ lib/phoenix/endpoint/supervisor.ex:71:20: Phoenix.Endpoint.Supervisor.init/1352353 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead354 │355 95 │ Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")356 │ ~357 │358 └─ lib/phoenix/endpoint/supervisor.ex:95:14: Phoenix.Endpoint.Supervisor.init/1359360 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead361 │362 116 │ Logger.warn """363 │ ~364 │365 └─ lib/phoenix/endpoint/supervisor.ex:116:14: Phoenix.Endpoint.Supervisor.pubsub_children/2366367 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead368 │369 166 │ Logger.warn "Phoenix.Endpoint.CowboyHandler is deprecated, please use Phoenix.Endpoint.CowboyAdapter instead"370 │ ~371 │372 └─ lib/phoenix/endpoint/supervisor.ex:166:16: Phoenix.Endpoint.Supervisor.user_adapter/2373374 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead375 │376 170 │ Logger.warn "The :handler option in #{inspect endpoint} is deprecated, please use :adapter instead"377 │ ~378 │379 └─ lib/phoenix/endpoint/supervisor.ex:170:16: Phoenix.Endpoint.Supervisor.user_adapter/2380381 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead382 │383 346 │ Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")384 │ ~385 │386 └─ lib/phoenix/endpoint/supervisor.ex:346:14: Phoenix.Endpoint.Supervisor.build_url/2387388 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 operator389 │390 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix391 │ ~392 │393 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2394395 warning: using single-quoted strings to represent charlists is deprecated.396 Use ~c"" if you indeed want a charlist or use "" instead.397 You may run "mix format --migrate" to change all single-quoted398 strings to use the ~c sigil and fix this warning.399 │400 411 │ @anno (if :erlang.system_info(:otp_release) >= '19' do401 │ ~402 │403 └─ lib/phoenix/router.ex:411:50404405 warning: unused require Phoenix.Endpoint406 │407 19 │ require Phoenix.Endpoint408 │ ~409 │410 └─ lib/phoenix/endpoint/render_errors.ex:19:3411412 warning: using single-quoted strings to represent charlists is deprecated.413 Use ~c"" if you indeed want a charlist or use "" instead.414 You may run "mix format --migrate" to change all single-quoted415 strings to use the ~c sigil and fix this warning.416 │417 8 │ @anno (if :erlang.system_info(:otp_release) >= '19' do418 │ ~419 │420 └─ lib/phoenix/router/helpers.ex:8:50421422 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.423424 This error happens when you have function calls without parentheses inside keywords. For example:425426 function(arg, one: nested_call a, b, c)427 function(arg, one: if expr, do: :this, else: :that)428429 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:430431 function(arg, one: if(expr, do: :this, else: :that))432 function(arg, one: nested_call(a, b, c))433434 Ambiguity found at:435 │436 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """437 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~438 │439 └─ lib/phoenix/router/resource.ex:71440441 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead442 │443 734 │ Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end444 │ ~445 │446 └─ lib/phoenix/socket.ex:734:12: Phoenix.Socket.encode_ignore/2447448 warning: unused require Phoenix.Endpoint449 │450 6 │ require Phoenix.Endpoint451 │ ~452 │453 └─ lib/phoenix/channel/server.ex:6:3454455 warning: unused require Phoenix.Endpoint456 │457 188 │ require Phoenix.Endpoint458 │ ~459 │460 └─ lib/phoenix/socket.ex:188:3461462 warning: unused require Logger463 │464 93 │ require Logger465 │ ~466 │467 └─ lib/phoenix/token.ex:93:3468469 warning: using single-quoted strings to represent charlists is deprecated.470 Use ~c"" if you indeed want a charlist or use "" instead.471 You may run "mix format --migrate" to change all single-quoted472 strings to use the ~c sigil and fix this warning.473 │474 178 │ @anno (if :erlang.system_info(:otp_release) >= '19' do475 │ ~476 │477 └─ lib/phoenix/view.ex:178:50478479 warning: a struct for Plug.Conn is expected on struct update:480481 %Plug.Conn{conn | state: :sent}482483 but got type:484485 dynamic()486487 where "conn" was given the type:488489 # type: dynamic()490 # from: lib/phoenix/endpoint/render_errors.ex:57:17491 conn492493 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"494495 type warning found at:496 │497 61 │ %Plug.Conn{conn | state: :sent}498 │ ~499 │500 └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/5501502 warning: a struct for Plug.Conn is expected on struct update:503504 %Plug.Conn{conn | query_params: %{}, params: %{}}505506 but got type:507508 dynamic(%{..., params: %Plug.Conn.Unfetched{}})509510 where "conn" was given the types:511512 # type: dynamic(%{..., params: term()})513 # from: lib/phoenix/endpoint/render_errors.ex:124:17514 conn.params515516 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})517 # from: lib/phoenix/endpoint/render_errors.ex:124:17518 conn.params519520 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"521522 type warning found at:523 │524 125 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}525 │ ~526 │527 └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1528529 warning: a struct for Plug.Conn is expected on struct update:530531 %Plug.Conn{conn | query_params: %{}, params: params}532533 but got type:534535 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})536537 where "conn" was given the types:538539 # type: dynamic(%{..., params: term()})540 # from: lib/phoenix/endpoint/render_errors.ex:124:17541 conn.params542543 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})544 # from: lib/phoenix/endpoint/render_errors.ex:124:17545 conn.params546547 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"548549 type warning found at:550 │551 126 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}552 │ ~553 │554 └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1555556 warning: incompatible types given to socket_children/1:557558 socket_children(mod)559560 given types:561562 -dynamic(atom())-563564 but expected one of:565566 %{..., __sockets__: term()}567568 where "mod" was given the types:569570 # type: dynamic(atom() or binary())571 # from: lib/phoenix/endpoint/supervisor.ex:64:41572 defaults(otp_app, mod)573574 # type: dynamic(atom())575 # from: lib/phoenix/endpoint/supervisor.ex:68:16576 mod.init(:supervisor, env_conf)577578 type warning found at:579 │580 105 │ socket_children(mod) ++581 │ ~582 │583 └─ lib/phoenix/endpoint/supervisor.ex:105:7: Phoenix.Endpoint.Supervisor.init/1584585 warning: a struct for Plug.Conn is expected on struct update:586587 %Plug.Conn{conn | params: params}588589 but got type:590591 dynamic(%{..., params: map()})592593 where "conn" was given the type:594595 # type: dynamic(%{..., params: map()})596 # from: lib/phoenix/controller.ex:1040:17597 Map.get(conn.params, required_key)598599 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"600601 type warning found at:602 │603 1047 │ %Plug.Conn{conn | params: params}604 │ ~605 │606 └─ lib/phoenix/controller.ex:1047:5: Phoenix.Controller.scrub_params/2607608Generated phoenix app609warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"610 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2611 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1612 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5613 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2614 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4615 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2616617==> phoenix_live_view618Compiling 22 files (.ex)619 warning: unused require Logger620 │621 25 │ require Logger622 │ ~623 │624 └─ lib/phoenix_live_view/socket.ex:25:3625626 warning: unused require Phoenix.ChannelTest627 │628 141 │ require Phoenix.ChannelTest629 │ ~630 │631 └─ lib/phoenix_live_view/test/live_view_test.ex:141:3632633 warning: unused require Phoenix.ConnTest634 │635 140 │ require Phoenix.ConnTest636 │ ~637 │638 └─ lib/phoenix_live_view/test/live_view_test.ex:140:3639640 warning: unused require Phoenix.ChannelTest641 │642 4 │ require Phoenix.ChannelTest643 │ ~644 │645 └─ lib/phoenix_live_view/test/upload_client.ex:4:3646647 warning: unused require Logger648 │649 6 │ require Logger650 │ ~651 │652 └─ lib/phoenix_live_view/upload_channel.ex:6:3653654 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:655656 %Phoenix.LiveView.Socket{657 socket658 | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})659 }660661 but got type:662663 dynamic()664665 where "socket" was given the type:666667 # type: dynamic()668 # from: lib/phoenix_live_view/utils.ex:464:21669 socket670671 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"672673 type warning found at:674 │675 465 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}676 │ ~677 │678 └─ lib/phoenix_live_view/utils.ex:465:5: Phoenix.LiveView.Utils.do_mount_opt/3679680 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:681682 %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}683684 but got type:685686 dynamic()687688 where "socket" was given the type:689690 # type: dynamic()691 # from: lib/phoenix_live_view/utils.ex:468:21692 socket693694 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"695696 type warning found at:697 │698 469 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}699 │ ~700 │701 └─ lib/phoenix_live_view/utils.ex:469:5: Phoenix.LiveView.Utils.do_mount_opt/3702703 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:704705 %Phoenix.LiveView.Socket{706 socket707 | assigns: Map.merge(temp_assigns, socket.assigns),708 private: Map.put(socket.private, :temporary_assigns, temp_assigns)709 }710711 but got type:712713 dynamic()714715 where "socket" was given the type:716717 # type: dynamic()718 # from: lib/phoenix_live_view/utils.ex:478:21719 socket720721 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"722723 type warning found at:724 │725 485 │ %Socket{726 │ ~727 │728 └─ lib/phoenix_live_view/utils.ex:485:5: Phoenix.LiveView.Utils.do_mount_opt/3729730 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:731732 %Phoenix.LiveView.Socket{733 socket734 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}735 }736737 but got type:738739 dynamic(%{..., assigns: term(), changed: term()})740741 where "socket" was given the type:742743 # type: dynamic(%{..., assigns: term(), changed: term()})744 # from: lib/phoenix_live_view/utils.ex:496:61745 %{assigns: assigns, changed: changed} = socket746747 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"748749 type warning found at:750 │751 497 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}752 │ ~753 │754 └─ lib/phoenix_live_view/utils.ex:497:14: Phoenix.LiveView.Utils.render_assigns/1755756 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:757758 %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}759760 but got type:761762 dynamic()763764 where "entry" was given the type:765766 # type: dynamic()767 # from: lib/phoenix_live_view/upload_config.ex:341:28768 entry <- conf.entries769770 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"771772 type warning found at:773 │774 341 │ | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})775 │ ~776 │777 └─ lib/phoenix_live_view/upload_config.ex:341:49: Phoenix.LiveView.UploadConfig.mark_preflighted/1778779 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:780781 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}782783 but got type:784785 dynamic()786787 where "entry" was given the type:788789 # type: dynamic()790 # from: lib/phoenix_live_view/upload_config.ex:541:30791 entry792793 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"794795 type warning found at:796 │797 542 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}798 │ ~799 │800 └─ lib/phoenix_live_view/upload_config.ex:542:13: Phoenix.LiveView.UploadConfig.put_valid_entry/2801802 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:803804 %Phoenix.LiveView.UploadEntry{entry | valid?: false}805806 but got type:807808 dynamic()809810 where "entry" was given the type:811812 # type: dynamic()813 # from: lib/phoenix_live_view/upload_config.ex:554:32814 entry815816 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"817818 type warning found at:819 │820 555 │ entry = %UploadEntry{entry | valid?: false}821 │ ~822 │823 └─ lib/phoenix_live_view/upload_config.ex:555:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/3824825 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead826 │827 56 │ Logger.disable(self())828 │ ~829 │830 └─ lib/phoenix_live_view/test/client_proxy.ex:56:12: Phoenix.LiveViewTest.ClientProxy.init/1831832 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:833834 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}835836 but got type:837838 dynamic()839840 where "entry" was given the type:841842 # type: dynamic()843 # from: lib/phoenix_live_view/upload_config.ex:638:42844 entry845846 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"847848 type warning found at:849 │850 638 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)851 │ ~852 │853 └─ lib/phoenix_live_view/upload_config.ex:638:51: Phoenix.LiveView.UploadConfig.cancel_entry/2854855 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:856857 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}858859 but got type:860861 dynamic(%{..., rendered: term()})862863 where "view" was given the type:864865 # type: dynamic(%{..., rendered: term()})866 # from: lib/phoenix_live_view/test/client_proxy.ex:600:24867 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)868869 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"870871 type warning found at:872 │873 601 │ new_view = %ClientProxy{view | rendered: rendered}874 │ ~875 │876 └─ lib/phoenix_live_view/test/client_proxy.ex:601:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/3877878 warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead879 │880 986 │ Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)881 │ ~882 │883 └─ lib/phoenix_live_view/test/client_proxy.ex:986:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/3884 └─ lib/phoenix_live_view/test/client_proxy.ex:991:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/3885 └─ lib/phoenix_live_view/test/client_proxy.ex:1001:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/3886 └─ lib/phoenix_live_view/test/client_proxy.ex:1010:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/3887888 warning: the following clause is redundant:889890 def to_iodata(%_{} = struct)891892 it has type:893894 dynamic(%Phoenix.LiveView.Rendered{})895896 previous clauses have already matched on the following types:897898 %Phoenix.LiveView.Rendered{}899900 │901 126 │ def to_iodata(%_{} = struct) do902 │ ~903 │904 └─ lib/phoenix_live_view/engine.ex:126:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1905906 warning: the 1st pattern in clause will never match:907908 nil909910 because it is expected to receive type:911912 dynamic(%Phoenix.LiveView.Rendered{})913914 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}915916 type warning found at:917 │918 130 │ def to_iodata(nil) do919 │ ~~~~~~~~~~~~~~~~~~~~~920 │921 └─ lib/phoenix_live_view/engine.ex:130: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1922923 warning: the following clause is redundant:924925 def to_iodata(other)926927 it has type:928929 dynamic(%Phoenix.LiveView.Rendered{})930931 previous clauses have already matched on the following types:932933 %Phoenix.LiveView.Rendered{}934935 │936 134 │ def to_iodata(other) do937 │ ~938 │939 └─ lib/phoenix_live_view/engine.ex:134:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1940941Generated phoenix_live_view app942warning: Phoenix now requires you to explicitly list which engine to use943for Phoenix JSON encoding. We recommend everyone to upgrade to944Jason by setting in your config/config.exs:945946 config :phoenix, :json_library, Jason947948And then adding {:jason, "~> 1.0"} as a dependency.949950If instead you would rather continue using Poison, then add to951your config/config.exs:952953 config :phoenix, :json_library, Poison954955 (phoenix 1.5.15) lib/phoenix.ex:38: Phoenix.start/2956 (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/4957958warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"959 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2960 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1961 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5962 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2963 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4964 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2965966==> phoenix_live_dashboard967Compiling 36 files (.ex)968 warning: using single-quoted strings to represent charlists is deprecated.969 Use ~c"" if you indeed want a charlist or use "" instead.970 You may run "mix format --migrate" to change all single-quoted971 strings to use the ~c sigil and fix this warning.972 │973 41 │ '#Port' ++ rest = :erlang.port_to_list(ref)974 │ ~975 │976 └─ lib/phoenix/live_dashboard/helpers.ex:41:5977978 warning: using single-quoted strings to represent charlists is deprecated.979 Use ~c"" if you indeed want a charlist or use "" instead.980 You may run "mix format --migrate" to change all single-quoted981 strings to use the ~c sigil and fix this warning.982 │983 49 │ '#Ref' ++ rest = :erlang.ref_to_list(ref)984 │ ~985 │986 └─ lib/phoenix/live_dashboard/helpers.ex:49:5987988warning: passing the @socket to live_component is no longer necessary, please remove the socket argument989 lib/phoenix/live_dashboard/pages/home_page.ex:176: Phoenix.LiveDashboard.HomePage.render/1990991warning: passing the @socket to live_component is no longer necessary, please remove the socket argument992 lib/phoenix/live_dashboard/pages/home_page.ex:184: Phoenix.LiveDashboard.HomePage.render/1993994warning: passing the @socket to live_component is no longer necessary, please remove the socket argument995 lib/phoenix/live_dashboard/pages/home_page.ex:192: Phoenix.LiveDashboard.HomePage.render/1996997warning: passing the @socket to live_component is no longer necessary, please remove the socket argument998 lib/phoenix/live_dashboard/pages/os_mon_page.ex:213: Phoenix.LiveDashboard.OSMonPage.render/19991000warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1001 lib/phoenix/live_dashboard/pages/os_mon_page.ex:235: Phoenix.LiveDashboard.OSMonPage.render/110021003 warning: using single-quoted strings to represent charlists is deprecated.1004 Use ~c"" if you indeed want a charlist or use "" instead.1005 You may run "mix format --migrate" to change all single-quoted1006 strings to use the ~c sigil and fix this warning.1007 │1008 397 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1009 │ ~1010 │1011 └─ lib/phoenix/live_dashboard/system_info.ex:397:1610121013 warning: using single-quoted strings to represent charlists is deprecated.1014 Use ~c"" if you indeed want a charlist or use "" instead.1015 You may run "mix format --migrate" to change all single-quoted1016 strings to use the ~c sigil and fix this warning.1017 │1018 397 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1019 │ ~1020 │1021 └─ lib/phoenix/live_dashboard/system_info.ex:397:2810221023 warning: using single-quoted strings to represent charlists is deprecated.1024 Use ~c"" if you indeed want a charlist or use "" instead.1025 You may run "mix format --migrate" to change all single-quoted1026 strings to use the ~c sigil and fix this warning.1027 │1028 397 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1029 │ ~1030 │1031 └─ lib/phoenix/live_dashboard/system_info.ex:397:4010321033 warning: using single-quoted strings to represent charlists is deprecated.1034 Use ~c"" if you indeed want a charlist or use "" instead.1035 You may run "mix format --migrate" to change all single-quoted1036 strings to use the ~c sigil and fix this warning.1037 │1038 543 │ [{'none', 0, 0}] -> []1039 │ ~1040 │1041 └─ lib/phoenix/live_dashboard/system_info.ex:543:1110421043warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1044 lib/phoenix/live_dashboard/page_live.ex:211: Phoenix.LiveDashboard.PageLive.render_page/310451046warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1047 lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/310481049warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1050 lib/phoenix/live_dashboard/components/nav_bar_component.ex:142: Phoenix.LiveDashboard.NavBarComponent.render_content/310511052warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1053 lib/phoenix/live_dashboard/components/card_usage_component.ex:7: Phoenix.LiveDashboard.CardUsageComponent.render/110541055 warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:10561057 Phoenix.LiveView.Helpers.__live_component__(1058 component.__live__(),1059 Phoenix.LiveDashboard.ModalComponent,1060 nil1061 )10621063 given types:10641065 dynamic(), -Phoenix.LiveDashboard.ModalComponent-, nil10661067 but expected one of:10681069 (1070 %{..., kind: :component, module: term()},1071 empty_list() or map() or non_empty_list(term(), term()),1072 term()1073 )10741075 where "component" (context Phoenix.LiveView.Helpers) was given the types:10761077 # type: dynamic(not %Phoenix.LiveView.Socket{})1078 # from: lib/phoenix/live_dashboard/page_live.ex:2361079 component10801081 # type: dynamic(atom())1082 # from: lib/phoenix/live_dashboard/page_live.ex:2361083 component.__live__()10841085 type warning found at:1086 │1087 236 │ live_component(socket, Phoenix.LiveDashboard.ModalComponent, modal_opts)1088 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1089 │1090 └─ lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/310911092 warning: the following clause will never match:10931094 %{__changed__: changed} when track_changes? ->10951096 because it attempts to match on the result of:10971098 assigns10991100 which has type:11011102 dynamic(%{text: term()})11031104 where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:11051106 # type: dynamic(true)1107 # from: lib/phoenix/live_dashboard/page_live.ex:3121108 track_changes?11091110 type warning found at:1111 │1112 312 │ ~L"""1113 │ ~~~~~1114 │1115 └─ lib/phoenix/live_dashboard/page_live.ex:312: Phoenix.LiveDashboard.PageLive.maybe_link/311161117 warning: the following clause will never match:11181119 %{__changed__: changed} when track_changes? ->11201121 because it attempts to match on the result of:11221123 assigns11241125 which has type:11261127 dynamic(%{more_info_url: term(), text: term()})11281129 where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:11301131 # type: dynamic(true)1132 # from: lib/phoenix/live_dashboard/page_live.ex:3221133 track_changes?11341135 type warning found at:1136 │1137 322 │ ~L"""1138 │ ~~~~~1139 │1140 └─ lib/phoenix/live_dashboard/page_live.ex:322: Phoenix.LiveDashboard.PageLive.maybe_link/311411142 warning: the following clause will never match:11431144 %{__changed__: changed} when track_changes? ->11451146 because it attempts to match on the result of:11471148 assigns11491150 which has type:11511152 dynamic(%{checked_param: binary()})11531154 where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:11551156 # type: dynamic(true)1157 # from: lib/phoenix/live_dashboard/pages/request_logger_page.ex:1781158 track_changes?11591160 type warning found at:1161 │1162 178 │ ~L"""1163 │ ~~~~~1164 │1165 └─ lib/phoenix/live_dashboard/pages/request_logger_page.ex:178: Phoenix.LiveDashboard.RequestLoggerPage.autoscroll_checkbox/111661167 warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:11681169 Phoenix.LiveView.Helpers.__live_component__(1170 component.__live__(),1171 Phoenix.LiveDashboard.ColorBarComponent,1172 nil1173 )11741175 given types:11761177 dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil11781179 but expected one of:11801181 (1182 %{..., kind: :component, module: term()},1183 empty_list() or map() or non_empty_list(term(), term()),1184 term()1185 )11861187 where "component" (context Phoenix.LiveView.Helpers) was given the types:11881189 # type: dynamic(not %Phoenix.LiveView.Socket{})1190 # from: lib/phoenix/live_dashboard/pages/home_page.ex:2061191 component11921193 # type: dynamic(atom())1194 # from: lib/phoenix/live_dashboard/pages/home_page.ex:2061195 component.__live__()11961197 type warning found at:1198 │1199 206 │ <%= live_component @socket, ColorBarComponent, data: memory_usage_sections_percent(@system_usage.memory, @system_usage.memory.total), csp_nonces: @csp_nonces, dom_id: "system_usage_memory_total" %>1200 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1201 │1202 └─ lib/phoenix/live_dashboard/pages/home_page.ex:206: Phoenix.LiveDashboard.HomePage.render/112031204 warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:12051206 Phoenix.LiveView.Helpers.__live_component__(1207 component.__live__(),1208 Phoenix.LiveDashboard.ChartComponent,1209 nil1210 )12111212 given types:12131214 dynamic(), -Phoenix.LiveDashboard.ChartComponent-, nil12151216 but expected one of:12171218 (1219 %{..., kind: :component, module: term()},1220 empty_list() or map() or non_empty_list(term(), term()),1221 term()1222 )12231224 where "component" (context Phoenix.LiveView.Helpers) was given the types:12251226 # type: dynamic(not %Phoenix.LiveView.Socket{})1227 # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:761228 component12291230 # type: dynamic(atom())1231 # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:761232 component.__live__()12331234 type warning found at:1235 │1236 76 │ <%= live_component @socket, ChartComponent, id: id, metric: metric %>1237 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1238 │1239 └─ lib/phoenix/live_dashboard/pages/metrics_page.ex:76: Phoenix.LiveDashboard.MetricsPage.render_metrics/112401241 warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:12421243 Phoenix.LiveView.Helpers.__live_component__(1244 component.__live__(),1245 Phoenix.LiveDashboard.ColorBarComponent,1246 nil1247 )12481249 given types:12501251 dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil12521253 but expected one of:12541255 (1256 %{..., kind: :component, module: term()},1257 empty_list() or map() or non_empty_list(term(), term()),1258 term()1259 )12601261 where "component" (context Phoenix.LiveView.Helpers) was given the types:12621263 # type: dynamic(not %Phoenix.LiveView.Socket{})1264 # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1911265 component12661267 # type: dynamic(atom())1268 # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1911269 component.__live__()12701271 type warning found at:1272 │1273 191 │ <%= live_component @socket, ColorBarComponent, dom_id: "cpu-#{num_cpu}", data: cpu_usage_sections(usage), title: "CPU #{num_cpu+1}", csp_nonces: @csp_nonces %>1274 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1275 │1276 └─ lib/phoenix/live_dashboard/pages/os_mon_page.ex:191: Phoenix.LiveDashboard.OSMonPage.render/112771278 warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1279 │1280 8 │ Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)1281 │ ~1282 │1283 └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/212841285 warning: the following clause will never match:12861287 %{__changed__: changed} when track_changes? ->12881289 because it attempts to match on the result of:12901291 assigns12921293 which has type:12941295 dynamic(%{block: term()})12961297 where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:12981299 # type: dynamic(true)1300 # from: lib/phoenix/live_dashboard/helpers.ex:2081301 track_changes?13021303 type warning found at:1304 │1305 208 │ ~L"""1306 │ ~~~~~1307 │1308 └─ lib/phoenix/live_dashboard/helpers.ex:208: Phoenix.LiveDashboard.Helpers.hint/113091310Generated phoenix_live_dashboard app1311==> ecto_network1312Compiling 4 files (.ex)1313 warning: this clause in cond will always match:13141315 address_netmask(inet.address)13161317 since it has type:13181319 integer()13201321 where "inet" was given the type:13221323 # type: dynamic(%Postgrex.INET{})1324 # from: lib/ecto_network/inet.ex:53:291325 %Postgrex.INET{} = inet13261327 type warning found at:1328 │1329 57 │ address_netmask(inet.address) -> %{inet | netmask: address_netmask(inet.address)}1330 │ ~1331 │1332 └─ lib/ecto_network/inet.ex:57:39: EctoNetwork.INET.load/113331334Generated ecto_network app1335warning: the :gettext compiler is no longer required in your mix.exs.13361337Please find the following line in your mix.exs and remove the :gettext entry:13381339 compilers: [..., :gettext, ...] ++ Mix.compilers(),13401341 (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11342 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51343 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21344 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41345 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21346 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/513471348==> mppm1349Compiling 76 files (.ex)1350 warning: an expression is always required on the right side of ->. Please provide a value after ->1351 │1352 48 │ _ ->1353 │ ~1354 │1355 └─ lib/mppm/application.ex:48:1113561357 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1358 │1359 5 │ @root_path Application.get_env(:mppm, :game_servers_root_path)1360 │ ~1361 │1362 └─ lib/mppm/application.ex:5:26: Mppm.Application (module)13631364 warning: binary construction will fail because of a type mismatch1365 │1366 63 │ {:ok, _} = File.cp_r("./priv/default_tracks/", @root_path<>"/UserData/Maps/MX", fn _, _ -> false end)1367 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1368 │1369 └─ lib/mppm/application.ex:6313701371 warning: binary construction will fail because of a type mismatch1372 │1373 61 │ if {:ok, []} == File.ls(@root_path<>"/UserData/Maps/MX") do1374 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1375 │1376 └─ lib/mppm/application.ex:6113771378 warning: binary construction will fail because of a type mismatch1379 │1380 53 │ try do Port.open({:spawn_executable, @root_path<>"/TrackmaniaServer"}, [:binary, args: ["/nodaemon"]])1381 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1382 │1383 └─ lib/mppm/application.ex:5313841385 warning: an expression is always required on the right side of ->. Please provide a value after ->1386 │1387 99 │ _unhandled_message ->1388 │ ~1389 │1390 └─ lib/mppm/broker/receiver_server.ex:99:2813911392 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1393 │1394 55 │ <<message::binary-size(size), next_message::binary>> = msg1395 │ ~1396 │1397 └─ lib/mppm/broker/receiver_server.ex:55:32: Mppm.Broker.ReceiverServer.parse_new_packet/213981399 warning: the variable "missing_bytes" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1400 │1401 75 │ <<end_of_message::binary-size(missing_bytes), next_message::binary>> = binary1402 │ ~1403 │1404 └─ lib/mppm/broker/receiver_server.ex:75:39: Mppm.Broker.ReceiverServer.parse_message_next_packet/314051406 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.14071408 This error happens when you have function calls without parentheses inside keywords. For example:14091410 function(arg, one: nested_call a, b, c)1411 function(arg, one: if expr, do: :this, else: :that)14121413 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:14141415 function(arg, one: if(expr, do: :this, else: :that))1416 function(arg, one: nested_call(a, b, c))14171418 Ambiguity found at:1419 │1420 116 │ from u in Mppm.User, where: u.uuid == ^uuid1421 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1422 │1423 └─ lib/mppm/data/user.ex:11614241425 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.14261427 This error happens when you have function calls without parentheses inside keywords. For example:14281429 function(arg, one: nested_call a, b, c)1430 function(arg, one: if expr, do: :this, else: :that)14311432 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:14331434 function(arg, one: if(expr, do: :this, else: :that))1435 function(arg, one: nested_call(a, b, c))14361437 Ambiguity found at:1438 │1439 119 │ from u in Mppm.User, where: u.login == ^login1440 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1441 │1442 └─ lib/mppm/data/user.ex:11914431444 warning: variable "nickname" is unused (if the variable is not meant to be used, prefix it with an underscore)1445 │1446 15 │ def new_changeset(%User{} = user, %{uuid: uuid, nickname: nickname} = data)1447 │ ~~~~~~~~1448 │1449 └─ lib/mppm/data/user.ex:15:61: Mppm.User.new_changeset/214501451 warning: variable "nickname" is unused (if the variable is not meant to be used, prefix it with an underscore)1452 │1453 22 │ def new_changeset(%User{} = user, %{login: login, nickname: nickname} = data)1454 │ ~~~~~~~~1455 │1456 └─ lib/mppm/data/user.ex:22:63: Mppm.User.new_changeset/214571458 warning: using single-quoted strings to represent charlists is deprecated.1459 Use ~c"" if you indeed want a charlist or use "" instead.1460 You may run "mix format --migrate" to change all single-quoted1461 strings to use the ~c sigil and fix this warning.1462 │1463 32 │ res = :os.cmd('ss -lpn | grep "pid=#{pid}" | awk {\'print$5\'} | cut -d: -f2')1464 │ ~1465 │1466 └─ lib/mppm/game_server/server.ex:32:1914671468 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1469 │1470 7 │ @root_path Application.get_env(:mppm, :game_servers_root_path)1471 │ ~1472 │1473 └─ lib/mppm/game_server/server.ex:7:26: Mppm.GameServer.Server (module)14741475 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1476 │1477 8 │ @config Application.get_env(:mppm, Mppm.Trackmania)1478 │ ~1479 │1480 └─ lib/mppm/game_server/server.ex:8:23: Mppm.GameServer.Server (module)14811482 warning: using single-quoted strings to represent charlists is deprecated.1483 Use ~c"" if you indeed want a charlist or use "" instead.1484 You may run "mix format --migrate" to change all single-quoted1485 strings to use the ~c sigil and fix this warning.1486 │1487 31 │ @trackmania 'TrackmaniaServer'1488 │ ~1489 │1490 └─ lib/mppm/game_server/starter.ex:31:1514911492 warning: using single-quoted strings to represent charlists is deprecated.1493 Use ~c"" if you indeed want a charlist or use "" instead.1494 You may run "mix format --migrate" to change all single-quoted1495 strings to use the ~c sigil and fix this warning.1496 │1497 61 │ :os.cmd('ps -aux | grep ' ++ @trackmania)1498 │ ~1499 │1500 └─ lib/mppm/game_server/starter.ex:61:1315011502 warning: using single-quoted strings to represent charlists is deprecated.1503 Use ~c"" if you indeed want a charlist or use "" instead.1504 You may run "mix format --migrate" to change all single-quoted1505 strings to use the ~c sigil and fix this warning.1506 │1507 75 │ :os.cmd('netstat -antp | grep #{pid}/ | awk \'{print $4}\'')1508 │ ~1509 │1510 └─ lib/mppm/game_server/starter.ex:75:1515111512 warning: using single-quoted strings to represent charlists is deprecated.1513 Use ~c"" if you indeed want a charlist or use "" instead.1514 You may run "mix format --migrate" to change all single-quoted1515 strings to use the ~c sigil and fix this warning.1516 │1517 93 │ :os.cmd('ps -aux | grep '++@trackmania)1518 │ ~1519 │1520 └─ lib/mppm/game_server/starter.ex:93:1315211522 warning: variable "ss" is unused (if the variable is not meant to be used, prefix it with an underscore)1523 │1524 153 │ def handle_cast({:relink_orphan_process, {login, pid, xmlrpc_port} = ss}, state) do1525 │ ~~1526 │1527 └─ lib/mppm/game_server/server.ex:153:72: Mppm.GameServer.Server.handle_cast/215281529 warning: using single-quoted strings to represent charlists is deprecated.1530 Use ~c"" if you indeed want a charlist or use "" instead.1531 You may run "mix format --migrate" to change all single-quoted1532 strings to use the ~c sigil and fix this warning.1533 │1534 176 │ {:name, [], ['SuperAdmin']},1535 │ ~1536 │1537 └─ lib/mppm/server_config.ex:176:2215381539 warning: using single-quoted strings to represent charlists is deprecated.1540 Use ~c"" if you indeed want a charlist or use "" instead.1541 You may run "mix format --migrate" to change all single-quoted1542 strings to use the ~c sigil and fix this warning.1543 │1544 180 │ {:name, [], ['Admin']},1545 │ ~1546 │1547 └─ lib/mppm/server_config.ex:180:2215481549 warning: using single-quoted strings to represent charlists is deprecated.1550 Use ~c"" if you indeed want a charlist or use "" instead.1551 You may run "mix format --migrate" to change all single-quoted1552 strings to use the ~c sigil and fix this warning.1553 │1554 184 │ {:name, [], ['User']},1555 │ ~1556 │1557 └─ lib/mppm/server_config.ex:184:2215581559 warning: using single-quoted strings to represent charlists is deprecated.1560 Use ~c"" if you indeed want a charlist or use "" instead.1561 You may run "mix format --migrate" to change all single-quoted1562 strings to use the ~c sigil and fix this warning.1563 │1564 356 │ defp charlist(true), do: ['True']1565 │ ~1566 │1567 └─ lib/mppm/server_config.ex:356:2915681569 warning: using single-quoted strings to represent charlists is deprecated.1570 Use ~c"" if you indeed want a charlist or use "" instead.1571 You may run "mix format --migrate" to change all single-quoted1572 strings to use the ~c sigil and fix this warning.1573 │1574 357 │ defp charlist(false), do: ['False']1575 │ ~1576 │1577 └─ lib/mppm/server_config.ex:357:3015781579 warning: using single-quoted strings to represent charlists is deprecated.1580 Use ~c"" if you indeed want a charlist or use "" instead.1581 You may run "mix format --migrate" to change all single-quoted1582 strings to use the ~c sigil and fix this warning.1583 │1584 369 │ 'ls #{@root_path}UserData/Packs/'1585 │ ~1586 │1587 └─ lib/mppm/server_config.ex:369:515881589 warning: using single-quoted strings to represent charlists is deprecated.1590 Use ~c"" if you indeed want a charlist or use "" instead.1591 You may run "mix format --migrate" to change all single-quoted1592 strings to use the ~c sigil and fix this warning.1593 │1594 379 │ 'ls /opt/mppm/'1595 │ ~1596 │1597 └─ lib/mppm/server_config.ex:379:515981599 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1600 │1601 15 │ @root_path Application.get_env(:mppm, :game_servers_root_path)1602 │ ~1603 │1604 └─ lib/mppm/server_config.ex:15:26: Mppm.ServerConfig (module)160516061607== Compilation error in file lib/mppm/server_config.ex ==1608** (ArgumentError) lib file xmerl/include/xmerl.hrl could not be found1609 (elixir 1.20.3) lib/record/extractor.ex:45: Record.Extractor.from_lib_file/11610 (elixir 1.20.3) lib/record/extractor.ex:22: Record.Extractor.from_or_from_lib_file/11611 (elixir 1.20.3) lib/record/extractor.ex:9: Record.Extractor.extract/21612 lib/mppm/server_config.ex:10: (module)1613could not compile dependency :mppm, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile mppm --force", update it with "mix deps.update mppm" or clean it with "mix deps.clean mppm"