Build log
nerves_system_mangopi_mq_pro
config_manager 0.1.1 · fail · run config_manager-0.1.1-1791072597047
1808 of 1808 lines
1Resolving Hex dependencies...2Resolution completed in 0.502s3Unchanged: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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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/mangopi_mq_pro/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_riscv64_nerves_linux_gnu337Compiling 1 file (.ex)338Generated nerves_toolchain_riscv64_nerves_linux_gnu app339==> nerves_system_mangopi_mq_pro340Generated nerves_system_mangopi_mq_pro app341==> nerves_compatibility_test342===> Analyzing applications...343===> Compiling idna344===> Analyzing applications...345===> Compiling telemetry346==> telemetry_metrics347Compiling 7 files (.ex)348 warning: unused require Logger349 │350 391 │ require Logger351 │ ~352 │353 └─ lib/telemetry_metrics.ex:391:3354355Generated telemetry_metrics app356==> nerves_compatibility_test357===> Analyzing applications...358===> Compiling telemetry_poller359==> db_connection360Compiling 18 files (.ex)361Generated db_connection app362==> ecto363Compiling 56 files (.ex)364Generated ecto app365==> nerves_compatibility_test366===> Analyzing applications...367===> Compiling cowboy368==> expo369Compiling 2 files (.erl)370Compiling 22 files (.ex)371Generated expo app372==> gettext373Compiling 18 files (.ex)374 warning: unused require Gettext.Macros375 │376 594 │ require Gettext.Macros377 │ ~378 │379 └─ lib/gettext.ex:594:3380381 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead382 │383 426 │ Kernel.ParallelCompiler.async(fn ->384 │ ~385 │386 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3387388 warning: the following clause is redundant:389390 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)391392 it has type:393394 dynamic(%Expo.Message.Plural{})395396 previous clauses have already matched on the following types:397398 %Expo.Message.Singular{}399 %Expo.Message.Plural{}400401 │402 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do403 │ ~404 │405 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1406407Generated gettext app408==> phoenix_pubsub409Compiling 12 files (.ex)410Generated phoenix_pubsub app411==> plug412Compiling 1 file (.erl)413Compiling 42 files (.ex)414Generated plug app415==> phoenix_html416Compiling 9 files (.ex)417 warning: comparison between distinct types found:418419 id == nil420421 given types:422423 dynamic(not false and not nil and not binary()) == nil424425 where "id" was given the types:426427 # type: dynamic(not false and not nil)428 # from: lib/phoenix_html/form_data.ex:92:8429 id = Keyword.get(opts, :id) || name430431 # type: dynamic(not false and not nil and not binary())432 # from: lib/phoenix_html/form_data.ex:94:12433 is_binary(id)434435 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 false436437 type warning found at:438 │439 94 │ unless is_binary(id) or is_nil(id) do440 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~441 │442 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2443444 warning: the 1st pattern in clause will never match:445446 60447448 because it is expected to receive type:449450 dynamic(empty_list() or non_empty_list(term(), term()))451452 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())453454 type warning found at:455 │456 56 │ def to_iodata(?<), do: "<"457 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~458 │459 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1460461 warning: the 1st pattern in clause will never match:462463 62464465 because it is expected to receive type:466467 dynamic(empty_list() or non_empty_list(term(), term()))468469 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())470471 type warning found at:472 │473 57 │ def to_iodata(?>), do: ">"474 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~475 │476 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1477478 warning: the 1st pattern in clause will never match:479480 38481482 because it is expected to receive type:483484 dynamic(empty_list() or non_empty_list(term(), term()))485486 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())487488 type warning found at:489 │490 58 │ def to_iodata(?&), do: "&"491 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~492 │493 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1494495 warning: the 1st pattern in clause will never match:496497 34498499 because it is expected to receive type:500501 dynamic(empty_list() or non_empty_list(term(), term()))502503 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())504505 type warning found at:506 │507 59 │ def to_iodata(?"), do: """508 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~509 │510 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1511512 warning: the 1st pattern in clause will never match:513514 39515516 because it is expected to receive type:517518 dynamic(empty_list() or non_empty_list(term(), term()))519520 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())521522 type warning found at:523 │524 60 │ def to_iodata(?'), do: "'"525 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~526 │527 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1528529 warning: the 1st pattern in clause will never match:530531 {:safe, data}532533 because it is expected to receive type:534535 dynamic(empty_list() or non_empty_list(term(), term()))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 76 │ def to_iodata({:safe, data}) do542 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~543 │544 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1545546 warning: the following clause is redundant:547548 def to_iodata(other)549550 it has type:551552 dynamic(empty_list() or non_empty_list(term(), term()))553554 previous clauses have already matched on the following types:555556 non_empty_list(term(), term())557 empty_list()558559 │560 80 │ def to_iodata(other) do561 │ ~562 │563 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1564565 warning: the 1st pattern in clause will never match:566567 h568569 because it is expected to receive type:570571 dynamic(empty_list() or non_empty_list(term(), term()))572573 where "h" was given the type:574575 # type: integer()576 # from: lib/phoenix_html/safe.ex:62:25577 is_integer(h)578579 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())580581 type warning found at:582 │583 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do584 │ ~585 │586 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1587588 warning: the 1st pattern in clause will never match:589590 h591592 because it is expected to receive type:593594 dynamic(empty_list() or non_empty_list(term(), term()))595596 where "h" was given the type:597598 # type: integer()599 # from: lib/phoenix_html/safe.ex:66:25600 is_integer(h)601602 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())603604 type warning found at:605 │606 66 │ def to_iodata(h) when is_integer(h) do607 │ ~608 │609 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1610611 warning: the 1st pattern in clause will never match:612613 h614615 because it is expected to receive type:616617 dynamic(empty_list() or non_empty_list(term(), term()))618619 where "h" was given the type:620621 # type: binary()622 # from: lib/phoenix_html/safe.ex:72:25623 is_binary(h)624625 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())626627 type warning found at:628 │629 72 │ def to_iodata(h) when is_binary(h) do630 │ ~631 │632 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1633634Generated phoenix_html app635==> phoenix_template636Compiling 4 files (.ex)637Generated phoenix_template app638==> phoenix_view639Compiling 1 file (.ex)640 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 operator641 │642 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix643 │ ~644 │645 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2646647Generated phoenix_view app648warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"649 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2650 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1651 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5652 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2653 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4654 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2655656==> postgrex657Compiling 70 files (.ex)658Compiling lib/postgrex/default_types.ex (it's taking more than 10s)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: Logger.warn/1 is deprecated. Use Logger.warning/2 instead775 │776 34 │ Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")777 │ ~778 │779 └─ lib/phoenix/endpoint/supervisor.ex:34:20: Phoenix.Endpoint.Supervisor.init/1780781 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead782 │783 57 │ Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")784 │ ~785 │786 └─ lib/phoenix/endpoint/supervisor.ex:57:14: Phoenix.Endpoint.Supervisor.init/1787788 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead789 │790 78 │ Logger.warn """791 │ ~792 │793 └─ lib/phoenix/endpoint/supervisor.ex:78:14: Phoenix.Endpoint.Supervisor.pubsub_children/2794795 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead796 │797 264 │ Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")798 │ ~799 │800 └─ lib/phoenix/endpoint/supervisor.ex:264:14: Phoenix.Endpoint.Supervisor.build_url/2801802 warning: unused require Phoenix.Endpoint803 │804 6 │ require Phoenix.Endpoint805 │ ~806 │807 └─ lib/phoenix/controller.ex:6:3808809 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 192 │ require Phoenix.Endpoint852 │ ~853 │854 └─ lib/phoenix/socket.ex:192:3855856 warning: unused require Phoenix.Endpoint857 │858 6 │ require Phoenix.Endpoint859 │ ~860 │861 └─ lib/phoenix/channel/server.ex:6:3862863 warning: unused require Logger864 │865 93 │ require Logger866 │ ~867 │868 └─ lib/phoenix/token.ex:93:3869870 warning: a struct for Plug.Conn is expected on struct update:871872 %Plug.Conn{conn | state: :sent}873874 but got type:875876 dynamic()877878 where "conn" was given the type:879880 # type: dynamic()881 # from: lib/phoenix/endpoint/render_errors.ex:57:17882 conn883884 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"885886 type warning found at:887 │888 61 │ %Plug.Conn{conn | state: :sent}889 │ ~890 │891 └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/5892893 warning: a struct for Plug.Conn is expected on struct update:894895 %Plug.Conn{conn | query_params: %{}, params: %{}}896897 but got type:898899 dynamic(%{..., params: %Plug.Conn.Unfetched{}})900901 where "conn" was given the types:902903 # type: dynamic(%{..., params: term()})904 # from: lib/phoenix/endpoint/render_errors.ex:124:17905 conn.params906907 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})908 # from: lib/phoenix/endpoint/render_errors.ex:124:17909 conn.params910911 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"912913 type warning found at:914 │915 125 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}916 │ ~917 │918 └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1919920 warning: a struct for Plug.Conn is expected on struct update:921922 %Plug.Conn{conn | query_params: %{}, params: params}923924 but got type:925926 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})927928 where "conn" was given the types:929930 # type: dynamic(%{..., params: term()})931 # from: lib/phoenix/endpoint/render_errors.ex:124:17932 conn.params933934 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})935 # from: lib/phoenix/endpoint/render_errors.ex:124:17936 conn.params937938 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"939940 type warning found at:941 │942 126 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}943 │ ~944 │945 └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1946947 warning: comparison between distinct types found:948949 merge_all != []950951 given types:952953 dynamic(non_empty_list({atom(), term()})) != empty_list()954955 where "merge_all" was given the type:956957 # type: dynamic(non_empty_list({atom(), term()}))958 # from: lib/phoenix/router/route.ex:111:15959 merge_all = merge_params ++ merge_private ++ merge_assigns960961 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 false962963 type warning found at:964 │965 113 │ if merge_all != [] do966 │ ~967 │968 └─ lib/phoenix/router/route.ex:113:18: Phoenix.Router.Route.build_prepare/1969970 warning: a struct for Plug.Conn is expected on struct update:971972 %Plug.Conn{conn | params: params}973974 but got type:975976 dynamic(%{..., params: map()})977978 where "conn" was given the type:979980 # type: dynamic(%{..., params: map()})981 # from: lib/phoenix/controller.ex:1036:17982 Map.get(conn.params, required_key)983984 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"985986 type warning found at:987 │988 1043 │ %Plug.Conn{conn | params: params}989 │ ~990 │991 └─ lib/phoenix/controller.ex:1043:5: Phoenix.Controller.scrub_params/2992993 warning: incompatible types given to socket_children/1:994995 socket_children(mod)996997 given types:998999 -dynamic(atom())-10001001 but expected one of:10021003 %{..., __sockets__: term()}10041005 where "mod" was given the types:10061007 # type: dynamic(atom() or binary())1008 # from: lib/phoenix/endpoint/supervisor.ex:27:411009 defaults(otp_app, mod)10101011 # type: dynamic(atom())1012 # from: lib/phoenix/endpoint/supervisor.ex:31:161013 mod.init(:supervisor, env_conf)10141015 type warning found at:1016 │1017 67 │ socket_children(mod) ++1018 │ ~1019 │1020 └─ lib/phoenix/endpoint/supervisor.ex:67:7: Phoenix.Endpoint.Supervisor.init/110211022 warning: expected a module (an atom) when invoking compress_file/2 in expression:10231024 compressor.compress_file(file.digested_filename, file.digested_content)10251026 where "compressor" was given the type:10271028 # type: dynamic(%{..., file_extensions: non_empty_list(term(), term())})1029 # from: lib/phoenix/digester.ex:167:281030 [file_extension | _] = compressor.file_extensions10311032 where "file" was given the type:10331034 # type: dynamic(%{..., relative_path: term()})1035 # from: lib/phoenix/digester.ex:161:171036 Path.join(output_path, file.relative_path)10371038 type warning found at:1039 │1040 170 │ compressor.compress_file(file.digested_filename, file.digested_content) do1041 │ ~1042 │1043 └─ lib/phoenix/digester.ex:170:25: Phoenix.Digester.write_to_disk/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.LiveView.UploadEntry is expected on struct update:13441345 %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}13461347 but got type:13481349 dynamic()13501351 where "entry" was given the type:13521353 # type: dynamic()1354 # from: lib/phoenix_live_view/upload_config.ex:339:281355 entry <- conf.entries13561357 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"13581359 type warning found at:1360 │1361 339 │ | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1362 │ ~1363 │1364 └─ lib/phoenix_live_view/upload_config.ex:339:49: Phoenix.LiveView.UploadConfig.mark_preflighted/113651366 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13671368 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}13691370 but got type:13711372 dynamic()13731374 where "entry" was given the type:13751376 # type: dynamic()1377 # from: lib/phoenix_live_view/upload_config.ex:539:301378 entry13791380 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"13811382 type warning found at:1383 │1384 540 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1385 │ ~1386 │1387 └─ lib/phoenix_live_view/upload_config.ex:540:13: Phoenix.LiveView.UploadConfig.put_valid_entry/213881389 warning: a struct for Phoenix.HTML.Form is expected on struct update:13901391 %Phoenix.HTML.Form{Phoenix.HTML.FormData.to_form(form_for, form_options) | action: action || "#"}13921393 but got type:13941395 dynamic()13961397 where "form_for" was given the type:13981399 # type: dynamic(not false and not nil)1400 # from: lib/phoenix_live_view/helpers.ex:1101:141401 form_for = assigns[:for] || :erlang.error(ArgumentError.exception("missing :for assign to form"))14021403 where "form_options" was given the type:14041405 # type: dynamic(list({term(), term()}))1406 # from: lib/phoenix_live_view/helpers.ex:1102:181407 form_options = assigns_to_attributes(assigns, [:action, :for])14081409 you must assign "Phoenix.HTML.FormData.to_form(form_for, form_options)" to variable and pattern match on "%Phoenix.HTML.Form{}"14101411 type warning found at:1412 │1413 1106 │ form = %Phoenix.HTML.Form{1414 │ ~1415 │1416 └─ lib/phoenix_live_view/helpers.ex:1106:14: Phoenix.LiveView.Helpers.form/114171418 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"