Build log
nerves_system_qemu_aarch64
config_manager 0.1.1 · fail · run config_manager-0.1.1-1791072597047
1808 of 1808 lines
1Resolving Hex dependencies...2Resolution completed in 0.396s3Unchanged:4 castore 1.0.215 circular_buffer 1.1.06 config_manager 0.1.17 cowboy 2.19.08 cowboy_telemetry 0.4.09 cowlib 2.20.0 VULNERABLE!10 EEF-CVE-2026-43966 (MEDIUM)11 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c12 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/213 https://osv.dev/vulnerability/EEF-CVE-2026-439661415 EEF-CVE-2026-43969 (LOW)16 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5617 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/118 https://osv.dev/vulnerability/EEF-CVE-2026-4396919 db_connection 2.10.220 decimal 3.1.121 ecto 3.14.222 ecto_sql 3.14.023 elixir_make 0.10.024 esbuild 0.10.025 expo 1.1.126 gettext 0.26.227 idna 7.1.028 interactive_cmd 0.1.429 jason 1.4.530 mime 2.0.731 nerves 2.0.0-pre.232 nerves_discovery 0.1.533 nerves_logging 0.2.434 nerves_runtime 0.13.1335 nerves_system_bbb 2.30.236 nerves_system_br 1.34.437 nerves_system_mangopi_mq_pro 0.17.238 nerves_system_qemu_aarch64 0.4.239 nerves_system_rpi0 2.1.240 nerves_system_rpi4 2.1.241 nerves_system_rpi5 2.1.242 nerves_system_trellis 0.5.043 nerves_system_x86_64 1.34.244 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.145 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.146 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.147 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.148 nerves_toolchain_x86_64_nerves_linux_musl 15.3.149 nerves_uevent 0.1.750 phoenix 1.6.1751 phoenix_ecto 4.7.052 phoenix_html 3.3.453 phoenix_live_dashboard 0.6.554 phoenix_live_view 0.17.14 VULNERABLE!55 EEF-CVE-2026-64941 (LOW)56 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf57 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR58 https://osv.dev/vulnerability/EEF-CVE-2026-6494159 phoenix_pubsub 2.3.060 phoenix_template 1.1.061 phoenix_view 2.0.462 plug 1.20.363 plug_cowboy 2.9.064 plug_crypto 1.2.565 postgrex 0.22.466 property_table 0.3.467 ranch 2.3.068 ring_logger 0.11.769 swoosh 1.28.170 tablet 0.3.371 telemetry 1.4.272 telemetry_metrics 0.6.273 telemetry_poller 1.3.074 toolshed 0.5.075 uboot_env 1.0.276* Getting config_manager (Hex package)77* Getting nerves (Hex package)78* Getting ring_logger (Hex package)79* Getting toolshed (Hex package)80* Getting nerves_runtime (Hex package)81* Getting nerves_system_bbb (Hex package)82* Getting nerves_system_mangopi_mq_pro (Hex package)83* Getting nerves_system_qemu_aarch64 (Hex package)84* Getting nerves_system_rpi0 (Hex package)85* Getting nerves_system_rpi4 (Hex package)86* Getting nerves_system_rpi5 (Hex package)87* Getting nerves_system_trellis (Hex package)88* Getting nerves_system_x86_64 (Hex package)89* Getting nerves_system_br (Hex package)90* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)91* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)92* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)93* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)94* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)95* Getting nerves_logging (Hex package)96* Getting nerves_uevent (Hex package)97* Getting uboot_env (Hex package)98* Getting elixir_make (Hex package)99* Getting property_table (Hex package)100* Getting circular_buffer (Hex package)101* Getting interactive_cmd (Hex package)102* Getting nerves_discovery (Hex package)103* Getting tablet (Hex package)104* Getting ecto_sql (Hex package)105* Getting esbuild (Hex package)106* Getting gettext (Hex package)107* Getting jason (Hex package)108* Getting phoenix (Hex package)109* Getting phoenix_ecto (Hex package)110* Getting phoenix_html (Hex package)111* Getting phoenix_live_dashboard (Hex package)112* Getting phoenix_live_view (Hex package)113* Getting plug_cowboy (Hex package)114* Getting postgrex (Hex package)115* Getting swoosh (Hex package)116* Getting telemetry_metrics (Hex package)117* Getting telemetry_poller (Hex package)118* Getting telemetry (Hex package)119* Getting idna (Hex package)120* Getting mime (Hex package)121* Getting db_connection (Hex package)122* Getting decimal (Hex package)123* Getting cowboy (Hex package)124* Getting cowboy_telemetry (Hex package)125* Getting plug (Hex package)126* Getting plug_crypto (Hex package)127* Getting cowlib (Hex package)128* Getting ranch (Hex package)129* Getting ecto (Hex package)130* Getting castore (Hex package)131* Getting phoenix_pubsub (Hex package)132* Getting phoenix_view (Hex package)133* Getting phoenix_template (Hex package)134* Getting expo (Hex package)135Found packages with security advisories, see above for details136You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more137==> nerves_system_br138Generated nerves_system_br app139==> mime140Compiling 1 file (.ex)141Generated mime app142==> circular_buffer143Compiling 1 file (.ex)144Generated circular_buffer app145==> plug_crypto146Compiling 5 files (.ex)147Generated plug_crypto app148==> nerves_compatibility_test149===> Analyzing applications...150===> Compiling ranch151==> tablet152Compiling 2 files (.ex)153Generated tablet app154==> elixir_make155Compiling 8 files (.ex)156Generated elixir_make app157==> nerves_logging158 CC kmsg_tailer.o159 LD kmsg_tailer160Compiling 5 files (.ex)161Generated nerves_logging app162==> castore163Compiling 1 file (.ex)164Generated castore app165==> nerves_compatibility_test166===> Analyzing applications...167===> Compiling cowlib168==> nerves_discovery169Compiling 5 files (.ex)170Generated nerves_discovery app171==> ring_logger172Compiling 7 files (.ex)173Generated ring_logger app174==> decimal175Compiling 4 files (.ex)176Generated decimal app177==> jason178Compiling 10 files (.ex)179Generated jason app180==> esbuild181Compiling 4 files (.ex)182Generated esbuild app183==> interactive_cmd184Compiling 1 file (.ex)185Generated interactive_cmd app186==> nerves187Compiling 65 files (.ex)188 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)189 │190 6 │ defmodule Mix.Tasks.Nerves.Init do191 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~192 │193 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)194195 warning: redefining module Nerves (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.beam)196 │197 6 │ defmodule Nerves do198 │ ~~~~~~~~~~~~~~~~~~~199 │200 └─ lib/nerves.ex:6: Nerves (module)201202 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)203 │204 5 │ defmodule Nerves.ArtifactResolver do205 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~206 │207 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)208209 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)210 │211 6 │ defmodule Nerves.BuildAction.AppModes do212 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~213 │214 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)215216 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)217 │218 5 │ defmodule Nerves.BuildAction.CheckExecutables do219 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~220 │221 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)222223 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)224 │225 8 │ defmodule Nerves.BuildAction.Erlinit do226 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~227 │228 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)229230 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)231 │232 5 │ defmodule Nerves.BuildAction.Firmware do233 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~234 │235 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)236237 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)238 │239 7 │ defmodule Nerves.BuildAction.IExStartupCheck do240 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~241 │242 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)243244 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)245 │246 5 │ defmodule Nerves.BuildAction.NervesV1System do247 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~248 │249 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)250251 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)252 │253 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do254 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~255 │256 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)257258 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)259 │260 5 │ defmodule Nerves.BuildAction.Rootfs do261 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~262 │263 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)264265 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)266 │267 6 │ defmodule Nerves.BuildAction.SortApps do268 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~269 │270 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)271272 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)273 │274 5 │ defmodule Nerves.BuildAction.StripAll do275 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~276 │277 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)278279 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)280 │281 5 │ defmodule Nerves.BuildAction.Trimmer do282 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~283 │284 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)285286 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)287 │288 5 │ defmodule Nerves.BuildPlan do289 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~290 │291 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)292293 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)294 │295 5 │ defmodule Nerves.BuildPlan.Checks do296 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~297 │298 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)299300 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Container.beam)301 │302 6 │ defmodule Nerves.Container do303 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~304 │305 └─ lib/nerves/container.ex:6: Nerves.Container (module)306307 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)308 │309 5 │ defmodule Nerves.Fingerprint do310 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~311 │312 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)313314 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)315 │316 5 │ defmodule Nerves.MixPackage do317 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~318 │319 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)320321 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Paths.beam)322 │323 5 │ defmodule Nerves.Paths do324 │ ~~~~~~~~~~~~~~~~~~~~~~~~~325 │326 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)327328 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)329 │330 5 │ defmodule Nerves.TargetTuple do331 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~332 │333 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)334335Generated nerves app336==> nerves_toolchain_aarch64_nerves_linux_gnu337Compiling 1 file (.ex)338Generated nerves_toolchain_aarch64_nerves_linux_gnu app339==> nerves_system_qemu_aarch64340Compiling 1 file (.ex)341Generated nerves_system_qemu_aarch64 app342==> nerves_compatibility_test343===> Analyzing applications...344===> Compiling idna345===> Analyzing applications...346===> Compiling telemetry347==> telemetry_metrics348Compiling 7 files (.ex)349 warning: unused require Logger350 │351 391 │ require Logger352 │ ~353 │354 └─ lib/telemetry_metrics.ex:391:3355356Generated telemetry_metrics app357==> nerves_compatibility_test358===> Analyzing applications...359===> Compiling telemetry_poller360==> db_connection361Compiling 18 files (.ex)362Generated db_connection app363==> ecto364Compiling 56 files (.ex)365Generated ecto app366==> nerves_compatibility_test367===> Analyzing applications...368===> Compiling cowboy369==> expo370Compiling 2 files (.erl)371Compiling 22 files (.ex)372Generated expo app373==> gettext374Compiling 18 files (.ex)375 warning: unused require Gettext.Macros376 │377 594 │ require Gettext.Macros378 │ ~379 │380 └─ lib/gettext.ex:594:3381382 warning: the following clause is redundant:383384 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)385386 it has type:387388 dynamic(%Expo.Message.Plural{})389390 previous clauses have already matched on the following types:391392 %Expo.Message.Singular{}393 %Expo.Message.Plural{}394395 │396 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do397 │ ~398 │399 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1400401 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead402 │403 426 │ Kernel.ParallelCompiler.async(fn ->404 │ ~405 │406 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3407408Generated gettext app409==> phoenix_pubsub410Compiling 12 files (.ex)411Generated phoenix_pubsub app412==> plug413Compiling 1 file (.erl)414Compiling 42 files (.ex)415Generated plug app416==> phoenix_html417Compiling 9 files (.ex)418 warning: comparison between distinct types found:419420 id == nil421422 given types:423424 dynamic(not false and not nil and not binary()) == nil425426 where "id" was given the types:427428 # type: dynamic(not false and not nil)429 # from: lib/phoenix_html/form_data.ex:92:8430 id = Keyword.get(opts, :id) || name431432 # type: dynamic(not false and not nil and not binary())433 # from: lib/phoenix_html/form_data.ex:94:12434 is_binary(id)435436 While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false437438 type warning found at:439 │440 94 │ unless is_binary(id) or is_nil(id) do441 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~442 │443 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2444445 warning: the 1st pattern in clause will never match:446447 60448449 because it is expected to receive type:450451 dynamic(empty_list() or non_empty_list(term(), term()))452453 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())454455 type warning found at:456 │457 56 │ def to_iodata(?<), do: "<"458 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~459 │460 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1461462 warning: the 1st pattern in clause will never match:463464 62465466 because it is expected to receive type:467468 dynamic(empty_list() or non_empty_list(term(), term()))469470 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())471472 type warning found at:473 │474 57 │ def to_iodata(?>), do: ">"475 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~476 │477 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1478479 warning: the 1st pattern in clause will never match:480481 38482483 because it is expected to receive type:484485 dynamic(empty_list() or non_empty_list(term(), term()))486487 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())488489 type warning found at:490 │491 58 │ def to_iodata(?&), do: "&"492 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~493 │494 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1495496 warning: the 1st pattern in clause will never match:497498 34499500 because it is expected to receive type:501502 dynamic(empty_list() or non_empty_list(term(), term()))503504 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())505506 type warning found at:507 │508 59 │ def to_iodata(?"), do: """509 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~510 │511 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1512513 warning: the 1st pattern in clause will never match:514515 39516517 because it is expected to receive type:518519 dynamic(empty_list() or non_empty_list(term(), term()))520521 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())522523 type warning found at:524 │525 60 │ def to_iodata(?'), do: "'"526 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~527 │528 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1529530 warning: the 1st pattern in clause will never match:531532 {:safe, data}533534 because it is expected to receive type:535536 dynamic(empty_list() or non_empty_list(term(), term()))537538 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())539540 type warning found at:541 │542 76 │ def to_iodata({:safe, data}) do543 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~544 │545 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1546547 warning: the following clause is redundant:548549 def to_iodata(other)550551 it has type:552553 dynamic(empty_list() or non_empty_list(term(), term()))554555 previous clauses have already matched on the following types:556557 non_empty_list(term(), term())558 empty_list()559560 │561 80 │ def to_iodata(other) do562 │ ~563 │564 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1565566 warning: the 1st pattern in clause will never match:567568 h569570 because it is expected to receive type:571572 dynamic(empty_list() or non_empty_list(term(), term()))573574 where "h" was given the type:575576 # type: integer()577 # from: lib/phoenix_html/safe.ex:62:25578 is_integer(h)579580 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())581582 type warning found at:583 │584 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do585 │ ~586 │587 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1588589 warning: the 1st pattern in clause will never match:590591 h592593 because it is expected to receive type:594595 dynamic(empty_list() or non_empty_list(term(), term()))596597 where "h" was given the type:598599 # type: integer()600 # from: lib/phoenix_html/safe.ex:66:25601 is_integer(h)602603 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())604605 type warning found at:606 │607 66 │ def to_iodata(h) when is_integer(h) do608 │ ~609 │610 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1611612 warning: the 1st pattern in clause will never match:613614 h615616 because it is expected to receive type:617618 dynamic(empty_list() or non_empty_list(term(), term()))619620 where "h" was given the type:621622 # type: binary()623 # from: lib/phoenix_html/safe.ex:72:25624 is_binary(h)625626 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())627628 type warning found at:629 │630 72 │ def to_iodata(h) when is_binary(h) do631 │ ~632 │633 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1634635Generated phoenix_html app636==> phoenix_template637Compiling 4 files (.ex)638Generated phoenix_template app639==> phoenix_view640Compiling 1 file (.ex)641 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 operator642 │643 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix644 │ ~645 │646 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2647648Generated phoenix_view app649warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"650 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2651 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1652 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5653 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2654 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4655 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2656657==> postgrex658Compiling 70 files (.ex)659Generated postgrex app660==> ecto_sql661Compiling 25 files (.ex)662Generated ecto_sql app663warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"664 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2665 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1666 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5667 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2668 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4669 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2670671==> phoenix_ecto672Compiling 7 files (.ex)673Generated phoenix_ecto app674==> uboot_env675Compiling 5 files (.ex)676Generated uboot_env app677==> property_table678Compiling 8 files (.ex)679Generated property_table app680==> nerves_uevent681 CC uevent.o682 LD uevent683Compiling 5 files (.ex)684Generated nerves_uevent app685==> nerves_runtime686Compiling 14 files (.ex)687Generated nerves_runtime app688==> toolshed689Compiling 5 files (.ex)690Generated toolshed app691==> nerves_compatibility_test692===> Analyzing applications...693===> Compiling cowboy_telemetry694==> plug_cowboy695Compiling 5 files (.ex)696Generated plug_cowboy app697warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"698 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2699 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1700 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5701 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2702 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4703 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2704705==> phoenix706Compiling 69 files (.ex)707 warning: using single-quoted strings to represent charlists is deprecated.708 Use ~c"" if you indeed want a charlist or use "" instead.709 You may run "mix format --migrate" to change all single-quoted710 strings to use the ~c sigil and fix this warning.711 │712 258 │ notBefore: {:utcTime, '#{not_before}000000Z'},713 │ ~714 │715 └─ lib/mix/tasks/phx.gen.cert.ex:258:33716717 warning: using single-quoted strings to represent charlists is deprecated.718 Use ~c"" if you indeed want a charlist or use "" instead.719 You may run "mix format --migrate" to change all single-quoted720 strings to use the ~c sigil and fix this warning.721 │722 259 │ notAfter: {:utcTime, '#{not_after}000000Z'}723 │ ~724 │725 └─ lib/mix/tasks/phx.gen.cert.ex:259:32726727 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead728 │729 50 │ Logger.warn(730 │ ~731 │732 └─ lib/phoenix/code_reloader/server.ex:50:20: Phoenix.CodeReloader.Server.handle_call/3733734 warning: unused require Logger735 │736 9 │ require Logger737 │ ~738 │739 └─ lib/phoenix/config.ex:9:3740741 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.742743 This error happens when you have function calls without parentheses inside keywords. For example:744745 function(arg, one: nested_call a, b, c)746 function(arg, one: if expr, do: :this, else: :that)747748 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:749750 function(arg, one: if(expr, do: :this, else: :that))751 function(arg, one: nested_call(a, b, c))752753 Ambiguity found at:754 │755 998 │ defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"756 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~757 │758 └─ lib/phoenix/controller.ex:998759760 warning: unused require Logger761 │762 259 │ require Logger763 │ ~764 │765 └─ lib/phoenix/endpoint.ex:259:3766767 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead768 │769 1009 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>770 │ ~771 │772 └─ lib/phoenix/controller.ex:1009:14: Phoenix.Controller.warn_if_ajax/1773774 warning: unused require Phoenix.Endpoint775 │776 6 │ require Phoenix.Endpoint777 │ ~778 │779 └─ lib/phoenix/controller.ex:6:3780781 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead782 │783 34 │ Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")784 │ ~785 │786 └─ lib/phoenix/endpoint/supervisor.ex:34:20: Phoenix.Endpoint.Supervisor.init/1787788 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead789 │790 57 │ Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")791 │ ~792 │793 └─ lib/phoenix/endpoint/supervisor.ex:57:14: Phoenix.Endpoint.Supervisor.init/1794795 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead796 │797 78 │ Logger.warn """798 │ ~799 │800 └─ lib/phoenix/endpoint/supervisor.ex:78:14: Phoenix.Endpoint.Supervisor.pubsub_children/2801802 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead803 │804 264 │ Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")805 │ ~806 │807 └─ lib/phoenix/endpoint/supervisor.ex:264:14: Phoenix.Endpoint.Supervisor.build_url/2808809 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 operator810 │811 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix812 │ ~813 │814 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2815816 warning: unused require Phoenix.Endpoint817 │818 19 │ require Phoenix.Endpoint819 │ ~820 │821 └─ lib/phoenix/endpoint/render_errors.ex:19:3822823 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.824825 This error happens when you have function calls without parentheses inside keywords. For example:826827 function(arg, one: nested_call a, b, c)828 function(arg, one: if expr, do: :this, else: :that)829830 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:831832 function(arg, one: if(expr, do: :this, else: :that))833 function(arg, one: nested_call(a, b, c))834835 Ambiguity found at:836 │837 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """838 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~839 │840 └─ lib/phoenix/router/resource.ex:71841842 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead843 │844 653 │ Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(socket.handler)}" end845 │ ~846 │847 └─ lib/phoenix/socket.ex:653:16: Phoenix.Socket.handle_in/4848849 warning: unused require Phoenix.Endpoint850 │851 6 │ require Phoenix.Endpoint852 │ ~853 │854 └─ lib/phoenix/channel/server.ex:6:3855856 warning: unused require Phoenix.Endpoint857 │858 192 │ require Phoenix.Endpoint859 │ ~860 │861 └─ lib/phoenix/socket.ex:192:3862863 warning: unused require Logger864 │865 93 │ require Logger866 │ ~867 │868 └─ lib/phoenix/token.ex:93:3869870 warning: comparison between distinct types found:871872 merge_all != []873874 given types:875876 dynamic(non_empty_list({atom(), term()})) != empty_list()877878 where "merge_all" was given the type:879880 # type: dynamic(non_empty_list({atom(), term()}))881 # from: lib/phoenix/router/route.ex:111:15882 merge_all = merge_params ++ merge_private ++ merge_assigns883884 While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false885886 type warning found at:887 │888 113 │ if merge_all != [] do889 │ ~890 │891 └─ lib/phoenix/router/route.ex:113:18: Phoenix.Router.Route.build_prepare/1892893 warning: a struct for Plug.Conn is expected on struct update:894895 %Plug.Conn{conn | state: :sent}896897 but got type:898899 dynamic()900901 where "conn" was given the type:902903 # type: dynamic()904 # from: lib/phoenix/endpoint/render_errors.ex:57:17905 conn906907 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"908909 type warning found at:910 │911 61 │ %Plug.Conn{conn | state: :sent}912 │ ~913 │914 └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/5915916 warning: a struct for Plug.Conn is expected on struct update:917918 %Plug.Conn{conn | query_params: %{}, params: %{}}919920 but got type:921922 dynamic(%{..., params: %Plug.Conn.Unfetched{}})923924 where "conn" was given the types:925926 # type: dynamic(%{..., params: term()})927 # from: lib/phoenix/endpoint/render_errors.ex:124:17928 conn.params929930 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})931 # from: lib/phoenix/endpoint/render_errors.ex:124:17932 conn.params933934 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"935936 type warning found at:937 │938 125 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}939 │ ~940 │941 └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1942943 warning: a struct for Plug.Conn is expected on struct update:944945 %Plug.Conn{conn | query_params: %{}, params: params}946947 but got type:948949 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})950951 where "conn" was given the types:952953 # type: dynamic(%{..., params: term()})954 # from: lib/phoenix/endpoint/render_errors.ex:124:17955 conn.params956957 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})958 # from: lib/phoenix/endpoint/render_errors.ex:124:17959 conn.params960961 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"962963 type warning found at:964 │965 126 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}966 │ ~967 │968 └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1969970 warning: incompatible types given to socket_children/1:971972 socket_children(mod)973974 given types:975976 -dynamic(atom())-977978 but expected one of:979980 %{..., __sockets__: term()}981982 where "mod" was given the types:983984 # type: dynamic(atom() or binary())985 # from: lib/phoenix/endpoint/supervisor.ex:27:41986 defaults(otp_app, mod)987988 # type: dynamic(atom())989 # from: lib/phoenix/endpoint/supervisor.ex:31:16990 mod.init(:supervisor, env_conf)991992 type warning found at:993 │994 67 │ socket_children(mod) ++995 │ ~996 │997 └─ lib/phoenix/endpoint/supervisor.ex:67:7: Phoenix.Endpoint.Supervisor.init/1998999 warning: expected a module (an atom) when invoking compress_file/2 in expression:10001001 compressor.compress_file(file.digested_filename, file.digested_content)10021003 where "compressor" was given the type:10041005 # type: dynamic(%{..., file_extensions: non_empty_list(term(), term())})1006 # from: lib/phoenix/digester.ex:167:281007 [file_extension | _] = compressor.file_extensions10081009 where "file" was given the type:10101011 # type: dynamic(%{..., relative_path: term()})1012 # from: lib/phoenix/digester.ex:161:171013 Path.join(output_path, file.relative_path)10141015 type warning found at:1016 │1017 170 │ compressor.compress_file(file.digested_filename, file.digested_content) do1018 │ ~1019 │1020 └─ lib/phoenix/digester.ex:170:25: Phoenix.Digester.write_to_disk/210211022 warning: a struct for Plug.Conn is expected on struct update:10231024 %Plug.Conn{conn | params: params}10251026 but got type:10271028 dynamic(%{..., params: map()})10291030 where "conn" was given the type:10311032 # type: dynamic(%{..., params: map()})1033 # from: lib/phoenix/controller.ex:1036:171034 Map.get(conn.params, required_key)10351036 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10371038 type warning found at:1039 │1040 1043 │ %Plug.Conn{conn | params: params}1041 │ ~1042 │1043 └─ lib/phoenix/controller.ex:1043:5: Phoenix.Controller.scrub_params/210441045Generated phoenix app1046warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1047 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21048 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11049 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51050 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21051 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41052 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210531054==> phoenix_live_view1055Compiling 31 files (.ex)1056 warning: using single-quoted strings to represent charlists is deprecated.1057 Use ~c"" if you indeed want a charlist or use "" instead.1058 You may run "mix format --migrate" to change all single-quoted1059 strings to use the ~c sigil and fix this warning.1060 │1061 319 │ {'LiveView', view},1062 │ ~1063 │1064 └─ lib/phoenix_live_view/channel.ex:319:1010651066 warning: using single-quoted strings to represent charlists is deprecated.1067 Use ~c"" if you indeed want a charlist or use "" instead.1068 You may run "mix format --migrate" to change all single-quoted1069 strings to use the ~c sigil and fix this warning.1070 │1071 320 │ {'Parent pid', parent_pid},1072 │ ~1073 │1074 └─ lib/phoenix_live_view/channel.ex:320:1010751076 warning: using single-quoted strings to represent charlists is deprecated.1077 Use ~c"" if you indeed want a charlist or use "" instead.1078 You may run "mix format --migrate" to change all single-quoted1079 strings to use the ~c sigil and fix this warning.1080 │1081 321 │ {'Transport pid', transport_pid},1082 │ ~1083 │1084 └─ lib/phoenix_live_view/channel.ex:321:1010851086 warning: using single-quoted strings to represent charlists is deprecated.1087 Use ~c"" if you indeed want a charlist or use "" instead.1088 You may run "mix format --migrate" to change all single-quoted1089 strings to use the ~c sigil and fix this warning.1090 │1091 322 │ {'Topic', topic},1092 │ ~1093 │1094 └─ lib/phoenix_live_view/channel.ex:322:1010951096 warning: using single-quoted strings to represent charlists is deprecated.1097 Use ~c"" if you indeed want a charlist or use "" instead.1098 You may run "mix format --migrate" to change all single-quoted1099 strings to use the ~c sigil and fix this warning.1100 │1101 323 │ {'Components count', map_size(cid_to_component)}1102 │ ~1103 │1104 └─ lib/phoenix_live_view/channel.ex:323:1011051106 warning: using single-quoted strings to represent charlists is deprecated.1107 Use ~c"" if you indeed want a charlist or use "" instead.1108 You may run "mix format --migrate" to change all single-quoted1109 strings to use the ~c sigil and fix this warning.1110 │1111 329 │ [data: [{'State', state}]]1112 │ ~1113 │1114 └─ lib/phoenix_live_view/channel.ex:329:1411151116 warning: using single-quoted strings to represent charlists is deprecated.1117 Use ~c"" if you indeed want a charlist or use "" instead.1118 You may run "mix format --migrate" to change all single-quoted1119 strings to use the ~c sigil and fix this warning.1120 │1121 112 │ @codepoints '\s\n\r\t'1122 │ ~1123 │1124 └─ lib/phoenix_live_view/html_algebra.ex:112:1511251126 warning: using single-quoted strings to represent charlists is deprecated.1127 Use ~c"" if you indeed want a charlist or use "" instead.1128 You may run "mix format --migrate" to change all single-quoted1129 strings to use the ~c sigil and fix this warning.1130 │1131 125 │ do: :binary.first(text) in '\n\r'1132 │ ~1133 │1134 └─ lib/phoenix_live_view/html_algebra.ex:125:3211351136 warning: using single-quoted strings to represent charlists is deprecated.1137 Use ~c"" if you indeed want a charlist or use "" instead.1138 You may run "mix format --migrate" to change all single-quoted1139 strings to use the ~c sigil and fix this warning.1140 │1141 130 │ do: :binary.last(text) in '\n\r'1142 │ ~1143 │1144 └─ lib/phoenix_live_view/html_algebra.ex:130:3111451146 warning: using single-quoted strings to represent charlists is deprecated.1147 Use ~c"" if you indeed want a charlist or use "" instead.1148 You may run "mix format --migrate" to change all single-quoted1149 strings to use the ~c sigil and fix this warning.1150 │1151 503 │ defp count_newlines_until_text(<<char, rest::binary>>, counter) when char in '\s\t\r',1152 │ ~1153 │1154 └─ lib/phoenix_live_view/html_formatter.ex:503:8011551156 warning: using single-quoted strings to represent charlists is deprecated.1157 Use ~c"" if you indeed want a charlist or use "" instead.1158 You may run "mix format --migrate" to change all single-quoted1159 strings to use the ~c sigil and fix this warning.1160 │1161 536 │ do: if(String.trim_leading(text) == "", do: false, else: !(:binary.last(text) in '\s\t'))1162 │ ~1163 │1164 └─ lib/phoenix_live_view/html_formatter.ex:536:8611651166 warning: using single-quoted strings to represent charlists is deprecated.1167 Use ~c"" if you indeed want a charlist or use "" instead.1168 You may run "mix format --migrate" to change all single-quoted1169 strings to use the ~c sigil and fix this warning.1170 │1171 546 │ if String.trim_leading(text) != "" and :binary.first(text) not in '\s\t\n\r' do1172 │ ~1173 │1174 └─ lib/phoenix_live_view/html_formatter.ex:546:7311751176 warning: using single-quoted strings to represent charlists is deprecated.1177 Use ~c"" if you indeed want a charlist or use "" instead.1178 You may run "mix format --migrate" to change all single-quoted1179 strings to use the ~c sigil and fix this warning.1180 │1181 3 │ @space_chars '\s\t\f'1182 │ ~1183 │1184 └─ lib/phoenix_live_view/html_tokenizer.ex:3:1611851186 warning: using single-quoted strings to represent charlists is deprecated.1187 Use ~c"" if you indeed want a charlist or use "" instead.1188 You may run "mix format --migrate" to change all single-quoted1189 strings to use the ~c sigil and fix this warning.1190 │1191 4 │ @quote_chars '"\''1192 │ ~1193 │1194 └─ lib/phoenix_live_view/html_tokenizer.ex:4:1611951196 warning: using single-quoted strings to represent charlists is deprecated.1197 Use ~c"" if you indeed want a charlist or use "" instead.1198 You may run "mix format --migrate" to change all single-quoted1199 strings to use the ~c sigil and fix this warning.1200 │1201 5 │ @stop_chars '>/=\r\n' ++ @quote_chars ++ @space_chars1202 │ ~1203 │1204 └─ lib/phoenix_live_view/html_tokenizer.ex:5:1512051206 warning: unused require Logger1207 │1208 25 │ require Logger1209 │ ~1210 │1211 └─ lib/phoenix_live_view/socket.ex:25:312121213 warning: unused require Phoenix.ChannelTest1214 │1215 179 │ require Phoenix.ChannelTest1216 │ ~1217 │1218 └─ lib/phoenix_live_view/test/live_view_test.ex:179:312191220 warning: unused require Phoenix.ConnTest1221 │1222 178 │ require Phoenix.ConnTest1223 │ ~1224 │1225 └─ lib/phoenix_live_view/test/live_view_test.ex:178:312261227 warning: unused require Phoenix.ChannelTest1228 │1229 4 │ require Phoenix.ChannelTest1230 │ ~1231 │1232 └─ lib/phoenix_live_view/test/upload_client.ex:4:312331234 warning: unused require Logger1235 │1236 6 │ require Logger1237 │ ~1238 │1239 └─ lib/phoenix_live_view/upload_channel.ex:6:312401241 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12421243 %Phoenix.LiveView.Socket{1244 socket1245 | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1246 }12471248 but got type:12491250 dynamic()12511252 where "socket" was given the type:12531254 # type: dynamic()1255 # from: lib/phoenix_live_view/utils.ex:459:211256 socket12571258 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"12591260 type warning found at:1261 │1262 460 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1263 │ ~1264 │1265 └─ lib/phoenix_live_view/utils.ex:460:5: Phoenix.LiveView.Utils.do_mount_opt/312661267 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12681269 %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}12701271 but got type:12721273 dynamic()12741275 where "socket" was given the type:12761277 # type: dynamic()1278 # from: lib/phoenix_live_view/utils.ex:463:211279 socket12801281 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"12821283 type warning found at:1284 │1285 464 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1286 │ ~1287 │1288 └─ lib/phoenix_live_view/utils.ex:464:5: Phoenix.LiveView.Utils.do_mount_opt/312891290 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12911292 %Phoenix.LiveView.Socket{1293 socket1294 | assigns: Map.merge(temp_assigns, socket.assigns),1295 private: Map.put(socket.private, :temporary_assigns, temp_assigns)1296 }12971298 but got type:12991300 dynamic()13011302 where "socket" was given the type:13031304 # type: dynamic()1305 # from: lib/phoenix_live_view/utils.ex:473:211306 socket13071308 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13091310 type warning found at:1311 │1312 480 │ %Socket{1313 │ ~1314 │1315 └─ lib/phoenix_live_view/utils.ex:480:5: Phoenix.LiveView.Utils.do_mount_opt/313161317 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13181319 %Phoenix.LiveView.Socket{1320 socket1321 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1322 }13231324 but got type:13251326 dynamic(%{..., assigns: term()})13271328 where "socket" was given the type:13291330 # type: dynamic(%{..., assigns: term()})1331 # from: lib/phoenix_live_view/utils.ex:491:431332 %{assigns: assigns} = socket13331334 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13351336 type warning found at:1337 │1338 492 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1339 │ ~1340 │1341 └─ lib/phoenix_live_view/utils.ex:492:14: Phoenix.LiveView.Utils.render_assigns/113421343 warning: a struct for Phoenix.HTML.Form is expected on struct update:13441345 %Phoenix.HTML.Form{Phoenix.HTML.FormData.to_form(form_for, form_options) | action: action || "#"}13461347 but got type:13481349 dynamic()13501351 where "form_for" was given the type:13521353 # type: dynamic(not false and not nil)1354 # from: lib/phoenix_live_view/helpers.ex:1101:141355 form_for = assigns[:for] || :erlang.error(ArgumentError.exception("missing :for assign to form"))13561357 where "form_options" was given the type:13581359 # type: dynamic(list({term(), term()}))1360 # from: lib/phoenix_live_view/helpers.ex:1102:181361 form_options = assigns_to_attributes(assigns, [:action, :for])13621363 you must assign "Phoenix.HTML.FormData.to_form(form_for, form_options)" to variable and pattern match on "%Phoenix.HTML.Form{}"13641365 type warning found at:1366 │1367 1106 │ form = %Phoenix.HTML.Form{1368 │ ~1369 │1370 └─ lib/phoenix_live_view/helpers.ex:1106:14: Phoenix.LiveView.Helpers.form/113711372 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13731374 %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}13751376 but got type:13771378 dynamic()13791380 where "entry" was given the type:13811382 # type: dynamic()1383 # from: lib/phoenix_live_view/upload_config.ex:339:281384 entry <- conf.entries13851386 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"13871388 type warning found at:1389 │1390 339 │ | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1391 │ ~1392 │1393 └─ lib/phoenix_live_view/upload_config.ex:339:49: Phoenix.LiveView.UploadConfig.mark_preflighted/113941395 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13961397 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}13981399 but got type:14001401 dynamic()14021403 where "entry" was given the type:14041405 # type: dynamic()1406 # from: lib/phoenix_live_view/upload_config.ex:539:301407 entry14081409 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14101411 type warning found at:1412 │1413 540 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1414 │ ~1415 │1416 └─ lib/phoenix_live_view/upload_config.ex:540:13: Phoenix.LiveView.UploadConfig.put_valid_entry/214171418 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14191420 %Phoenix.LiveView.UploadEntry{entry | valid?: false}14211422 but got type:14231424 dynamic()14251426 where "entry" was given the type:14271428 # type: dynamic()1429 # from: lib/phoenix_live_view/upload_config.ex:552:321430 entry14311432 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14331434 type warning found at:1435 │1436 553 │ entry = %UploadEntry{entry | valid?: false}1437 │ ~1438 │1439 └─ lib/phoenix_live_view/upload_config.ex:553:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/314401441 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14421443 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}14441445 but got type:14461447 dynamic()14481449 where "entry" was given the type:14501451 # type: dynamic()1452 # from: lib/phoenix_live_view/upload_config.ex:635:421453 entry14541455 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14561457 type warning found at:1458 │1459 635 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1460 │ ~1461 │1462 └─ lib/phoenix_live_view/upload_config.ex:635:51: Phoenix.LiveView.UploadConfig.cancel_entry/214631464 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1465 │1466 72 │ Logger.disable(self())1467 │ ~1468 │1469 └─ lib/phoenix_live_view/test/client_proxy.ex:72:12: Phoenix.LiveViewTest.ClientProxy.init/114701471 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:14721473 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}14741475 but got type:14761477 dynamic(%{..., rendered: map()})14781479 where "view" was given the type:14801481 # type: dynamic(%{..., rendered: map()})1482 # from: lib/phoenix_live_view/test/client_proxy.ex:701:241483 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)14841485 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"14861487 type warning found at:1488 │1489 702 │ new_view = %ClientProxy{view | rendered: rendered}1490 │ ~1491 │1492 └─ lib/phoenix_live_view/test/client_proxy.ex:702:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/314931494 warning: the right-hand side of || (shown as ... below) will never be executed:14951496 conn.private[:live_view_connect_info] || prune_conn(conn) || ...14971498 because the left-hand side always evaluates to:14991500 dynamic(not false and not nil)15011502 where "conn" was given the types:15031504 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1505 # from: lib/phoenix_live_view/test/live_view_test.ex:320:721506 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn15071508 # type: dynamic(%Plug.Conn{1509 assigns: %{..., live_module: term()},1510 private:1511 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1512 non_struct_map(),1513 status: integer()1514 })1515 # from: lib/phoenix_live_view/test/live_view_test.ex:334:351516 conn.private[:live_view_connect_params]15171518 type warning found at:1519 │1520 335 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1521 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1522 │1523 └─ lib/phoenix_live_view/test/live_view_test.ex:335: Phoenix.LiveViewTest.connect_from_static_token/215241525 warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1526 │1527 1095 │ Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1528 │ ~1529 │1530 └─ lib/phoenix_live_view/test/client_proxy.ex:1095:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31531 └─ lib/phoenix_live_view/test/client_proxy.ex:1100:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31532 └─ lib/phoenix_live_view/test/client_proxy.ex:1110:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31533 └─ lib/phoenix_live_view/test/client_proxy.ex:1119:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/315341535 warning: the following clause is redundant:15361537 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)15381539 it has type:15401541 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))15421543 previous clauses have already matched on the following types:15441545 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1546 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1547 term(), term(), (none(), none() -> term())1548 term(), term(), (none() -> term())15491550 │1551 952 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1552 │ ~1553 │1554 └─ lib/phoenix_live_view.ex:952:7: Phoenix.LiveView.update/315551556 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1557 │1558 603 │ defp class_names(nil), do: []1559 │ ~1560 │1561 └─ lib/phoenix_live_view/js.ex:603:8: Phoenix.LiveView.JS.class_names/115621563 warning: the following clause is redundant:15641565 def to_iodata(%_{} = struct)15661567 it has type:15681569 dynamic(%Phoenix.LiveView.Rendered{})15701571 previous clauses have already matched on the following types:15721573 %Phoenix.LiveView.Rendered{}15741575 │1576 127 │ def to_iodata(%_{} = struct) do1577 │ ~1578 │1579 └─ lib/phoenix_live_view/engine.ex:127:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115801581 warning: the 1st pattern in clause will never match:15821583 nil15841585 because it is expected to receive type:15861587 dynamic(%Phoenix.LiveView.Rendered{})15881589 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}15901591 type warning found at:1592 │1593 131 │ def to_iodata(nil) do1594 │ ~~~~~~~~~~~~~~~~~~~~~1595 │1596 └─ lib/phoenix_live_view/engine.ex:131: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115971598 warning: the following clause is redundant:15991600 def to_iodata(other)16011602 it has type:16031604 dynamic(%Phoenix.LiveView.Rendered{})16051606 previous clauses have already matched on the following types:16071608 %Phoenix.LiveView.Rendered{}16091610 │1611 135 │ def to_iodata(other) do1612 │ ~1613 │1614 └─ lib/phoenix_live_view/engine.ex:135:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/116151616Generated phoenix_live_view app1617warning: Phoenix now requires you to explicitly list which engine to use1618for Phoenix JSON encoding. We recommend everyone to upgrade to1619Jason by setting in your config/config.exs:16201621 config :phoenix, :json_library, Jason16221623And then adding {:jason, "~> 1.0"} as a dependency.16241625If instead you would rather continue using Poison, then add to1626your config/config.exs:16271628 config :phoenix, :json_library, Poison16291630 (phoenix 1.6.17) lib/phoenix.ex:56: Phoenix.start/21631 (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/416321633warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1634 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21635 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11636 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51637 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21638 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41639 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/216401641==> phoenix_live_dashboard1642Compiling 40 files (.ex)1643 warning: using single-quoted strings to represent charlists is deprecated.1644 Use ~c"" if you indeed want a charlist or use "" instead.1645 You may run "mix format --migrate" to change all single-quoted1646 strings to use the ~c sigil and fix this warning.1647 │1648 709 │ '#Port' ++ rest = :erlang.port_to_list(ref)1649 │ ~1650 │1651 └─ lib/phoenix/live_dashboard/page_builder.ex:709:516521653 warning: using single-quoted strings to represent charlists is deprecated.1654 Use ~c"" if you indeed want a charlist or use "" instead.1655 You may run "mix format --migrate" to change all single-quoted1656 strings to use the ~c sigil and fix this warning.1657 │1658 728 │ '#Ref' ++ rest = :erlang.ref_to_list(ref)1659 │ ~1660 │1661 └─ lib/phoenix/live_dashboard/page_builder.ex:728:516621663 warning: using single-quoted strings to represent charlists is deprecated.1664 Use ~c"" if you indeed want a charlist or use "" instead.1665 You may run "mix format --migrate" to change all single-quoted1666 strings to use the ~c sigil and fix this warning.1667 │1668 446 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1669 │ ~1670 │1671 └─ lib/phoenix/live_dashboard/system_info.ex:446:1616721673 warning: using single-quoted strings to represent charlists is deprecated.1674 Use ~c"" if you indeed want a charlist or use "" instead.1675 You may run "mix format --migrate" to change all single-quoted1676 strings to use the ~c sigil and fix this warning.1677 │1678 446 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1679 │ ~1680 │1681 └─ lib/phoenix/live_dashboard/system_info.ex:446:2816821683 warning: using single-quoted strings to represent charlists is deprecated.1684 Use ~c"" if you indeed want a charlist or use "" instead.1685 You may run "mix format --migrate" to change all single-quoted1686 strings to use the ~c sigil and fix this warning.1687 │1688 446 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1689 │ ~1690 │1691 └─ lib/phoenix/live_dashboard/system_info.ex:446:4016921693 warning: using single-quoted strings to represent charlists is deprecated.1694 Use ~c"" if you indeed want a charlist or use "" instead.1695 You may run "mix format --migrate" to change all single-quoted1696 strings to use the ~c sigil and fix this warning.1697 │1698 654 │ [{'none', 0, 0}] -> []1699 │ ~1700 │1701 └─ lib/phoenix/live_dashboard/system_info.ex:654:1117021703warning: 0..-2 has a default step of -1, please write 0..-2//-1 instead1704 lib/phoenix/live_dashboard/page_live.ex:178: Phoenix.LiveDashboard.PageLive.dashboard_mount_path/317051706warning: 0..-3 has a default step of -1, please write 0..-3//-1 instead1707 lib/phoenix/live_dashboard/page_live.ex:178: Phoenix.LiveDashboard.PageLive.dashboard_mount_path/317081709 warning: expected a module (an atom) when invoking __live__/0 in expression:17101711 Map.put(component_assigns, :page, page).__live__()17121713 but got type:17141715 dynamic(%{..., page: term()})17161717 where "component_assigns" was given the type:17181719 # type: dynamic(map())1720 # from: lib/phoenix/live_dashboard/components/nav_bar_component.ex:218:391721 Map.put(component_assigns, :page, page)17221723 where "page" was given the type:17241725 # type: dynamic()1726 # from: lib/phoenix/live_dashboard/components/nav_bar_component.ex:215:231727 page17281729 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()17301731 type warning found at:1732 │1733 218 │ live_component(component, Map.put(component_assigns, :page, page))1734 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1735 │1736 └─ lib/phoenix/live_dashboard/components/nav_bar_component.ex:218: Phoenix.LiveDashboard.NavBarComponent.render_content/217371738 warning: expected a module (an atom) when invoking __live__/0 in expression:17391740 component_assigns.__live__()17411742 where "component_assigns" was given the type:17431744 # type: dynamic(%{..., page: term()})1745 # from: lib/phoenix/live_dashboard/page_live.ex:238:231746 component_assigns = Map.put(component_assigns, :page, assigns.page)17471748 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()17491750 type warning found at:1751 │1752 239 │ live_component(component, component_assigns)1753 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1754 │1755 └─ lib/phoenix/live_dashboard/page_live.ex:239: Phoenix.LiveDashboard.PageLive.render_page/217561757 warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1758 │1759 8 │ Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)1760 │ ~1761 │1762 └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/217631764Generated phoenix_live_dashboard app1765==> swoosh1766Compiling 62 files (.ex)1767Generated swoosh app1768warning: the :gettext compiler is no longer required in your mix.exs.17691770Please find the following line in your mix.exs and remove the :gettext entry:17711772 compilers: [..., :gettext, ...] ++ Mix.compilers(),17731774 (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11775 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51776 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21777 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41778 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21779 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/517801781==> config_manager1782Compiling 18 files (.ex)1783warning: defining a Gettext backend by calling17841785 use Gettext, otp_app: ...17861787is deprecated. To define a backend, call:17881789 use Gettext.Backend, otp_app: :my_app17901791Then, instead of importing your backend, call this in your module:17921793 use Gettext, backend: MyApp.Gettext17941795 lib/config_manager_web/gettext.ex:23: ConfigManagerWeb.Gettext (module)179617971798== Compilation error in file lib/config_manager_web/endpoint.ex ==1799** (ArgumentError) invalid :json_decoder option. The module Poison is not loaded and could not be found1800 (plug 1.20.3) lib/plug/parsers/json.ex:48: Plug.Parsers.JSON.validate_decoder!/11801 (plug 1.20.3) lib/plug/parsers/json.ex:35: Plug.Parsers.JSON.init/11802 (plug 1.20.3) lib/plug/parsers.ex:283: anonymous fn/2 in Plug.Parsers.convert_parsers/21803 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21804 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21805 (plug 1.20.3) lib/plug/parsers.ex:263: Plug.Parsers.init/11806 (plug 1.20.3) lib/plug/builder.ex:358: Plug.Builder.init_module_plug/41807 (plug 1.20.3) lib/plug/builder.ex:339: anonymous fn/5 in Plug.Builder.compile/31808could not compile dependency :config_manager, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile config_manager --force", update it with "mix deps.update config_manager" or clean it with "mix deps.clean config_manager"