Build log
nerves_system_mangopi_mq_pro
ex_ussd_simulator 0.1.4 · fail · run ex_ussd_simulator-0.1.4-1791178964357
1604 of 1604 lines
1Resolving Hex dependencies...2Resolution completed in 0.35s3Unchanged: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 elixir_make 0.10.019 ex_ussd_simulator 0.1.420 hackney 1.25.0 VULNERABLE!21 EEF-CVE-2026-47071 (HIGH)22 aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr23 SOCKS5 TLS upgrade ignores caller timeout in hackney24 https://osv.dev/vulnerability/EEF-CVE-2026-470712526 EEF-CVE-2026-47076 (MEDIUM)27 aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq28 SSRF allowlist bypass via percent-encoded host in hackney29 https://osv.dev/vulnerability/EEF-CVE-2026-470763031 EEF-CVE-2026-47069 (LOW)32 aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw233 CRLF injection in cookie domain/path options in hackney34 https://osv.dev/vulnerability/EEF-CVE-2026-470693536 EEF-CVE-2026-47075 (MEDIUM)37 aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf38 CR/LF injection in query parameter in hackney39 https://osv.dev/vulnerability/EEF-CVE-2026-4707540 httpoison 1.8.241 idna 6.1.142 interactive_cmd 0.1.443 jason 1.4.544 metrics 1.0.145 mime 2.0.746 mimerl 1.5.047 nerves 2.0.0-pre.248 nerves_discovery 0.1.549 nerves_logging 0.2.450 nerves_runtime 0.13.1351 nerves_system_bbb 2.30.252 nerves_system_br 1.34.453 nerves_system_mangopi_mq_pro 0.17.254 nerves_system_qemu_aarch64 0.4.255 nerves_system_rpi0 2.1.256 nerves_system_rpi4 2.1.257 nerves_system_rpi5 2.1.258 nerves_system_trellis 0.5.059 nerves_system_x86_64 1.34.260 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.161 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.162 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.163 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.164 nerves_toolchain_x86_64_nerves_linux_musl 15.3.165 nerves_uevent 0.1.766 parse_trans 3.4.167 phoenix 1.5.15 VULNERABLE!68 GHSA-p8f7-22gq-m7j9 (HIGH)69 aka: CVE-2022-4297570 Phoenix before 1.6.14 mishandles check_origin wildcarding71 https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j972 phoenix_html 2.14.3 VULNERABLE!73 GHSA-5g2h-9x5v-5h3x (MEDIUM)74 aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q275 phoenix_html allows Cross-site Scripting in HEEx class attributes76 https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x77 phoenix_live_view 0.15.7 VULNERABLE!78 EEF-CVE-2026-64941 (LOW)79 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf80 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR81 https://osv.dev/vulnerability/EEF-CVE-2026-6494182 phoenix_pubsub 2.3.083 plug 1.20.384 plug_cowboy 2.9.085 plug_crypto 1.2.586 property_table 0.3.487 ranch 2.3.088 ring_logger 0.11.789 ssl_verify_fun 1.1.790 tablet 0.3.391 telemetry 0.4.392 toolshed 0.5.093 uboot_env 1.0.294 unicode_util_compat 0.7.195* Getting ex_ussd_simulator (Hex package)96* Getting nerves (Hex package)97* Getting ring_logger (Hex package)98* Getting toolshed (Hex package)99* Getting nerves_runtime (Hex package)100* Getting nerves_system_bbb (Hex package)101* Getting nerves_system_mangopi_mq_pro (Hex package)102* Getting nerves_system_qemu_aarch64 (Hex package)103* Getting nerves_system_rpi0 (Hex package)104* Getting nerves_system_rpi4 (Hex package)105* Getting nerves_system_rpi5 (Hex package)106* Getting nerves_system_trellis (Hex package)107* Getting nerves_system_x86_64 (Hex package)108* Getting nerves_system_br (Hex package)109* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)110* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)111* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)112* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)113* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)114* Getting nerves_logging (Hex package)115* Getting nerves_uevent (Hex package)116* Getting uboot_env (Hex package)117* Getting elixir_make (Hex package)118* Getting property_table (Hex package)119* Getting circular_buffer (Hex package)120* Getting interactive_cmd (Hex package)121* Getting nerves_discovery (Hex package)122* Getting tablet (Hex package)123* Getting httpoison (Hex package)124* Getting jason (Hex package)125* Getting phoenix (Hex package)126* Getting phoenix_html (Hex package)127* Getting phoenix_live_view (Hex package)128* Getting plug_cowboy (Hex package)129* Getting cowboy (Hex package)130* Getting cowboy_telemetry (Hex package)131* Getting plug (Hex package)132* Getting mime (Hex package)133* Getting plug_crypto (Hex package)134* Getting telemetry (Hex package)135* Getting cowlib (Hex package)136* Getting ranch (Hex package)137* Getting phoenix_pubsub (Hex package)138* Getting hackney (Hex package)139* Getting certifi (Hex package)140* Getting idna (Hex package)141* Getting metrics (Hex package)142* Getting mimerl (Hex package)143* Getting parse_trans (Hex package)144* Getting ssl_verify_fun (Hex package)145* Getting unicode_util_compat (Hex package)146Found packages with security advisories, see above for details147You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more148==> nerves_system_br149Generated nerves_system_br app150==> mime151Compiling 1 file (.ex)152Generated mime app153==> circular_buffer154Compiling 1 file (.ex)155Generated circular_buffer app156==> jason157Compiling 10 files (.ex)158Generated jason app159==> plug_crypto160Compiling 5 files (.ex)161Generated plug_crypto app162==> nerves_compatibility_test163===> Analyzing applications...164===> Compiling mimerl165===> Analyzing applications...166===> Compiling ranch167==> ssl_verify_fun168Compiling 7 files (.erl)169Generated ssl_verify_fun app170==> tablet171Compiling 2 files (.ex)172Generated tablet app173==> elixir_make174Compiling 8 files (.ex)175Generated elixir_make app176==> nerves_logging177 CC kmsg_tailer.o178 LD kmsg_tailer179Compiling 5 files (.ex)180Generated nerves_logging app181==> nerves_compatibility_test182===> Analyzing applications...183===> Compiling cowlib184==> nerves_discovery185Compiling 5 files (.ex)186Generated nerves_discovery app187==> ring_logger188Compiling 7 files (.ex)189Generated ring_logger app190==> interactive_cmd191Compiling 1 file (.ex)192Generated interactive_cmd app193==> nerves194Compiling 65 files (.ex)195 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)196 │197 6 │ defmodule Mix.Tasks.Nerves.Init do198 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~199 │200 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)201202 warning: redefining module Nerves (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.beam)203 │204 6 │ defmodule Nerves do205 │ ~~~~~~~~~~~~~~~~~~~206 │207 └─ lib/nerves.ex:6: Nerves (module)208209 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)210 │211 5 │ defmodule Nerves.ArtifactResolver do212 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~213 │214 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)215216 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)217 │218 6 │ defmodule Nerves.BuildAction.AppModes do219 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~220 │221 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)222223 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)224 │225 5 │ defmodule Nerves.BuildAction.CheckExecutables do226 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~227 │228 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)229230 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)231 │232 8 │ defmodule Nerves.BuildAction.Erlinit do233 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~234 │235 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)236237 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)238 │239 5 │ defmodule Nerves.BuildAction.Firmware do240 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~241 │242 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)243244 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)245 │246 7 │ defmodule Nerves.BuildAction.IExStartupCheck do247 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~248 │249 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)250251 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)252 │253 5 │ defmodule Nerves.BuildAction.NervesV1System do254 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~255 │256 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)257258 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)259 │260 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do261 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~262 │263 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)264265 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)266 │267 5 │ defmodule Nerves.BuildAction.Rootfs do268 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~269 │270 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)271272 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)273 │274 6 │ defmodule Nerves.BuildAction.SortApps do275 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~276 │277 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)278279 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)280 │281 5 │ defmodule Nerves.BuildAction.StripAll do282 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~283 │284 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)285286 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)287 │288 5 │ defmodule Nerves.BuildAction.Trimmer do289 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~290 │291 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)292293 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)294 │295 5 │ defmodule Nerves.BuildPlan do296 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~297 │298 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)299300 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)301 │302 5 │ defmodule Nerves.BuildPlan.Checks do303 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~304 │305 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)306307 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.Container.beam)308 │309 6 │ defmodule Nerves.Container do310 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~311 │312 └─ lib/nerves/container.ex:6: Nerves.Container (module)313314 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)315 │316 5 │ defmodule Nerves.Fingerprint do317 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~318 │319 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)320321 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)322 │323 5 │ defmodule Nerves.MixPackage do324 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~325 │326 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)327328 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.Paths.beam)329 │330 5 │ defmodule Nerves.Paths do331 │ ~~~~~~~~~~~~~~~~~~~~~~~~~332 │333 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)334335 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)336 │337 5 │ defmodule Nerves.TargetTuple do338 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~339 │340 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)341342Generated nerves app343==> nerves_toolchain_riscv64_nerves_linux_gnu344Compiling 1 file (.ex)345Generated nerves_toolchain_riscv64_nerves_linux_gnu app346==> nerves_system_mangopi_mq_pro347Generated nerves_system_mangopi_mq_pro app348==> nerves_compatibility_test349===> Analyzing applications...350===> Compiling unicode_util_compat351===> Analyzing applications...352===> Compiling idna353===> Analyzing applications...354===> Compiling telemetry355===> Analyzing applications...356===> Compiling cowboy357==> phoenix_pubsub358Compiling 12 files (.ex)359Generated phoenix_pubsub app360==> nerves_compatibility_test361===> Analyzing applications...362===> Compiling certifi363==> plug364Compiling 1 file (.erl)365Compiling 42 files (.ex)366Generated plug app367==> phoenix_html368Compiling 8 files (.ex)369 warning: using single-quoted strings to represent charlists is deprecated.370 Use ~c"" if you indeed want a charlist or use "" instead.371 You may run "mix format --migrate" to change all single-quoted372 strings to use the ~c sigil and fix this warning.373 │374 12 │ @anno (if :erlang.system_info(:otp_release) >= '19' do375 │ ~376 │377 └─ lib/phoenix_html/engine.ex:12:50378379 warning: the 1st pattern in clause will never match:380381 60382383 because it is expected to receive type:384385 dynamic(empty_list() or non_empty_list(term(), term()))386387 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())388389 type warning found at:390 │391 56 │ def to_iodata(?<), do: "<"392 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~393 │394 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1395396 warning: the 1st pattern in clause will never match:397398 62399400 because it is expected to receive type:401402 dynamic(empty_list() or non_empty_list(term(), term()))403404 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())405406 type warning found at:407 │408 57 │ def to_iodata(?>), do: ">"409 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~410 │411 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1412413 warning: the 1st pattern in clause will never match:414415 38416417 because it is expected to receive type:418419 dynamic(empty_list() or non_empty_list(term(), term()))420421 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())422423 type warning found at:424 │425 58 │ def to_iodata(?&), do: "&"426 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~427 │428 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1429430 warning: the 1st pattern in clause will never match:431432 34433434 because it is expected to receive type:435436 dynamic(empty_list() or non_empty_list(term(), term()))437438 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())439440 type warning found at:441 │442 59 │ def to_iodata(?"), do: """443 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~444 │445 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1446447 warning: the 1st pattern in clause will never match:448449 39450451 because it is expected to receive type:452453 dynamic(empty_list() or non_empty_list(term(), term()))454455 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())456457 type warning found at:458 │459 60 │ def to_iodata(?'), do: "'"460 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~461 │462 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1463464 warning: the 1st pattern in clause will never match:465466 {:safe, data}467468 because it is expected to receive type:469470 dynamic(empty_list() or non_empty_list(term(), term()))471472 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())473474 type warning found at:475 │476 76 │ def to_iodata({:safe, data}) do477 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~478 │479 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1480481 warning: the following clause is redundant:482483 def to_iodata(other)484485 it has type:486487 dynamic(empty_list() or non_empty_list(term(), term()))488489 previous clauses have already matched on the following types:490491 non_empty_list(term(), term())492 empty_list()493494 │495 80 │ def to_iodata(other) do496 │ ~497 │498 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1499500 warning: the 1st pattern in clause will never match:501502 h503504 because it is expected to receive type:505506 dynamic(empty_list() or non_empty_list(term(), term()))507508 where "h" was given the type:509510 # type: integer()511 # from: lib/phoenix_html/safe.ex:62:25512 is_integer(h)513514 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())515516 type warning found at:517 │518 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do519 │ ~520 │521 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1522523 warning: the 1st pattern in clause will never match:524525 h526527 because it is expected to receive type:528529 dynamic(empty_list() or non_empty_list(term(), term()))530531 where "h" was given the type:532533 # type: integer()534 # from: lib/phoenix_html/safe.ex:66:25535 is_integer(h)536537 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())538539 type warning found at:540 │541 66 │ def to_iodata(h) when is_integer(h) do542 │ ~543 │544 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1545546 warning: the 1st pattern in clause will never match:547548 h549550 because it is expected to receive type:551552 dynamic(empty_list() or non_empty_list(term(), term()))553554 where "h" was given the type:555556 # type: binary()557 # from: lib/phoenix_html/safe.ex:72:25558 is_binary(h)559560 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())561562 type warning found at:563 │564 72 │ def to_iodata(h) when is_binary(h) do565 │ ~566 │567 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1568569Generated phoenix_html app570==> nerves_compatibility_test571===> Analyzing applications...572===> Compiling parse_trans573==> uboot_env574Compiling 5 files (.ex)575Generated uboot_env app576==> nerves_compatibility_test577===> Analyzing applications...578===> Compiling metrics579===> Analyzing applications...580===> Compiling hackney581 ┌─ src/hackney_manager.erl:582 │583 114 │ catch ets:delete(?MODULE, Ref),584 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.585Compile directive 'nowarn_deprecated_catch' can be used to suppress586warnings in selected modules.587588 ┌─ src/hackney_manager.erl:589 │590 125 │ catch Transport:close(Socket);591 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.592Compile directive 'nowarn_deprecated_catch' can be used to suppress593warnings in selected modules.594595 ┌─ src/hackney_manager.erl:596 │597 129 │ catch Handler:checkin(SocketRef, Socket)598 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.599Compile directive 'nowarn_deprecated_catch' can be used to suppress600warnings in selected modules.601602 ┌─ src/hackney_manager.erl:603 │604 133 │ catch Transport:controlling_process(Socket, self()),605 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.606Compile directive 'nowarn_deprecated_catch' can be used to suppress607warnings in selected modules.608609 ┌─ src/hackney_manager.erl:610 │611 134 │ catch Transport:close(Socket),612 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.613Compile directive 'nowarn_deprecated_catch' can be used to suppress614warnings in selected modules.615616 ┌─ src/hackney_manager.erl:617 │618 227 │ catch ets:delete(?MODULE, Ref),619 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.620Compile directive 'nowarn_deprecated_catch' can be used to suppress621warnings in selected modules.622623 ┌─ src/hackney_manager.erl:624 │625 255 │ catch ets:delete(?MODULE, Ref),626 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.627Compile directive 'nowarn_deprecated_catch' can be used to suppress628warnings in selected modules.629630 ┌─ src/hackney_manager.erl:631 │632 269 │ catch Transport:controlling_process(Socket, self()),633 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.634Compile directive 'nowarn_deprecated_catch' can be used to suppress635warnings in selected modules.636637 ┌─ src/hackney_manager.erl:638 │639 270 │ catch Transport:close(Socket),640 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.641Compile directive 'nowarn_deprecated_catch' can be used to suppress642warnings in selected modules.643644 ┌─ src/hackney_manager.erl:645 │646 383 │ catch unlink(Stream),647 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.648Compile directive 'nowarn_deprecated_catch' can be used to suppress649warnings in selected modules.650651 ┌─ src/hackney_manager.erl:652 │653 416 │ catch ets:delete(?REFS, Ref),654 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.655Compile directive 'nowarn_deprecated_catch' can be used to suppress656warnings in selected modules.657658 ┌─ src/hackney_manager.erl:659 │660 426 │ catch ets:delete(?REFS, Ref),661 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.662Compile directive 'nowarn_deprecated_catch' can be used to suppress663warnings in selected modules.664665 ┌─ src/hackney_manager.erl:666 │667 470 │ case catch hackney_stream:start_link(StreamTo2, Ref, Client) of668 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.669Compile directive 'nowarn_deprecated_catch' can be used to suppress670warnings in selected modules.671672 ┌─ src/hackney_manager.erl:673 │674 487 │ catch Transport:close(Socket),675 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.676Compile directive 'nowarn_deprecated_catch' can be used to suppress677warnings in selected modules.678679 ┌─ src/hackney_manager.erl:680 │681 543 │ catch ets:delete(?REFS, Ref),682 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.683Compile directive 'nowarn_deprecated_catch' can be used to suppress684warnings in selected modules.685686 ┌─ src/hackney_manager.erl:687 │688 544 │ catch ets:delete(?MODULE, Ref),689 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.690Compile directive 'nowarn_deprecated_catch' can be used to suppress691warnings in selected modules.692693 ┌─ src/hackney_manager.erl:694 │695 559 │ catch ets:delete(?REFS, Ref),696 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.697Compile directive 'nowarn_deprecated_catch' can be used to suppress698warnings in selected modules.699700 ┌─ src/hackney_manager.erl:701 │702 560 │ catch ets:delete(?MODULE, Ref),703 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.704Compile directive 'nowarn_deprecated_catch' can be used to suppress705warnings in selected modules.706707 ┌─ src/hackney_manager.erl:708 │709 618 │ catch unlink(Pid),710 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.711Compile directive 'nowarn_deprecated_catch' can be used to suppress712warnings in selected modules.713714715 ┌─ src/hackney_happy.erl:716 │717 101 │ catch exit(Pid, normal),718 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.719Compile directive 'nowarn_deprecated_catch' can be used to suppress720warnings in selected modules.721722 ┌─ src/hackney_happy.erl:723 │724 128 │ case (catch inet_res:getbyname(Hostname, Type)) of725 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.726Compile directive 'nowarn_deprecated_catch' can be used to suppress727warnings in selected modules.728729 ┌─ src/hackney_happy.erl:730 │731 151 │ case (catch inet:gethostbyname(Hostname, InetType)) of732 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.733Compile directive 'nowarn_deprecated_catch' can be used to suppress734warnings in selected modules.735736737 ┌─ src/hackney_trace.erl:738 │739 132 │ (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),740 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.741Compile directive 'nowarn_deprecated_catch' can be used to suppress742warnings in selected modules.743744 ┌─ src/hackney_trace.erl:745 │746 139 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),747 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.748Compile directive 'nowarn_deprecated_catch' can be used to suppress749warnings in selected modules.750751 ┌─ src/hackney_trace.erl:752 │753 146 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),754 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.755Compile directive 'nowarn_deprecated_catch' can be used to suppress756warnings in selected modules.757758 ┌─ src/hackney_trace.erl:759 │760 147 │ (catch file:close(Fd)),761 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.762Compile directive 'nowarn_deprecated_catch' can be used to suppress763warnings in selected modules.764765 ┌─ src/hackney_trace.erl:766 │767 154 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),768 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.769Compile directive 'nowarn_deprecated_catch' can be used to suppress770warnings in selected modules.771772 ┌─ src/hackney_trace.erl:773 │774 155 │ (catch file:close(Fd)),775 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.776Compile directive 'nowarn_deprecated_catch' can be used to suppress777warnings in selected modules.778779 ┌─ src/hackney_trace.erl:780 │781 161 │ (catch print_hackney_trace(Fd, Sev, Timestamp, Who,782 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.783Compile directive 'nowarn_deprecated_catch' can be used to suppress784warnings in selected modules.785786 ┌─ src/hackney_trace.erl:787 │788 165 │ (catch print_trace(Fd, Event)),789 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.790Compile directive 'nowarn_deprecated_catch' can be used to suppress791warnings in selected modules.792793794 ┌─ src/hackney_pool.erl:795 │796 80 │ case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of797 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.798Compile directive 'nowarn_deprecated_catch' can be used to suppress799warnings in selected modules.800801 ┌─ src/hackney_pool.erl:802 │803 101 │ _ = catch hackney_connection:close(Connection, Socket),804 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.805Compile directive 'nowarn_deprecated_catch' can be used to suppress806warnings in selected modules.807808 ┌─ src/hackney_pool.erl:809 │810 130 │ _ = catch hackney_connection:close(Connection, Socket),811 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.812Compile directive 'nowarn_deprecated_catch' can be used to suppress813warnings in selected modules.814815 ┌─ src/hackney_pool.erl:816 │817 134 │ catch hackney_connection:close(Connection, Socket),818 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.819Compile directive 'nowarn_deprecated_catch' can be used to suppress820warnings in selected modules.821822 ┌─ src/hackney_pool.erl:823 │824 319 │ catch Transport:close(Socket),825 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.826Compile directive 'nowarn_deprecated_catch' can be used to suppress827warnings in selected modules.828829 ┌─ src/hackney_pool.erl:830 │831 417 │ case catch hackney_connection:controlling_process(Connection, S, self()) of832 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.833Compile directive 'nowarn_deprecated_catch' can be used to suppress834warnings in selected modules.835836 ┌─ src/hackney_pool.erl:837 │838 423 │ _ = catch hackney_connection:close(Connection, S),839 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.840Compile directive 'nowarn_deprecated_catch' can be used to suppress841warnings in selected modules.842843 ┌─ src/hackney_pool.erl:844 │845 444 │ catch hackney_connection:close(Connection, Socket),846 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.847Compile directive 'nowarn_deprecated_catch' can be used to suppress848warnings in selected modules.849850 ┌─ src/hackney_pool.erl:851 │852 543 │ _ = (catch hackney_connection:close(Connection, Socket)),853 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.854Compile directive 'nowarn_deprecated_catch' can be used to suppress855warnings in selected modules.856857858==> property_table859Compiling 8 files (.ex)860Generated property_table app861==> nerves_uevent862 CC uevent.o863 LD uevent864Compiling 5 files (.ex)865Generated nerves_uevent app866==> nerves_runtime867Compiling 14 files (.ex)868Generated nerves_runtime app869==> toolshed870Compiling 5 files (.ex)871Generated toolshed app872==> nerves_compatibility_test873===> Analyzing applications...874===> Compiling cowboy_telemetry875==> plug_cowboy876Compiling 5 files (.ex)877Generated plug_cowboy app878warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"879 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2880 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1881 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5882 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2883 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4884 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2885886==> phoenix887Compiling 66 files (.ex)888 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 operator889 │890 194 │ <<attr::size(prefix)-binary, ":unique">> -> attr891 │ ~892 │893 └─ lib/mix/phoenix/schema.ex:194:20: Mix.Phoenix.Schema.drop_unique/1894895 warning: using single-quoted strings to represent charlists is deprecated.896 Use ~c"" if you indeed want a charlist or use "" instead.897 You may run "mix format --migrate" to change all single-quoted898 strings to use the ~c sigil and fix this warning.899 │900 258 │ notBefore: {:utcTime, '#{not_before}000000Z'},901 │ ~902 │903 └─ lib/mix/tasks/phx.gen.cert.ex:258:33904905 warning: using single-quoted strings to represent charlists is deprecated.906 Use ~c"" if you indeed want a charlist or use "" instead.907 You may run "mix format --migrate" to change all single-quoted908 strings to use the ~c sigil and fix this warning.909 │910 259 │ notAfter: {:utcTime, '#{not_after}000000Z'}911 │ ~912 │913 └─ lib/mix/tasks/phx.gen.cert.ex:259:32914915 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead916 │917 55 │ Logger.warn(918 │ ~919 │920 └─ lib/phoenix/code_reloader/server.ex:55:20: Phoenix.CodeReloader.Server.handle_call/3921922 warning: unused require Logger923 │924 9 │ require Logger925 │ ~926 │927 └─ lib/phoenix/config.ex:9:3928929 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.930931 This error happens when you have function calls without parentheses inside keywords. For example:932933 function(arg, one: nested_call a, b, c)934 function(arg, one: if expr, do: :this, else: :that)935936 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:937938 function(arg, one: if(expr, do: :this, else: :that))939 function(arg, one: nested_call(a, b, c))940941 Ambiguity found at:942 │943 1002 │ defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"944 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~945 │946 └─ lib/phoenix/controller.ex:1002947948 warning: unused require Logger949 │950 240 │ require Logger951 │ ~952 │953 └─ lib/phoenix/endpoint.ex:240:3954955 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead956 │957 1013 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>958 │ ~959 │960 └─ lib/phoenix/controller.ex:1013:14: Phoenix.Controller.warn_if_ajax/1961962 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead963 │964 82 │ Logger.warn "Phoenix.Endpoint.CowboyAdapter is deprecated and it will be removed in next versions. " <>965 │ ~966 │967 └─ lib/phoenix/endpoint/cowboy_adapter.ex:82:12: Phoenix.Endpoint.CowboyAdapter.child_specs/2968969 warning: unused require Phoenix.Endpoint970 │971 6 │ require Phoenix.Endpoint972 │ ~973 │974 └─ lib/phoenix/controller.ex:6:3975976 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead977 │978 71 │ Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")979 │ ~980 │981 └─ lib/phoenix/endpoint/supervisor.ex:71:20: Phoenix.Endpoint.Supervisor.init/1982983 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead984 │985 95 │ Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")986 │ ~987 │988 └─ lib/phoenix/endpoint/supervisor.ex:95:14: Phoenix.Endpoint.Supervisor.init/1989990 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead991 │992 116 │ Logger.warn """993 │ ~994 │995 └─ lib/phoenix/endpoint/supervisor.ex:116:14: Phoenix.Endpoint.Supervisor.pubsub_children/2996997 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead998 │999 166 │ Logger.warn "Phoenix.Endpoint.CowboyHandler is deprecated, please use Phoenix.Endpoint.CowboyAdapter instead"1000 │ ~1001 │1002 └─ lib/phoenix/endpoint/supervisor.ex:166:16: Phoenix.Endpoint.Supervisor.user_adapter/210031004 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1005 │1006 170 │ Logger.warn "The :handler option in #{inspect endpoint} is deprecated, please use :adapter instead"1007 │ ~1008 │1009 └─ lib/phoenix/endpoint/supervisor.ex:170:16: Phoenix.Endpoint.Supervisor.user_adapter/210101011 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1012 │1013 346 │ Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")1014 │ ~1015 │1016 └─ lib/phoenix/endpoint/supervisor.ex:346:14: Phoenix.Endpoint.Supervisor.build_url/210171018 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 operator1019 │1020 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1021 │ ~1022 │1023 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/210241025 warning: using single-quoted strings to represent charlists is deprecated.1026 Use ~c"" if you indeed want a charlist or use "" instead.1027 You may run "mix format --migrate" to change all single-quoted1028 strings to use the ~c sigil and fix this warning.1029 │1030 411 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1031 │ ~1032 │1033 └─ lib/phoenix/router.ex:411:5010341035 warning: unused require Phoenix.Endpoint1036 │1037 19 │ require Phoenix.Endpoint1038 │ ~1039 │1040 └─ lib/phoenix/endpoint/render_errors.ex:19:310411042 warning: using single-quoted strings to represent charlists is deprecated.1043 Use ~c"" if you indeed want a charlist or use "" instead.1044 You may run "mix format --migrate" to change all single-quoted1045 strings to use the ~c sigil and fix this warning.1046 │1047 8 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1048 │ ~1049 │1050 └─ lib/phoenix/router/helpers.ex:8:5010511052 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10531054 This error happens when you have function calls without parentheses inside keywords. For example:10551056 function(arg, one: nested_call a, b, c)1057 function(arg, one: if expr, do: :this, else: :that)10581059 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:10601061 function(arg, one: if(expr, do: :this, else: :that))1062 function(arg, one: nested_call(a, b, c))10631064 Ambiguity found at:1065 │1066 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """1067 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1068 │1069 └─ lib/phoenix/router/resource.ex:7110701071 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1072 │1073 734 │ Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end1074 │ ~1075 │1076 └─ lib/phoenix/socket.ex:734:12: Phoenix.Socket.encode_ignore/210771078 warning: unused require Phoenix.Endpoint1079 │1080 6 │ require Phoenix.Endpoint1081 │ ~1082 │1083 └─ lib/phoenix/channel/server.ex:6:310841085 warning: unused require Phoenix.Endpoint1086 │1087 188 │ require Phoenix.Endpoint1088 │ ~1089 │1090 └─ lib/phoenix/socket.ex:188:310911092 warning: unused require Logger1093 │1094 93 │ require Logger1095 │ ~1096 │1097 └─ lib/phoenix/token.ex:93:310981099 warning: using single-quoted strings to represent charlists is deprecated.1100 Use ~c"" if you indeed want a charlist or use "" instead.1101 You may run "mix format --migrate" to change all single-quoted1102 strings to use the ~c sigil and fix this warning.1103 │1104 178 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1105 │ ~1106 │1107 └─ lib/phoenix/view.ex:178:5011081109 warning: a struct for Plug.Conn is expected on struct update:11101111 %Plug.Conn{conn | state: :sent}11121113 but got type:11141115 dynamic()11161117 where "conn" was given the type:11181119 # type: dynamic()1120 # from: lib/phoenix/endpoint/render_errors.ex:57:171121 conn11221123 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11241125 type warning found at:1126 │1127 61 │ %Plug.Conn{conn | state: :sent}1128 │ ~1129 │1130 └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/511311132 warning: a struct for Plug.Conn is expected on struct update:11331134 %Plug.Conn{conn | query_params: %{}, params: %{}}11351136 but got type:11371138 dynamic(%{..., params: %Plug.Conn.Unfetched{}})11391140 where "conn" was given the types:11411142 # type: dynamic(%{..., params: term()})1143 # from: lib/phoenix/endpoint/render_errors.ex:124:171144 conn.params11451146 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1147 # from: lib/phoenix/endpoint/render_errors.ex:124:171148 conn.params11491150 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11511152 type warning found at:1153 │1154 125 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1155 │ ~1156 │1157 └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/111581159 warning: a struct for Plug.Conn is expected on struct update:11601161 %Plug.Conn{conn | query_params: %{}, params: params}11621163 but got type:11641165 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})11661167 where "conn" was given the types:11681169 # type: dynamic(%{..., params: term()})1170 # from: lib/phoenix/endpoint/render_errors.ex:124:171171 conn.params11721173 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1174 # from: lib/phoenix/endpoint/render_errors.ex:124:171175 conn.params11761177 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11781179 type warning found at:1180 │1181 126 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1182 │ ~1183 │1184 └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/111851186 warning: incompatible types given to socket_children/1:11871188 socket_children(mod)11891190 given types:11911192 -dynamic(atom())-11931194 but expected one of:11951196 %{..., __sockets__: term()}11971198 where "mod" was given the types:11991200 # type: dynamic(atom() or binary())1201 # from: lib/phoenix/endpoint/supervisor.ex:64:411202 defaults(otp_app, mod)12031204 # type: dynamic(atom())1205 # from: lib/phoenix/endpoint/supervisor.ex:68:161206 mod.init(:supervisor, env_conf)12071208 type warning found at:1209 │1210 105 │ socket_children(mod) ++1211 │ ~1212 │1213 └─ lib/phoenix/endpoint/supervisor.ex:105:7: Phoenix.Endpoint.Supervisor.init/112141215 warning: a struct for Plug.Conn is expected on struct update:12161217 %Plug.Conn{conn | params: params}12181219 but got type:12201221 dynamic(%{..., params: map()})12221223 where "conn" was given the type:12241225 # type: dynamic(%{..., params: map()})1226 # from: lib/phoenix/controller.ex:1040:171227 Map.get(conn.params, required_key)12281229 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"12301231 type warning found at:1232 │1233 1047 │ %Plug.Conn{conn | params: params}1234 │ ~1235 │1236 └─ lib/phoenix/controller.ex:1047:5: Phoenix.Controller.scrub_params/212371238Generated phoenix app1239warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1240 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21241 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11242 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51243 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21244 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41245 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212461247==> phoenix_live_view1248Compiling 22 files (.ex)1249 warning: unused require Logger1250 │1251 25 │ require Logger1252 │ ~1253 │1254 └─ lib/phoenix_live_view/socket.ex:25:312551256 warning: unused require Phoenix.ChannelTest1257 │1258 141 │ require Phoenix.ChannelTest1259 │ ~1260 │1261 └─ lib/phoenix_live_view/test/live_view_test.ex:141:312621263 warning: unused require Phoenix.ConnTest1264 │1265 140 │ require Phoenix.ConnTest1266 │ ~1267 │1268 └─ lib/phoenix_live_view/test/live_view_test.ex:140:312691270 warning: unused require Phoenix.ChannelTest1271 │1272 4 │ require Phoenix.ChannelTest1273 │ ~1274 │1275 └─ lib/phoenix_live_view/test/upload_client.ex:4:312761277 warning: unused require Logger1278 │1279 6 │ require Logger1280 │ ~1281 │1282 └─ lib/phoenix_live_view/upload_channel.ex:6:312831284 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12851286 %Phoenix.LiveView.Socket{1287 socket1288 | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1289 }12901291 but got type:12921293 dynamic()12941295 where "socket" was given the type:12961297 # type: dynamic()1298 # from: lib/phoenix_live_view/utils.ex:464:211299 socket13001301 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13021303 type warning found at:1304 │1305 465 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1306 │ ~1307 │1308 └─ lib/phoenix_live_view/utils.ex:465:5: Phoenix.LiveView.Utils.do_mount_opt/313091310 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13111312 %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}13131314 but got type:13151316 dynamic()13171318 where "socket" was given the type:13191320 # type: dynamic()1321 # from: lib/phoenix_live_view/utils.ex:468:211322 socket13231324 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13251326 type warning found at:1327 │1328 469 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1329 │ ~1330 │1331 └─ lib/phoenix_live_view/utils.ex:469:5: Phoenix.LiveView.Utils.do_mount_opt/313321333 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13341335 %Phoenix.LiveView.Socket{1336 socket1337 | assigns: Map.merge(temp_assigns, socket.assigns),1338 private: Map.put(socket.private, :temporary_assigns, temp_assigns)1339 }13401341 but got type:13421343 dynamic()13441345 where "socket" was given the type:13461347 # type: dynamic()1348 # from: lib/phoenix_live_view/utils.ex:478:211349 socket13501351 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13521353 type warning found at:1354 │1355 485 │ %Socket{1356 │ ~1357 │1358 └─ lib/phoenix_live_view/utils.ex:485:5: Phoenix.LiveView.Utils.do_mount_opt/313591360 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13611362 %Phoenix.LiveView.Socket{1363 socket1364 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1365 }13661367 but got type:13681369 dynamic(%{..., assigns: term(), changed: term()})13701371 where "socket" was given the type:13721373 # type: dynamic(%{..., assigns: term(), changed: term()})1374 # from: lib/phoenix_live_view/utils.ex:496:611375 %{assigns: assigns, changed: changed} = socket13761377 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13781379 type warning found at:1380 │1381 497 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1382 │ ~1383 │1384 └─ lib/phoenix_live_view/utils.ex:497:14: Phoenix.LiveView.Utils.render_assigns/113851386 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13871388 %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}13891390 but got type:13911392 dynamic()13931394 where "entry" was given the type:13951396 # type: dynamic()1397 # from: lib/phoenix_live_view/upload_config.ex:341:281398 entry <- conf.entries13991400 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14011402 type warning found at:1403 │1404 341 │ | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1405 │ ~1406 │1407 └─ lib/phoenix_live_view/upload_config.ex:341:49: Phoenix.LiveView.UploadConfig.mark_preflighted/114081409 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14101411 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}14121413 but got type:14141415 dynamic()14161417 where "entry" was given the type:14181419 # type: dynamic()1420 # from: lib/phoenix_live_view/upload_config.ex:541:301421 entry14221423 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14241425 type warning found at:1426 │1427 542 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1428 │ ~1429 │1430 └─ lib/phoenix_live_view/upload_config.ex:542:13: Phoenix.LiveView.UploadConfig.put_valid_entry/214311432 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1433 │1434 56 │ Logger.disable(self())1435 │ ~1436 │1437 └─ lib/phoenix_live_view/test/client_proxy.ex:56:12: Phoenix.LiveViewTest.ClientProxy.init/114381439 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14401441 %Phoenix.LiveView.UploadEntry{entry | valid?: false}14421443 but got type:14441445 dynamic()14461447 where "entry" was given the type:14481449 # type: dynamic()1450 # from: lib/phoenix_live_view/upload_config.ex:554:321451 entry14521453 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14541455 type warning found at:1456 │1457 555 │ entry = %UploadEntry{entry | valid?: false}1458 │ ~1459 │1460 └─ lib/phoenix_live_view/upload_config.ex:555:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/314611462 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:14631464 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}14651466 but got type:14671468 dynamic(%{..., rendered: term()})14691470 where "view" was given the type:14711472 # type: dynamic(%{..., rendered: term()})1473 # from: lib/phoenix_live_view/test/client_proxy.ex:600:241474 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)14751476 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"14771478 type warning found at:1479 │1480 601 │ new_view = %ClientProxy{view | rendered: rendered}1481 │ ~1482 │1483 └─ lib/phoenix_live_view/test/client_proxy.ex:601:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/314841485 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14861487 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}14881489 but got type:14901491 dynamic()14921493 where "entry" was given the type:14941495 # type: dynamic()1496 # from: lib/phoenix_live_view/upload_config.ex:638:421497 entry14981499 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"15001501 type warning found at:1502 │1503 638 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1504 │ ~1505 │1506 └─ lib/phoenix_live_view/upload_config.ex:638:51: Phoenix.LiveView.UploadConfig.cancel_entry/215071508 warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1509 │1510 986 │ Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1511 │ ~1512 │1513 └─ lib/phoenix_live_view/test/client_proxy.ex:986:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31514 └─ lib/phoenix_live_view/test/client_proxy.ex:991:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31515 └─ lib/phoenix_live_view/test/client_proxy.ex:1001:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31516 └─ lib/phoenix_live_view/test/client_proxy.ex:1010:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/315171518 warning: the following clause is redundant:15191520 def to_iodata(%_{} = struct)15211522 it has type:15231524 dynamic(%Phoenix.LiveView.Rendered{})15251526 previous clauses have already matched on the following types:15271528 %Phoenix.LiveView.Rendered{}15291530 │1531 126 │ def to_iodata(%_{} = struct) do1532 │ ~1533 │1534 └─ lib/phoenix_live_view/engine.ex:126:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115351536 warning: the 1st pattern in clause will never match:15371538 nil15391540 because it is expected to receive type:15411542 dynamic(%Phoenix.LiveView.Rendered{})15431544 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}15451546 type warning found at:1547 │1548 130 │ def to_iodata(nil) do1549 │ ~~~~~~~~~~~~~~~~~~~~~1550 │1551 └─ lib/phoenix_live_view/engine.ex:130: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115521553 warning: the following clause is redundant:15541555 def to_iodata(other)15561557 it has type:15581559 dynamic(%Phoenix.LiveView.Rendered{})15601561 previous clauses have already matched on the following types:15621563 %Phoenix.LiveView.Rendered{}15641565 │1566 134 │ def to_iodata(other) do1567 │ ~1568 │1569 └─ lib/phoenix_live_view/engine.ex:134:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115701571Generated phoenix_live_view app1572==> httpoison1573Compiling 3 files (.ex)1574Generated httpoison app1575warning: Phoenix now requires you to explicitly list which engine to use1576for Phoenix JSON encoding. We recommend everyone to upgrade to1577Jason by setting in your config/config.exs:15781579 config :phoenix, :json_library, Jason15801581And then adding {:jason, "~> 1.0"} as a dependency.15821583If instead you would rather continue using Poison, then add to1584your config/config.exs:15851586 config :phoenix, :json_library, Poison15871588 (phoenix 1.5.15) lib/phoenix.ex:38: Phoenix.start/21589 (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/415901591==> ex_ussd_simulator1592Compiling 9 files (.ex)15931594== Compilation error in file lib/endpoint.ex ==1595** (ArgumentError) invalid :json_decoder option. The module Poison is not loaded and could not be found1596 (plug 1.20.3) lib/plug/parsers/json.ex:48: Plug.Parsers.JSON.validate_decoder!/11597 (plug 1.20.3) lib/plug/parsers/json.ex:35: Plug.Parsers.JSON.init/11598 (plug 1.20.3) lib/plug/parsers.ex:283: anonymous fn/2 in Plug.Parsers.convert_parsers/21599 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21600 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21601 (plug 1.20.3) lib/plug/parsers.ex:263: Plug.Parsers.init/11602 (plug 1.20.3) lib/plug/builder.ex:358: Plug.Builder.init_module_plug/41603 (plug 1.20.3) lib/plug/builder.ex:339: anonymous fn/5 in Plug.Builder.compile/31604could not compile dependency :ex_ussd_simulator, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile ex_ussd_simulator --force", update it with "mix deps.update ex_ussd_simulator" or clean it with "mix deps.clean ex_ussd_simulator"