config_manager

Build log

nerves_system_qemu_aarch64

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