config_manager

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: "&lt;"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: "&gt;"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: "&amp;"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: "&quot;"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: "&#39;"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"