config_manager

Build log

nerves_system_rpi0

config_manager 0.1.1 · fail · run config_manager-0.1.1-1791072597047
1807 of 1807 lines
1Resolving Hex dependencies...2Resolution completed in 0.466s3Unchanged: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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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_armv6_nerves_linux_gnueabihf337Compiling 1 file (.ex)338Generated nerves_toolchain_armv6_nerves_linux_gnueabihf app339==> nerves_system_rpi0340Generated nerves_system_rpi0 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)658Generated postgrex app659==> ecto_sql660Compiling 25 files (.ex)661Generated ecto_sql app662warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"663  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2664  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1665  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5666  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2667  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4668  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2669670==> phoenix_ecto671Compiling 7 files (.ex)672Generated phoenix_ecto app673==> uboot_env674Compiling 5 files (.ex)675Generated uboot_env app676==> property_table677Compiling 8 files (.ex)678Generated property_table app679==> nerves_uevent680 CC uevent.o681 LD uevent682Compiling 5 files (.ex)683Generated nerves_uevent app684==> nerves_runtime685Compiling 14 files (.ex)686Generated nerves_runtime app687==> toolshed688Compiling 5 files (.ex)689Generated toolshed app690==> nerves_compatibility_test691===> Analyzing applications...692===> Compiling cowboy_telemetry693==> plug_cowboy694Compiling 5 files (.ex)695Generated plug_cowboy app696warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"697  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2698  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1699  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5700  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2701  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4702  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2703704==> phoenix705Compiling 69 files (.ex)706     warning: using single-quoted strings to represent charlists is deprecated.707     Use ~c"" if you indeed want a charlist or use "" instead.708     You may run "mix format --migrate" to change all single-quoted709     strings to use the ~c sigil and fix this warning.710     │711 258 │           notBefore: {:utcTime, '#{not_before}000000Z'},712     │                                 ~713     │714     └─ lib/mix/tasks/phx.gen.cert.ex:258:33715716     warning: using single-quoted strings to represent charlists is deprecated.717     Use ~c"" if you indeed want a charlist or use "" instead.718     You may run "mix format --migrate" to change all single-quoted719     strings to use the ~c sigil and fix this warning.720     │721 259 │           notAfter: {:utcTime, '#{not_after}000000Z'}722     │                                ~723     │724     └─ lib/mix/tasks/phx.gen.cert.ex:259:32725726    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead727    │728 50 │             Logger.warn(729    │                    ~730    │731    └─ lib/phoenix/code_reloader/server.ex:50:20: Phoenix.CodeReloader.Server.handle_call/3732733    warning: unused require Logger734    │735  9 │   require Logger736    │   ~737    │738    └─ lib/phoenix/config.ex:9:3739740     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.741742     This error happens when you have function calls without parentheses inside keywords. For example:743744         function(arg, one: nested_call a, b, c)745         function(arg, one: if expr, do: :this, else: :that)746747     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:748749         function(arg, one: if(expr, do: :this, else: :that))750         function(arg, one: nested_call(a, b, c))751752     Ambiguity found at:753     │754 998 │   defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"755     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~756     │757     └─ lib/phoenix/controller.ex:998758759     warning: unused require Logger760     │761 259 │   require Logger762     │   ~763     │764     └─ lib/phoenix/endpoint.ex:259:3765766      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead767      │768 1009 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>769      │              ~770      │771      └─ lib/phoenix/controller.ex:1009:14: Phoenix.Controller.warn_if_ajax/1772773    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead774    │775 34 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")776    │                    ~777    │778    └─ lib/phoenix/endpoint/supervisor.ex:34:20: Phoenix.Endpoint.Supervisor.init/1779780    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead781    │782 57 │       Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")783    │              ~784    │785    └─ lib/phoenix/endpoint/supervisor.ex:57:14: Phoenix.Endpoint.Supervisor.init/1786787    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead788    │789 78 │       Logger.warn """790    │              ~791    │792    └─ lib/phoenix/endpoint/supervisor.ex:78:14: Phoenix.Endpoint.Supervisor.pubsub_children/2793794     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead795     │796 264 │       Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")797     │              ~798     │799     └─ lib/phoenix/endpoint/supervisor.ex:264:14: Phoenix.Endpoint.Supervisor.build_url/2800801    warning: unused require Phoenix.Endpoint802    │803  6 │   require Phoenix.Endpoint804    │   ~805    │806    └─ lib/phoenix/controller.ex:6:3807808    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 operator809    │810 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix811    │                             ~812    │813    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2814815    warning: unused require Phoenix.Endpoint816    │817 19 │   require Phoenix.Endpoint818    │   ~819    │820    └─ lib/phoenix/endpoint/render_errors.ex:19:3821822    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.823824    This error happens when you have function calls without parentheses inside keywords. For example:825826        function(arg, one: nested_call a, b, c)827        function(arg, one: if expr, do: :this, else: :that)828829    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:830831        function(arg, one: if(expr, do: :this, else: :that))832        function(arg, one: nested_call(a, b, c))833834    Ambiguity found at:835    │836 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """837    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~838    │839    └─ lib/phoenix/router/resource.ex:71840841     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead842     │843 653 │         Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(socket.handler)}" end844     │                ~845     │846     └─ lib/phoenix/socket.ex:653:16: Phoenix.Socket.handle_in/4847848    warning: unused require Phoenix.Endpoint849    │850  6 │   require Phoenix.Endpoint851    │   ~852    │853    └─ lib/phoenix/channel/server.ex:6:3854855     warning: unused require Phoenix.Endpoint856     │857 192 │   require Phoenix.Endpoint858     │   ~859     │860     └─ lib/phoenix/socket.ex:192:3861862    warning: unused require Logger863    │864 93 │   require Logger865    │   ~866    │867    └─ lib/phoenix/token.ex:93:3868869     warning: comparison between distinct types found:870871         merge_all != []872873     given types:874875         dynamic(non_empty_list({atom(), term()})) != empty_list()876877     where "merge_all" was given the type:878879         # type: dynamic(non_empty_list({atom(), term()}))880         # from: lib/phoenix/router/route.ex:111:15881         merge_all = merge_params ++ merge_private ++ merge_assigns882883     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 false884885     type warning found at:886     │887 113 │     if merge_all != [] do888     │                  ~889     │890     └─ lib/phoenix/router/route.ex:113:18: Phoenix.Router.Route.build_prepare/1891892    warning: a struct for Plug.Conn is expected on struct update:893894        %Plug.Conn{conn | state: :sent}895896    but got type:897898        dynamic()899900    where "conn" was given the type:901902        # type: dynamic()903        # from: lib/phoenix/endpoint/render_errors.ex:57:17904        conn905906    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"907908    type warning found at:909    │910 61 │         %Plug.Conn{conn | state: :sent}911    │         ~912    │913    └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/5914915     warning: a struct for Plug.Conn is expected on struct update:916917         %Plug.Conn{conn | query_params: %{}, params: %{}}918919     but got type:920921         dynamic(%{..., params: %Plug.Conn.Unfetched{}})922923     where "conn" was given the types:924925         # type: dynamic(%{..., params: term()})926         # from: lib/phoenix/endpoint/render_errors.ex:124:17927         conn.params928929         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})930         # from: lib/phoenix/endpoint/render_errors.ex:124:17931         conn.params932933     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"934935     type warning found at:936     │937 125 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}938     │                                   ~939     │940     └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1941942     warning: a struct for Plug.Conn is expected on struct update:943944         %Plug.Conn{conn | query_params: %{}, params: params}945946     but got type:947948         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})949950     where "conn" was given the types:951952         # type: dynamic(%{..., params: term()})953         # from: lib/phoenix/endpoint/render_errors.ex:124:17954         conn.params955956         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})957         # from: lib/phoenix/endpoint/render_errors.ex:124:17958         conn.params959960     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"961962     type warning found at:963     │964 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}965     │                   ~966     │967     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1968969      warning: a struct for Plug.Conn is expected on struct update:970971          %Plug.Conn{conn | params: params}972973      but got type:974975          dynamic(%{..., params: map()})976977      where "conn" was given the type:978979          # type: dynamic(%{..., params: map()})980          # from: lib/phoenix/controller.ex:1036:17981          Map.get(conn.params, required_key)982983      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"984985      type warning found at:986      │987 1043 │     %Plug.Conn{conn | params: params}988      │     ~989      │990      └─ lib/phoenix/controller.ex:1043:5: Phoenix.Controller.scrub_params/2991992    warning: incompatible types given to socket_children/1:993994        socket_children(mod)995996    given types:997998        -dynamic(atom())-9991000    but expected one of:10011002        %{..., __sockets__: term()}10031004    where "mod" was given the types:10051006        # type: dynamic(atom() or binary())1007        # from: lib/phoenix/endpoint/supervisor.ex:27:411008        defaults(otp_app, mod)10091010        # type: dynamic(atom())1011        # from: lib/phoenix/endpoint/supervisor.ex:31:161012        mod.init(:supervisor, env_conf)10131014    type warning found at:1015    │1016 67 │       socket_children(mod) ++1017    │       ~1018    │1019    └─ lib/phoenix/endpoint/supervisor.ex:67:7: Phoenix.Endpoint.Supervisor.init/110201021     warning: expected a module (an atom) when invoking compress_file/2 in expression:10221023         compressor.compress_file(file.digested_filename, file.digested_content)10241025     where "compressor" was given the type:10261027         # type: dynamic(%{..., file_extensions: non_empty_list(term(), term())})1028         # from: lib/phoenix/digester.ex:167:281029         [file_extension | _] = compressor.file_extensions10301031     where "file" was given the type:10321033         # type: dynamic(%{..., relative_path: term()})1034         # from: lib/phoenix/digester.ex:161:171035         Path.join(output_path, file.relative_path)10361037     type warning found at:1038     │1039 170 │              compressor.compress_file(file.digested_filename, file.digested_content) do1040     │                         ~1041     │1042     └─ lib/phoenix/digester.ex:170:25: Phoenix.Digester.write_to_disk/210431044Generated phoenix app1045warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1046  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21047  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11048  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51049  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21050  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41051  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210521053==> phoenix_live_view1054Compiling 31 files (.ex)1055     warning: using single-quoted strings to represent charlists is deprecated.1056     Use ~c"" if you indeed want a charlist or use "" instead.1057     You may run "mix format --migrate" to change all single-quoted1058     strings to use the ~c sigil and fix this warning.1059     │1060 319 │         {'LiveView', view},1061     │          ~1062     │1063     └─ lib/phoenix_live_view/channel.ex:319:1010641065     warning: using single-quoted strings to represent charlists is deprecated.1066     Use ~c"" if you indeed want a charlist or use "" instead.1067     You may run "mix format --migrate" to change all single-quoted1068     strings to use the ~c sigil and fix this warning.1069     │1070 320 │         {'Parent pid', parent_pid},1071     │          ~1072     │1073     └─ lib/phoenix_live_view/channel.ex:320:1010741075     warning: using single-quoted strings to represent charlists is deprecated.1076     Use ~c"" if you indeed want a charlist or use "" instead.1077     You may run "mix format --migrate" to change all single-quoted1078     strings to use the ~c sigil and fix this warning.1079     │1080 321 │         {'Transport pid', transport_pid},1081     │          ~1082     │1083     └─ lib/phoenix_live_view/channel.ex:321:1010841085     warning: using single-quoted strings to represent charlists is deprecated.1086     Use ~c"" if you indeed want a charlist or use "" instead.1087     You may run "mix format --migrate" to change all single-quoted1088     strings to use the ~c sigil and fix this warning.1089     │1090 322 │         {'Topic', topic},1091     │          ~1092     │1093     └─ lib/phoenix_live_view/channel.ex:322:1010941095     warning: using single-quoted strings to represent charlists is deprecated.1096     Use ~c"" if you indeed want a charlist or use "" instead.1097     You may run "mix format --migrate" to change all single-quoted1098     strings to use the ~c sigil and fix this warning.1099     │1100 323 │         {'Components count', map_size(cid_to_component)}1101     │          ~1102     │1103     └─ lib/phoenix_live_view/channel.ex:323:1011041105     warning: using single-quoted strings to represent charlists is deprecated.1106     Use ~c"" if you indeed want a charlist or use "" instead.1107     You may run "mix format --migrate" to change all single-quoted1108     strings to use the ~c sigil and fix this warning.1109     │1110 329 │     [data: [{'State', state}]]1111     │              ~1112     │1113     └─ lib/phoenix_live_view/channel.ex:329:1411141115     warning: using single-quoted strings to represent charlists is deprecated.1116     Use ~c"" if you indeed want a charlist or use "" instead.1117     You may run "mix format --migrate" to change all single-quoted1118     strings to use the ~c sigil and fix this warning.1119     │1120 112 │   @codepoints '\s\n\r\t'1121     │               ~1122     │1123     └─ lib/phoenix_live_view/html_algebra.ex:112:1511241125     warning: using single-quoted strings to represent charlists is deprecated.1126     Use ~c"" if you indeed want a charlist or use "" instead.1127     You may run "mix format --migrate" to change all single-quoted1128     strings to use the ~c sigil and fix this warning.1129     │1130 125 │     do: :binary.first(text) in '\n\r'1131     │                                ~1132     │1133     └─ lib/phoenix_live_view/html_algebra.ex:125:3211341135     warning: using single-quoted strings to represent charlists is deprecated.1136     Use ~c"" if you indeed want a charlist or use "" instead.1137     You may run "mix format --migrate" to change all single-quoted1138     strings to use the ~c sigil and fix this warning.1139     │1140 130 │     do: :binary.last(text) in '\n\r'1141     │                               ~1142     │1143     └─ lib/phoenix_live_view/html_algebra.ex:130:3111441145     warning: using single-quoted strings to represent charlists is deprecated.1146     Use ~c"" if you indeed want a charlist or use "" instead.1147     You may run "mix format --migrate" to change all single-quoted1148     strings to use the ~c sigil and fix this warning.1149     │1150 503 │   defp count_newlines_until_text(<<char, rest::binary>>, counter) when char in '\s\t\r',1151     │                                                                                ~1152     │1153     └─ lib/phoenix_live_view/html_formatter.ex:503:8011541155     warning: using single-quoted strings to represent charlists is deprecated.1156     Use ~c"" if you indeed want a charlist or use "" instead.1157     You may run "mix format --migrate" to change all single-quoted1158     strings to use the ~c sigil and fix this warning.1159     │1160 536 │     do: if(String.trim_leading(text) == "", do: false, else: !(:binary.last(text) in '\s\t'))1161     │                                                                                      ~1162     │1163     └─ lib/phoenix_live_view/html_formatter.ex:536:8611641165     warning: using single-quoted strings to represent charlists is deprecated.1166     Use ~c"" if you indeed want a charlist or use "" instead.1167     You may run "mix format --migrate" to change all single-quoted1168     strings to use the ~c sigil and fix this warning.1169     │1170 546 │       if String.trim_leading(text) != "" and :binary.first(text) not in '\s\t\n\r' do1171     │                                                                         ~1172     │1173     └─ lib/phoenix_live_view/html_formatter.ex:546:7311741175    warning: using single-quoted strings to represent charlists is deprecated.1176    Use ~c"" if you indeed want a charlist or use "" instead.1177    You may run "mix format --migrate" to change all single-quoted1178    strings to use the ~c sigil and fix this warning.1179    │1180  3 │   @space_chars '\s\t\f'1181    │                ~1182    │1183    └─ lib/phoenix_live_view/html_tokenizer.ex:3:1611841185    warning: using single-quoted strings to represent charlists is deprecated.1186    Use ~c"" if you indeed want a charlist or use "" instead.1187    You may run "mix format --migrate" to change all single-quoted1188    strings to use the ~c sigil and fix this warning.1189    │1190  4 │   @quote_chars '"\''1191    │                ~1192    │1193    └─ lib/phoenix_live_view/html_tokenizer.ex:4:1611941195    warning: using single-quoted strings to represent charlists is deprecated.1196    Use ~c"" if you indeed want a charlist or use "" instead.1197    You may run "mix format --migrate" to change all single-quoted1198    strings to use the ~c sigil and fix this warning.1199    │1200  5 │   @stop_chars '>/=\r\n' ++ @quote_chars ++ @space_chars1201    │               ~1202    │1203    └─ lib/phoenix_live_view/html_tokenizer.ex:5:1512041205    warning: unused require Logger1206    │1207 25 │   require Logger1208    │   ~1209    │1210    └─ lib/phoenix_live_view/socket.ex:25:312111212     warning: unused require Phoenix.ChannelTest1213     │1214 179 │   require Phoenix.ChannelTest1215     │   ~1216     │1217     └─ lib/phoenix_live_view/test/live_view_test.ex:179:312181219     warning: unused require Phoenix.ConnTest1220     │1221 178 │   require Phoenix.ConnTest1222     │   ~1223     │1224     └─ lib/phoenix_live_view/test/live_view_test.ex:178:312251226    warning: unused require Phoenix.ChannelTest1227    │1228  4 │   require Phoenix.ChannelTest1229    │   ~1230    │1231    └─ lib/phoenix_live_view/test/upload_client.ex:4:312321233    warning: unused require Logger1234    │1235  6 │   require Logger1236    │   ~1237    │1238    └─ lib/phoenix_live_view/upload_channel.ex:6:312391240     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12411242         %Phoenix.LiveView.Socket{1243           socket1244           | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1245         }12461247     but got type:12481249         dynamic()12501251     where "socket" was given the type:12521253         # type: dynamic()1254         # from: lib/phoenix_live_view/utils.ex:459:211255         socket12561257     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"12581259     type warning found at:1260     │1261 460 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1262     │     ~1263     │1264     └─ lib/phoenix_live_view/utils.ex:460:5: Phoenix.LiveView.Utils.do_mount_opt/312651266     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12671268         %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}12691270     but got type:12711272         dynamic()12731274     where "socket" was given the type:12751276         # type: dynamic()1277         # from: lib/phoenix_live_view/utils.ex:463:211278         socket12791280     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"12811282     type warning found at:1283     │1284 464 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1285     │     ~1286     │1287     └─ lib/phoenix_live_view/utils.ex:464:5: Phoenix.LiveView.Utils.do_mount_opt/312881289     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12901291         %Phoenix.LiveView.Socket{1292           socket1293           | assigns: Map.merge(temp_assigns, socket.assigns),1294             private: Map.put(socket.private, :temporary_assigns, temp_assigns)1295         }12961297     but got type:12981299         dynamic()13001301     where "socket" was given the type:13021303         # type: dynamic()1304         # from: lib/phoenix_live_view/utils.ex:473:211305         socket13061307     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13081309     type warning found at:1310     │1311 480 │     %Socket{1312     │     ~1313     │1314     └─ lib/phoenix_live_view/utils.ex:480:5: Phoenix.LiveView.Utils.do_mount_opt/313151316     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13171318         %Phoenix.LiveView.Socket{1319           socket1320           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1321         }13221323     but got type:13241325         dynamic(%{..., assigns: term()})13261327     where "socket" was given the type:13281329         # type: dynamic(%{..., assigns: term()})1330         # from: lib/phoenix_live_view/utils.ex:491:431331         %{assigns: assigns} = socket13321333     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13341335     type warning found at:1336     │1337 492 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1338     │              ~1339     │1340     └─ lib/phoenix_live_view/utils.ex:492:14: Phoenix.LiveView.Utils.render_assigns/113411342     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13431344         %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}13451346     but got type:13471348         dynamic()13491350     where "entry" was given the type:13511352         # type: dynamic()1353         # from: lib/phoenix_live_view/upload_config.ex:339:281354         entry <- conf.entries13551356     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"13571358     type warning found at:1359     │1360 339 │       | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1361     │                                                 ~1362     │1363     └─ lib/phoenix_live_view/upload_config.ex:339:49: Phoenix.LiveView.UploadConfig.mark_preflighted/113641365     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13661367         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}13681369     but got type:13701371         dynamic()13721373     where "entry" was given the type:13741375         # type: dynamic()1376         # from: lib/phoenix_live_view/upload_config.ex:539:301377         entry13781379     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"13801381     type warning found at:1382     │1383 540 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1384     │             ~1385     │1386     └─ lib/phoenix_live_view/upload_config.ex:540:13: Phoenix.LiveView.UploadConfig.put_valid_entry/213871388     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13891390         %Phoenix.LiveView.UploadEntry{entry | valid?: false}13911392     but got type:13931394         dynamic()13951396     where "entry" was given the type:13971398         # type: dynamic()1399         # from: lib/phoenix_live_view/upload_config.ex:552:321400         entry14011402     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14031404     type warning found at:1405     │1406 553 │     entry = %UploadEntry{entry | valid?: false}1407     │             ~1408     │1409     └─ lib/phoenix_live_view/upload_config.ex:553:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/314101411      warning: a struct for Phoenix.HTML.Form is expected on struct update:14121413          %Phoenix.HTML.Form{Phoenix.HTML.FormData.to_form(form_for, form_options) | action: action || "#"}14141415      but got type:14161417          dynamic()14181419      where "form_for" was given the type:14201421          # type: dynamic(not false and not nil)1422          # from: lib/phoenix_live_view/helpers.ex:1101:141423          form_for = assigns[:for] || :erlang.error(ArgumentError.exception("missing :for assign to form"))14241425      where "form_options" was given the type:14261427          # type: dynamic(list({term(), term()}))1428          # from: lib/phoenix_live_view/helpers.ex:1102:181429          form_options = assigns_to_attributes(assigns, [:action, :for])14301431      you must assign "Phoenix.HTML.FormData.to_form(form_for, form_options)" to variable and pattern match on "%Phoenix.HTML.Form{}"14321433      type warning found at:1434      │1435 1106 │       form = %Phoenix.HTML.Form{1436      │              ~1437      │1438      └─ lib/phoenix_live_view/helpers.ex:1106:14: Phoenix.LiveView.Helpers.form/114391440     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14411442         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}14431444     but got type:14451446         dynamic()14471448     where "entry" was given the type:14491450         # type: dynamic()1451         # from: lib/phoenix_live_view/upload_config.ex:635:421452         entry14531454     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14551456     type warning found at:1457     │1458 635 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1459     │                                                   ~1460     │1461     └─ lib/phoenix_live_view/upload_config.ex:635:51: Phoenix.LiveView.UploadConfig.cancel_entry/214621463    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1464    │1465 72 │     Logger.disable(self())1466    │            ~1467    │1468    └─ lib/phoenix_live_view/test/client_proxy.ex:72:12: Phoenix.LiveViewTest.ClientProxy.init/114691470     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:14711472         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}14731474     but got type:14751476         dynamic(%{..., rendered: map()})14771478     where "view" was given the type:14791480         # type: dynamic(%{..., rendered: map()})1481         # from: lib/phoenix_live_view/test/client_proxy.ex:701:241482         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)14831484     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"14851486     type warning found at:1487     │1488 702 │         new_view = %ClientProxy{view | rendered: rendered}1489     │                    ~1490     │1491     └─ lib/phoenix_live_view/test/client_proxy.ex:702:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/314921493     warning: the right-hand side of || (shown as ... below) will never be executed:14941495         conn.private[:live_view_connect_info] || prune_conn(conn) || ...14961497     because the left-hand side always evaluates to:14981499         dynamic(not false and not nil)15001501     where "conn" was given the types:15021503         # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1504         # from: lib/phoenix_live_view/test/live_view_test.ex:320:721505         %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn15061507         # type: dynamic(%Plug.Conn{1508           assigns: %{..., live_module: term()},1509           private:1510             %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1511               non_struct_map(),1512           status: integer()1513         })1514         # from: lib/phoenix_live_view/test/live_view_test.ex:334:351515         conn.private[:live_view_connect_params]15161517     type warning found at:1518     │1519 335 │       connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1520     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1521     │1522     └─ lib/phoenix_live_view/test/live_view_test.ex:335: Phoenix.LiveViewTest.connect_from_static_token/215231524      warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1525      │1526 1095 │       Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1527      │                       ~1528      │1529      └─ lib/phoenix_live_view/test/client_proxy.ex:1095:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31530      └─ lib/phoenix_live_view/test/client_proxy.ex:1100:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31531      └─ lib/phoenix_live_view/test/client_proxy.ex:1110:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31532      └─ lib/phoenix_live_view/test/client_proxy.ex:1119:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/315331534     warning: the following clause is redundant:15351536         def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)15371538     it has type:15391540         dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))15411542     previous clauses have already matched on the following types:15431544         %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1545         %Phoenix.LiveView.Socket{}, term(), (none() -> term())1546         term(), term(), (none(), none() -> term())1547         term(), term(), (none() -> term())15481549     │1550 952 │   def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1551     │       ~1552     │1553     └─ lib/phoenix_live_view.ex:952:7: Phoenix.LiveView.update/315541555     warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1556     │1557 603 │   defp class_names(nil), do: []1558     │        ~1559     │1560     └─ lib/phoenix_live_view/js.ex:603:8: Phoenix.LiveView.JS.class_names/115611562     warning: the following clause is redundant:15631564         def to_iodata(%_{} = struct)15651566     it has type:15671568         dynamic(%Phoenix.LiveView.Rendered{})15691570     previous clauses have already matched on the following types:15711572         %Phoenix.LiveView.Rendered{}15731574     │1575 127 │     def to_iodata(%_{} = struct) do1576     │         ~1577     │1578     └─ lib/phoenix_live_view/engine.ex:127:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115791580     warning: the 1st pattern in clause will never match:15811582         nil15831584     because it is expected to receive type:15851586         dynamic(%Phoenix.LiveView.Rendered{})15871588     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}15891590     type warning found at:1591     │1592 131 │     def to_iodata(nil) do1593     │     ~~~~~~~~~~~~~~~~~~~~~1594     │1595     └─ lib/phoenix_live_view/engine.ex:131: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115961597     warning: the following clause is redundant:15981599         def to_iodata(other)16001601     it has type:16021603         dynamic(%Phoenix.LiveView.Rendered{})16041605     previous clauses have already matched on the following types:16061607         %Phoenix.LiveView.Rendered{}16081609     │1610 135 │     def to_iodata(other) do1611     │         ~1612     │1613     └─ lib/phoenix_live_view/engine.ex:135:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/116141615Generated phoenix_live_view app1616warning: Phoenix now requires you to explicitly list which engine to use1617for Phoenix JSON encoding. We recommend everyone to upgrade to1618Jason by setting in your config/config.exs:16191620    config :phoenix, :json_library, Jason16211622And then adding {:jason, "~> 1.0"} as a dependency.16231624If instead you would rather continue using Poison, then add to1625your config/config.exs:16261627    config :phoenix, :json_library, Poison16281629  (phoenix 1.6.17) lib/phoenix.ex:56: Phoenix.start/21630  (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/416311632warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1633  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21634  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11635  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51636  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21637  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41638  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/216391640==> phoenix_live_dashboard1641Compiling 40 files (.ex)1642     warning: using single-quoted strings to represent charlists is deprecated.1643     Use ~c"" if you indeed want a charlist or use "" instead.1644     You may run "mix format --migrate" to change all single-quoted1645     strings to use the ~c sigil and fix this warning.1646     │1647 709 │     '#Port' ++ rest = :erlang.port_to_list(ref)1648     │     ~1649     │1650     └─ lib/phoenix/live_dashboard/page_builder.ex:709:516511652     warning: using single-quoted strings to represent charlists is deprecated.1653     Use ~c"" if you indeed want a charlist or use "" instead.1654     You may run "mix format --migrate" to change all single-quoted1655     strings to use the ~c sigil and fix this warning.1656     │1657 728 │     '#Ref' ++ rest = :erlang.ref_to_list(ref)1658     │     ~1659     │1660     └─ lib/phoenix/live_dashboard/page_builder.ex:728:516611662     warning: using single-quoted strings to represent charlists is deprecated.1663     Use ~c"" if you indeed want a charlist or use "" instead.1664     You may run "mix format --migrate" to change all single-quoted1665     strings to use the ~c sigil and fix this warning.1666     │1667 446 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1668     │                ~1669     │1670     └─ lib/phoenix/live_dashboard/system_info.ex:446:1616711672     warning: using single-quoted strings to represent charlists is deprecated.1673     Use ~c"" if you indeed want a charlist or use "" instead.1674     You may run "mix format --migrate" to change all single-quoted1675     strings to use the ~c sigil and fix this warning.1676     │1677 446 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1678     │                            ~1679     │1680     └─ lib/phoenix/live_dashboard/system_info.ex:446:2816811682     warning: using single-quoted strings to represent charlists is deprecated.1683     Use ~c"" if you indeed want a charlist or use "" instead.1684     You may run "mix format --migrate" to change all single-quoted1685     strings to use the ~c sigil and fix this warning.1686     │1687 446 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1688     │                                        ~1689     │1690     └─ lib/phoenix/live_dashboard/system_info.ex:446:4016911692     warning: using single-quoted strings to represent charlists is deprecated.1693     Use ~c"" if you indeed want a charlist or use "" instead.1694     You may run "mix format --migrate" to change all single-quoted1695     strings to use the ~c sigil and fix this warning.1696     │1697 654 │         [{'none', 0, 0}] -> []1698     │           ~1699     │1700     └─ lib/phoenix/live_dashboard/system_info.ex:654:1117011702warning: 0..-2 has a default step of -1, please write 0..-2//-1 instead1703  lib/phoenix/live_dashboard/page_live.ex:178: Phoenix.LiveDashboard.PageLive.dashboard_mount_path/317041705warning: 0..-3 has a default step of -1, please write 0..-3//-1 instead1706  lib/phoenix/live_dashboard/page_live.ex:178: Phoenix.LiveDashboard.PageLive.dashboard_mount_path/317071708     warning: expected a module (an atom) when invoking __live__/0 in expression:17091710         Map.put(component_assigns, :page, page).__live__()17111712     but got type:17131714         dynamic(%{..., page: term()})17151716     where "component_assigns" was given the type:17171718         # type: dynamic(map())1719         # from: lib/phoenix/live_dashboard/components/nav_bar_component.ex:218:391720         Map.put(component_assigns, :page, page)17211722     where "page" was given the type:17231724         # type: dynamic()1725         # from: lib/phoenix/live_dashboard/components/nav_bar_component.ex:215:231726         page17271728     hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()17291730     type warning found at:1731     │1732 218 │         live_component(component, Map.put(component_assigns, :page, page))1733     │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1734     │1735     └─ lib/phoenix/live_dashboard/components/nav_bar_component.ex:218: Phoenix.LiveDashboard.NavBarComponent.render_content/217361737     warning: expected a module (an atom) when invoking __live__/0 in expression:17381739         component_assigns.__live__()17401741     where "component_assigns" was given the type:17421743         # type: dynamic(%{..., page: term()})1744         # from: lib/phoenix/live_dashboard/page_live.ex:238:231745         component_assigns = Map.put(component_assigns, :page, assigns.page)17461747     hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()17481749     type warning found at:1750     │1751 239 │     live_component(component, component_assigns)1752     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1753     │1754     └─ lib/phoenix/live_dashboard/page_live.ex:239: Phoenix.LiveDashboard.PageLive.render_page/217551756    warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1757    │1758  8 │     Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)1759    │            ~1760    │1761    └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/217621763Generated phoenix_live_dashboard app1764==> swoosh1765Compiling 62 files (.ex)1766Generated swoosh app1767warning: the :gettext compiler is no longer required in your mix.exs.17681769Please find the following line in your mix.exs and remove the :gettext entry:17701771    compilers: [..., :gettext, ...] ++ Mix.compilers(),17721773  (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11774  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51775  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21776  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41777  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21778  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/517791780==> config_manager1781Compiling 18 files (.ex)1782warning: defining a Gettext backend by calling17831784    use Gettext, otp_app: ...17851786is deprecated. To define a backend, call:17871788    use Gettext.Backend, otp_app: :my_app17891790Then, instead of importing your backend, call this in your module:17911792    use Gettext, backend: MyApp.Gettext17931794  lib/config_manager_web/gettext.ex:23: ConfigManagerWeb.Gettext (module)179517961797== Compilation error in file lib/config_manager_web/endpoint.ex ==1798** (ArgumentError) invalid :json_decoder option. The module Poison is not loaded and could not be found1799    (plug 1.20.3) lib/plug/parsers/json.ex:48: Plug.Parsers.JSON.validate_decoder!/11800    (plug 1.20.3) lib/plug/parsers/json.ex:35: Plug.Parsers.JSON.init/11801    (plug 1.20.3) lib/plug/parsers.ex:283: anonymous fn/2 in Plug.Parsers.convert_parsers/21802    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21803    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21804    (plug 1.20.3) lib/plug/parsers.ex:263: Plug.Parsers.init/11805    (plug 1.20.3) lib/plug/builder.ex:358: Plug.Builder.init_module_plug/41806    (plug 1.20.3) lib/plug/builder.ex:339: anonymous fn/5 in Plug.Builder.compile/31807could 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"