config_manager

Build log

nerves_system_bbb

config_manager 0.1.1 · fail · run config_manager-0.1.1-1791072597047
1807 of 1807 lines
1Resolving Hex dependencies...2Resolution completed in 0.389s3Unchanged: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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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_armv7_nerves_linux_gnueabihf337Compiling 1 file (.ex)338Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app339==> nerves_compatibility_test340===> Analyzing applications...341===> Compiling idna342===> Analyzing applications...343===> Compiling telemetry344==> telemetry_metrics345Compiling 7 files (.ex)346     warning: unused require Logger347     │348 391 │   require Logger349     │   ~350     │351     └─ lib/telemetry_metrics.ex:391:3352353Generated telemetry_metrics app354==> nerves_compatibility_test355===> Analyzing applications...356===> Compiling telemetry_poller357==> db_connection358Compiling 18 files (.ex)359Generated db_connection app360==> ecto361Compiling 56 files (.ex)362Generated ecto app363==> nerves_compatibility_test364===> Analyzing applications...365===> Compiling cowboy366==> expo367Compiling 2 files (.erl)368Compiling 22 files (.ex)369Generated expo app370==> gettext371Compiling 18 files (.ex)372     warning: unused require Gettext.Macros373     │374 594 │   require Gettext.Macros375     │   ~376     │377     └─ lib/gettext.ex:594:3378379     warning: the following clause is redundant:380381         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)382383     it has type:384385         dynamic(%Expo.Message.Plural{})386387     previous clauses have already matched on the following types:388389         %Expo.Message.Singular{}390         %Expo.Message.Plural{}391392     │393 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do394     │        ~395     │396     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1397398     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead399     │400 426 │               Kernel.ParallelCompiler.async(fn ->401     │                                       ~402     │403     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3404405Generated gettext app406==> phoenix_pubsub407Compiling 12 files (.ex)408Generated phoenix_pubsub app409==> plug410Compiling 1 file (.erl)411Compiling 42 files (.ex)412Generated plug app413==> phoenix_html414Compiling 9 files (.ex)415    warning: comparison between distinct types found:416417        id == nil418419    given types:420421        dynamic(not false and not nil and not binary()) == nil422423    where "id" was given the types:424425        # type: dynamic(not false and not nil)426        # from: lib/phoenix_html/form_data.ex:92:8427        id = Keyword.get(opts, :id) || name428429        # type: dynamic(not false and not nil and not binary())430        # from: lib/phoenix_html/form_data.ex:94:12431        is_binary(id)432433    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 false434435    type warning found at:436    │437 94 │     unless is_binary(id) or is_nil(id) do438    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~439    │440    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2441442    warning: the 1st pattern in clause will never match:443444        60445446    because it is expected to receive type:447448        dynamic(empty_list() or non_empty_list(term(), term()))449450    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())451452    type warning found at:453    │454 56 │   def to_iodata(?<), do: "&lt;"455    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~456    │457    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1458459    warning: the 1st pattern in clause will never match:460461        62462463    because it is expected to receive type:464465        dynamic(empty_list() or non_empty_list(term(), term()))466467    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())468469    type warning found at:470    │471 57 │   def to_iodata(?>), do: "&gt;"472    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~473    │474    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1475476    warning: the 1st pattern in clause will never match:477478        38479480    because it is expected to receive type:481482        dynamic(empty_list() or non_empty_list(term(), term()))483484    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())485486    type warning found at:487    │488 58 │   def to_iodata(?&), do: "&amp;"489    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~490    │491    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1492493    warning: the 1st pattern in clause will never match:494495        34496497    because it is expected to receive type:498499        dynamic(empty_list() or non_empty_list(term(), term()))500501    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())502503    type warning found at:504    │505 59 │   def to_iodata(?"), do: "&quot;"506    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~507    │508    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1509510    warning: the 1st pattern in clause will never match:511512        39513514    because it is expected to receive type:515516        dynamic(empty_list() or non_empty_list(term(), term()))517518    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())519520    type warning found at:521    │522 60 │   def to_iodata(?'), do: "&#39;"523    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~524    │525    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1526527    warning: the 1st pattern in clause will never match:528529        {:safe, data}530531    because it is expected to receive type:532533        dynamic(empty_list() or non_empty_list(term(), term()))534535    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())536537    type warning found at:538    │539 76 │   def to_iodata({:safe, data}) do540    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~541    │542    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1543544    warning: the following clause is redundant:545546        def to_iodata(other)547548    it has type:549550        dynamic(empty_list() or non_empty_list(term(), term()))551552    previous clauses have already matched on the following types:553554        non_empty_list(term(), term())555        empty_list()556557    │558 80 │   def to_iodata(other) do559    │       ~560    │561    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1562563    warning: the 1st pattern in clause will never match:564565        h566567    because it is expected to receive type:568569        dynamic(empty_list() or non_empty_list(term(), term()))570571    where "h" was given the type:572573        # type: integer()574        # from: lib/phoenix_html/safe.ex:62:25575        is_integer(h)576577    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())578579    type warning found at:580    │581 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do582    │                 ~583    │584    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1585586    warning: the 1st pattern in clause will never match:587588        h589590    because it is expected to receive type:591592        dynamic(empty_list() or non_empty_list(term(), term()))593594    where "h" was given the type:595596        # type: integer()597        # from: lib/phoenix_html/safe.ex:66:25598        is_integer(h)599600    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())601602    type warning found at:603    │604 66 │   def to_iodata(h) when is_integer(h) do605    │                 ~606    │607    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1608609    warning: the 1st pattern in clause will never match:610611        h612613    because it is expected to receive type:614615        dynamic(empty_list() or non_empty_list(term(), term()))616617    where "h" was given the type:618619        # type: binary()620        # from: lib/phoenix_html/safe.ex:72:25621        is_binary(h)622623    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())624625    type warning found at:626    │627 72 │   def to_iodata(h) when is_binary(h) do628    │                 ~629    │630    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1631632Generated phoenix_html app633==> phoenix_template634Compiling 4 files (.ex)635Generated phoenix_template app636==> phoenix_view637Compiling 1 file (.ex)638     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 operator639     │640 655 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix641     │                             ~642     │643     └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2644645Generated phoenix_view app646warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"647  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2648  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1649  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5650  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2651  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4652  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2653654==> postgrex655Compiling 70 files (.ex)656Generated postgrex app657==> ecto_sql658Compiling 25 files (.ex)659Generated ecto_sql app660warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"661  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2662  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1663  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5664  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2665  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4666  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2667668==> phoenix_ecto669Compiling 7 files (.ex)670Generated phoenix_ecto app671==> uboot_env672Compiling 5 files (.ex)673Generated uboot_env app674==> nerves_system_bbb675Generated nerves_system_bbb 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 192 │   require Phoenix.Endpoint851     │   ~852     │853     └─ lib/phoenix/socket.ex:192:3854855    warning: unused require Phoenix.Endpoint856    │857  6 │   require Phoenix.Endpoint858    │   ~859    │860    └─ lib/phoenix/channel/server.ex:6: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.HTML.Form is expected on struct update:12411242          %Phoenix.HTML.Form{Phoenix.HTML.FormData.to_form(form_for, form_options) | action: action || "#"}12431244      but got type:12451246          dynamic()12471248      where "form_for" was given the type:12491250          # type: dynamic(not false and not nil)1251          # from: lib/phoenix_live_view/helpers.ex:1101:141252          form_for = assigns[:for] || :erlang.error(ArgumentError.exception("missing :for assign to form"))12531254      where "form_options" was given the type:12551256          # type: dynamic(list({term(), term()}))1257          # from: lib/phoenix_live_view/helpers.ex:1102:181258          form_options = assigns_to_attributes(assigns, [:action, :for])12591260      you must assign "Phoenix.HTML.FormData.to_form(form_for, form_options)" to variable and pattern match on "%Phoenix.HTML.Form{}"12611262      type warning found at:1263      │1264 1106 │       form = %Phoenix.HTML.Form{1265      │              ~1266      │1267      └─ lib/phoenix_live_view/helpers.ex:1106:14: Phoenix.LiveView.Helpers.form/112681269     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12701271         %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}12721273     but got type:12741275         dynamic()12761277     where "entry" was given the type:12781279         # type: dynamic()1280         # from: lib/phoenix_live_view/upload_config.ex:339:281281         entry <- conf.entries12821283     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12841285     type warning found at:1286     │1287 339 │       | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1288     │                                                 ~1289     │1290     └─ lib/phoenix_live_view/upload_config.ex:339:49: Phoenix.LiveView.UploadConfig.mark_preflighted/112911292     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12931294         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}12951296     but got type:12971298         dynamic()12991300     where "entry" was given the type:13011302         # type: dynamic()1303         # from: lib/phoenix_live_view/upload_config.ex:539:301304         entry13051306     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"13071308     type warning found at:1309     │1310 540 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1311     │             ~1312     │1313     └─ lib/phoenix_live_view/upload_config.ex:540:13: Phoenix.LiveView.UploadConfig.put_valid_entry/213141315     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13161317         %Phoenix.LiveView.UploadEntry{entry | valid?: false}13181319     but got type:13201321         dynamic()13221323     where "entry" was given the type:13241325         # type: dynamic()1326         # from: lib/phoenix_live_view/upload_config.ex:552:321327         entry13281329     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"13301331     type warning found at:1332     │1333 553 │     entry = %UploadEntry{entry | valid?: false}1334     │             ~1335     │1336     └─ lib/phoenix_live_view/upload_config.ex:553:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/313371338     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13391340         %Phoenix.LiveView.Socket{1341           socket1342           | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1343         }13441345     but got type:13461347         dynamic()13481349     where "socket" was given the type:13501351         # type: dynamic()1352         # from: lib/phoenix_live_view/utils.ex:459:211353         socket13541355     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13561357     type warning found at:1358     │1359 460 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1360     │     ~1361     │1362     └─ lib/phoenix_live_view/utils.ex:460:5: Phoenix.LiveView.Utils.do_mount_opt/313631364     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13651366         %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}13671368     but got type:13691370         dynamic()13711372     where "socket" was given the type:13731374         # type: dynamic()1375         # from: lib/phoenix_live_view/utils.ex:463:211376         socket13771378     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13791380     type warning found at:1381     │1382 464 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1383     │     ~1384     │1385     └─ lib/phoenix_live_view/utils.ex:464:5: Phoenix.LiveView.Utils.do_mount_opt/313861387     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13881389         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}13901391     but got type:13921393         dynamic()13941395     where "entry" was given the type:13961397         # type: dynamic()1398         # from: lib/phoenix_live_view/upload_config.ex:635:421399         entry14001401     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14021403     type warning found at:1404     │1405 635 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1406     │                                                   ~1407     │1408     └─ lib/phoenix_live_view/upload_config.ex:635:51: Phoenix.LiveView.UploadConfig.cancel_entry/214091410     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:14111412         %Phoenix.LiveView.Socket{1413           socket1414           | assigns: Map.merge(temp_assigns, socket.assigns),1415             private: Map.put(socket.private, :temporary_assigns, temp_assigns)1416         }14171418     but got type:14191420         dynamic()14211422     where "socket" was given the type:14231424         # type: dynamic()1425         # from: lib/phoenix_live_view/utils.ex:473:211426         socket14271428     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"14291430     type warning found at:1431     │1432 480 │     %Socket{1433     │     ~1434     │1435     └─ lib/phoenix_live_view/utils.ex:480:5: Phoenix.LiveView.Utils.do_mount_opt/314361437     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:14381439         %Phoenix.LiveView.Socket{1440           socket1441           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1442         }14431444     but got type:14451446         dynamic(%{..., assigns: term()})14471448     where "socket" was given the type:14491450         # type: dynamic(%{..., assigns: term()})1451         # from: lib/phoenix_live_view/utils.ex:491:431452         %{assigns: assigns} = socket14531454     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"14551456     type warning found at:1457     │1458 492 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1459     │              ~1460     │1461     └─ lib/phoenix_live_view/utils.ex:492:14: Phoenix.LiveView.Utils.render_assigns/114621463    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: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1494      │1495 1095 │       Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1496      │                       ~1497      │1498      └─ lib/phoenix_live_view/test/client_proxy.ex:1095:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31499      └─ lib/phoenix_live_view/test/client_proxy.ex:1100:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31500      └─ lib/phoenix_live_view/test/client_proxy.ex:1110:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31501      └─ lib/phoenix_live_view/test/client_proxy.ex:1119:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/315021503     warning: the following clause is redundant:15041505         def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)15061507     it has type:15081509         dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))15101511     previous clauses have already matched on the following types:15121513         %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1514         %Phoenix.LiveView.Socket{}, term(), (none() -> term())1515         term(), term(), (none(), none() -> term())1516         term(), term(), (none() -> term())15171518     │1519 952 │   def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1520     │       ~1521     │1522     └─ lib/phoenix_live_view.ex:952:7: Phoenix.LiveView.update/315231524     warning: the right-hand side of || (shown as ... below) will never be executed:15251526         conn.private[:live_view_connect_info] || prune_conn(conn) || ...15271528     because the left-hand side always evaluates to:15291530         dynamic(not false and not nil)15311532     where "conn" was given the types:15331534         # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1535         # from: lib/phoenix_live_view/test/live_view_test.ex:320:721536         %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn15371538         # type: dynamic(%Plug.Conn{1539           assigns: %{..., live_module: term()},1540           private:1541             %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1542               non_struct_map(),1543           status: integer()1544         })1545         # from: lib/phoenix_live_view/test/live_view_test.ex:334:351546         conn.private[:live_view_connect_params]15471548     type warning found at:1549     │1550 335 │       connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1551     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1552     │1553     └─ lib/phoenix_live_view/test/live_view_test.ex:335: Phoenix.LiveViewTest.connect_from_static_token/215541555     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"