islands_vue_client

Build log

nerves_system_rpi5

islands_vue_client 0.1.16 · fail · run islands_vue_client-0.1.16-1790960379549
1897 of 1897 lines
1Resolving Hex dependencies...2Resolution completed in 0.418s3Unchanged:4  circular_buffer 1.1.05  cowboy 2.19.06  cowboy_telemetry 0.3.17  cowlib 2.20.0 VULNERABLE!8    EEF-CVE-2026-43966 (MEDIUM)9    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c10    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/211    https://osv.dev/vulnerability/EEF-CVE-2026-439661213    EEF-CVE-2026-43969 (LOW)14    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5615    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/116    https://osv.dev/vulnerability/EEF-CVE-2026-4396917  dynamic_supervisor_proxy 0.1.7118  elixir_make 0.10.019  expo 1.1.120  file_only_logger 0.2.7021  gen_server_proxy 0.1.7222  gettext 0.26.223  interactive_cmd 0.1.424  io_ansi_plus 0.1.8425  io_ansi_table 1.0.4026  islands_board 0.1.4427  islands_board_cache 0.1.3928  islands_client_island_type 0.1.2929  islands_client_random_guess 0.1.3930  islands_client_state 0.1.2831  islands_coord 0.1.4332  islands_engine 0.2.6533  islands_game 0.1.5334  islands_grid 0.1.4635  islands_guesses 0.1.4036  islands_island 0.1.4237  islands_player 0.1.4238  islands_player_id 0.1.2939  islands_request 0.1.4040  islands_response 0.1.2941  islands_score 0.1.5142  islands_state 0.1.3443  islands_tally 0.1.3044  islands_vue_client 0.1.1645  jason 1.4.546  log_reset 0.1.7047  map_sorter 0.2.7048  mime 2.0.749  nerves 2.0.0-pre.250  nerves_discovery 0.1.551  nerves_logging 0.2.452  nerves_runtime 0.13.1353  nerves_system_bbb 2.30.254  nerves_system_br 1.34.455  nerves_system_mangopi_mq_pro 0.17.256  nerves_system_qemu_aarch64 0.4.257  nerves_system_rpi0 2.1.258  nerves_system_rpi4 2.1.259  nerves_system_rpi5 2.1.260  nerves_system_trellis 0.5.061  nerves_system_x86_64 1.34.262  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.163  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.164  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.165  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.166  nerves_toolchain_x86_64_nerves_linux_musl 15.3.167  nerves_uevent 0.1.768  persist_config 0.4.5669  phoenix 1.5.15 VULNERABLE!70    GHSA-p8f7-22gq-m7j9 (HIGH)71    aka: CVE-2022-4297572    Phoenix before 1.6.14 mishandles check_origin wildcarding73    https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j974  phoenix_html 2.14.3 VULNERABLE!75    GHSA-5g2h-9x5v-5h3x (MEDIUM)76    aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q277    phoenix_html allows Cross-site Scripting in HEEx class attributes78    https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x79  phoenix_live_dashboard 0.4.080  phoenix_live_view 0.15.7 VULNERABLE!81    EEF-CVE-2026-64941 (LOW)82    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf83    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR84    https://osv.dev/vulnerability/EEF-CVE-2026-6494185  phoenix_pubsub 2.3.086  plug 1.20.387  plug_cowboy 2.9.088  plug_crypto 1.2.589  property_table 0.3.490  ranch 2.3.091  ring_logger 0.11.792  tablet 0.3.393  telemetry 0.4.394  telemetry_metrics 0.6.295  telemetry_poller 0.5.196  toolshed 0.5.097  uboot_env 1.0.298* Getting islands_vue_client (Hex package)99* Getting nerves (Hex package)100* Getting ring_logger (Hex package)101* Getting toolshed (Hex package)102* Getting nerves_runtime (Hex package)103* Getting nerves_system_bbb (Hex package)104* Getting nerves_system_mangopi_mq_pro (Hex package)105* Getting nerves_system_qemu_aarch64 (Hex package)106* Getting nerves_system_rpi0 (Hex package)107* Getting nerves_system_rpi4 (Hex package)108* Getting nerves_system_rpi5 (Hex package)109* Getting nerves_system_trellis (Hex package)110* Getting nerves_system_x86_64 (Hex package)111* Getting nerves_system_br (Hex package)112* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)113* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)114* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)115* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)116* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)117* Getting nerves_logging (Hex package)118* Getting nerves_uevent (Hex package)119* Getting uboot_env (Hex package)120* Getting elixir_make (Hex package)121* Getting property_table (Hex package)122* Getting circular_buffer (Hex package)123* Getting interactive_cmd (Hex package)124* Getting nerves_discovery (Hex package)125* Getting tablet (Hex package)126* Getting gettext (Hex package)127* Getting islands_client_random_guess (Hex package)128* Getting islands_engine (Hex package)129* Getting jason (Hex package)130* Getting log_reset (Hex package)131* Getting phoenix (Hex package)132* Getting phoenix_html (Hex package)133* Getting phoenix_live_dashboard (Hex package)134* Getting plug_cowboy (Hex package)135* Getting telemetry_metrics (Hex package)136* Getting telemetry_poller (Hex package)137* Getting telemetry (Hex package)138* Getting cowboy (Hex package)139* Getting cowboy_telemetry (Hex package)140* Getting plug (Hex package)141* Getting mime (Hex package)142* Getting plug_crypto (Hex package)143* Getting cowlib (Hex package)144* Getting ranch (Hex package)145* Getting phoenix_live_view (Hex package)146* Getting phoenix_pubsub (Hex package)147* Getting file_only_logger (Hex package)148* Getting persist_config (Hex package)149* Getting dynamic_supervisor_proxy (Hex package)150* Getting gen_server_proxy (Hex package)151* Getting io_ansi_plus (Hex package)152* Getting islands_board (Hex package)153* Getting islands_board_cache (Hex package)154* Getting islands_coord (Hex package)155* Getting islands_game (Hex package)156* Getting islands_grid (Hex package)157* Getting islands_guesses (Hex package)158* Getting islands_island (Hex package)159* Getting islands_player (Hex package)160* Getting islands_player_id (Hex package)161* Getting islands_request (Hex package)162* Getting islands_response (Hex package)163* Getting islands_score (Hex package)164* Getting islands_state (Hex package)165* Getting islands_tally (Hex package)166* Getting io_ansi_table (Hex package)167* Getting map_sorter (Hex package)168* Getting islands_client_island_type (Hex package)169* Getting islands_client_state (Hex package)170* Getting expo (Hex package)171Found packages with security advisories, see above for details172You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more173==> nerves_system_br174Generated nerves_system_br app175==> mime176Compiling 1 file (.ex)177Generated mime app178==> circular_buffer179Compiling 1 file (.ex)180Generated circular_buffer app181==> islands_coord182Compiling 1 file (.ex)183Generated islands_coord app184==> islands_player_id185Compiling 1 file (.ex)186Generated islands_player_id app187==> jason188Compiling 10 files (.ex)189Generated jason app190==> islands_state191Compiling 1 file (.ex)192Generated islands_state app193==> plug_crypto194Compiling 5 files (.ex)195Generated plug_crypto app196==> nerves_compatibility_test197===> Analyzing applications...198===> Compiling ranch199==> tablet200Compiling 2 files (.ex)201Generated tablet app202==> elixir_make203Compiling 8 files (.ex)204Generated elixir_make app205==> nerves_logging206 CC kmsg_tailer.o207 LD kmsg_tailer208Compiling 5 files (.ex)209Generated nerves_logging app210==> islands_island211Compiling 2 files (.ex)212Generated islands_island app213==> islands_board214Compiling 2 files (.ex)215Generated islands_board app216==> islands_guesses217Compiling 1 file (.ex)218Generated islands_guesses app219==> islands_client_island_type220Compiling 1 file (.ex)221Generated islands_client_island_type app222==> nerves_compatibility_test223===> Analyzing applications...224===> Compiling cowlib225==> persist_config226Compiling 1 file (.ex)227Generated persist_config app228==> file_only_logger229Compiling 5 files (.ex)230Generated file_only_logger app231==> log_reset232Compiling 5 files (.ex)233Generated log_reset app234==> dynamic_supervisor_proxy235Compiling 3 files (.ex)236Generated dynamic_supervisor_proxy app237==> gen_server_proxy238Compiling 6 files (.ex)239Generated gen_server_proxy app240==> map_sorter241Compiling 8 files (.ex)242Generated map_sorter app243==> nerves_discovery244Compiling 5 files (.ex)245Generated nerves_discovery app246==> ring_logger247Compiling 7 files (.ex)248Generated ring_logger app249==> interactive_cmd250Compiling 1 file (.ex)251Generated interactive_cmd app252==> nerves253Compiling 65 files (.ex)254    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)255    │256  6 │ defmodule Mix.Tasks.Nerves.Init do257    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~258    │259    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)260261    warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.beam)262    │263  6 │ defmodule Nerves do264    │ ~~~~~~~~~~~~~~~~~~~265    │266    └─ lib/nerves.ex:6: Nerves (module)267268    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)269    │270  5 │ defmodule Nerves.ArtifactResolver do271    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~272    │273    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)274275    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)276    │277  6 │ defmodule Nerves.BuildAction.AppModes do278    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~279    │280    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)281282    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)283    │284  5 │ defmodule Nerves.BuildAction.CheckExecutables do285    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~286    │287    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)288289    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)290    │291  8 │ defmodule Nerves.BuildAction.Erlinit do292    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~293    │294    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)295296    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)297    │298  5 │ defmodule Nerves.BuildAction.Firmware do299    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~300    │301    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)302303    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)304    │305  7 │ defmodule Nerves.BuildAction.IExStartupCheck do306    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~307    │308    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)309310    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)311    │312  5 │ defmodule Nerves.BuildAction.NervesV1System do313    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~314    │315    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)316317    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)318    │319  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do320    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~321    │322    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)323324    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)325    │326  5 │ defmodule Nerves.BuildAction.Rootfs do327    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~328    │329    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)330331    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)332    │333  6 │ defmodule Nerves.BuildAction.SortApps do334    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~335    │336    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)337338    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)339    │340  5 │ defmodule Nerves.BuildAction.StripAll do341    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~342    │343    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)344345    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)346    │347  5 │ defmodule Nerves.BuildAction.Trimmer do348    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~349    │350    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)351352    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)353    │354  5 │ defmodule Nerves.BuildPlan do355    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~356    │357    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)358359    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)360    │361  5 │ defmodule Nerves.BuildPlan.Checks do362    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~363    │364    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)365366    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Container.beam)367    │368  6 │ defmodule Nerves.Container do369    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~370    │371    └─ lib/nerves/container.ex:6: Nerves.Container (module)372373    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)374    │375  5 │ defmodule Nerves.Fingerprint do376    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~377    │378    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)379380    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)381    │382  5 │ defmodule Nerves.MixPackage do383    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~384    │385    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)386387    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Paths.beam)388    │389  5 │ defmodule Nerves.Paths do390    │ ~~~~~~~~~~~~~~~~~~~~~~~~~391    │392    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)393394    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)395    │396  5 │ defmodule Nerves.TargetTuple do397    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~398    │399    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)400401Generated nerves app402==> nerves_toolchain_aarch64_nerves_linux_gnu403Compiling 1 file (.ex)404Generated nerves_toolchain_aarch64_nerves_linux_gnu app405==> nerves_system_rpi5406Generated nerves_system_rpi5 app407==> islands_response408Compiling 1 file (.ex)409Generated islands_response app410==> islands_player411Compiling 1 file (.ex)412Generated islands_player app413==> nerves_compatibility_test414===> Analyzing applications...415===> Compiling telemetry416==> telemetry_metrics417Compiling 7 files (.ex)418     warning: unused require Logger419     │420 391 │   require Logger421     │   ~422     │423     └─ lib/telemetry_metrics.ex:391:3424425Generated telemetry_metrics app426==> nerves_compatibility_test427===> Analyzing applications...428===> Compiling telemetry_poller429==> islands_request430Compiling 1 file (.ex)431Generated islands_request app432==> islands_game433Compiling 1 file (.ex)434Generated islands_game app435==> nerves_compatibility_test436===> Analyzing applications...437===> Compiling cowboy438==> expo439Compiling 2 files (.erl)440Compiling 22 files (.ex)441Generated expo app442==> gettext443Compiling 18 files (.ex)444     warning: unused require Gettext.Macros445     │446 594 │   require Gettext.Macros447     │   ~448     │449     └─ lib/gettext.ex:594:3450451     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead452     │453 426 │               Kernel.ParallelCompiler.async(fn ->454     │                                       ~455     │456     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3457458     warning: the following clause is redundant:459460         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)461462     it has type:463464         dynamic(%Expo.Message.Plural{})465466     previous clauses have already matched on the following types:467468         %Expo.Message.Singular{}469         %Expo.Message.Plural{}470471     │472 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do473     │        ~474     │475     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1476477Generated gettext app478==> phoenix_pubsub479Compiling 12 files (.ex)480Generated phoenix_pubsub app481==> io_ansi_plus482Compiling 1 file (.ex)483Generated io_ansi_plus app484==> islands_grid485Compiling 2 files (.ex)486Generated islands_grid app487==> islands_score488Compiling 1 file (.ex)489Generated islands_score app490==> io_ansi_table491Compiling 23 files (.ex)492Generated io_ansi_table app493==> islands_board_cache494Compiling 5 files (.ex)495Generated islands_board_cache app496==> plug497Compiling 1 file (.erl)498Compiling 42 files (.ex)499Generated plug app500==> phoenix_html501Compiling 8 files (.ex)502    warning: using single-quoted strings to represent charlists is deprecated.503    Use ~c"" if you indeed want a charlist or use "" instead.504    You may run "mix format --migrate" to change all single-quoted505    strings to use the ~c sigil and fix this warning.506    │507 12 │   @anno (if :erlang.system_info(:otp_release) >= '19' do508    │                                                  ~509    │510    └─ lib/phoenix_html/engine.ex:12:50511512    warning: the 1st pattern in clause will never match:513514        60515516    because it is expected to receive type:517518        dynamic(empty_list() or non_empty_list(term(), term()))519520    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())521522    type warning found at:523    │524 56 │   def to_iodata(?<), do: "&lt;"525    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~526    │527    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1528529    warning: the 1st pattern in clause will never match:530531        62532533    because it is expected to receive type:534535        dynamic(empty_list() or non_empty_list(term(), term()))536537    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())538539    type warning found at:540    │541 57 │   def to_iodata(?>), do: "&gt;"542    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~543    │544    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1545546    warning: the 1st pattern in clause will never match:547548        38549550    because it is expected to receive type:551552        dynamic(empty_list() or non_empty_list(term(), term()))553554    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())555556    type warning found at:557    │558 58 │   def to_iodata(?&), do: "&amp;"559    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~560    │561    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1562563    warning: the 1st pattern in clause will never match:564565        34566567    because it is expected to receive type:568569        dynamic(empty_list() or non_empty_list(term(), term()))570571    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())572573    type warning found at:574    │575 59 │   def to_iodata(?"), do: "&quot;"576    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~577    │578    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1579580    warning: the 1st pattern in clause will never match:581582        39583584    because it is expected to receive type:585586        dynamic(empty_list() or non_empty_list(term(), term()))587588    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())589590    type warning found at:591    │592 60 │   def to_iodata(?'), do: "&#39;"593    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~594    │595    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1596597    warning: the 1st pattern in clause will never match:598599        {:safe, data}600601    because it is expected to receive type:602603        dynamic(empty_list() or non_empty_list(term(), term()))604605    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())606607    type warning found at:608    │609 76 │   def to_iodata({:safe, data}) do610    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~611    │612    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1613614    warning: the following clause is redundant:615616        def to_iodata(other)617618    it has type:619620        dynamic(empty_list() or non_empty_list(term(), term()))621622    previous clauses have already matched on the following types:623624        non_empty_list(term(), term())625        empty_list()626627    │628 80 │   def to_iodata(other) do629    │       ~630    │631    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1632633    warning: the 1st pattern in clause will never match:634635        h636637    because it is expected to receive type:638639        dynamic(empty_list() or non_empty_list(term(), term()))640641    where "h" was given the type:642643        # type: integer()644        # from: lib/phoenix_html/safe.ex:62:25645        is_integer(h)646647    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())648649    type warning found at:650    │651 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do652    │                 ~653    │654    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1655656    warning: the 1st pattern in clause will never match:657658        h659660    because it is expected to receive type:661662        dynamic(empty_list() or non_empty_list(term(), term()))663664    where "h" was given the type:665666        # type: integer()667        # from: lib/phoenix_html/safe.ex:66:25668        is_integer(h)669670    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())671672    type warning found at:673    │674 66 │   def to_iodata(h) when is_integer(h) do675    │                 ~676    │677    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1678679    warning: the 1st pattern in clause will never match:680681        h682683    because it is expected to receive type:684685        dynamic(empty_list() or non_empty_list(term(), term()))686687    where "h" was given the type:688689        # type: binary()690        # from: lib/phoenix_html/safe.ex:72:25691        is_binary(h)692693    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())694695    type warning found at:696    │697 72 │   def to_iodata(h) when is_binary(h) do698    │                 ~699    │700    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1701702Generated phoenix_html app703==> uboot_env704Compiling 5 files (.ex)705Generated uboot_env app706==> property_table707Compiling 8 files (.ex)708Generated property_table app709==> nerves_uevent710 CC uevent.o711 LD uevent712Compiling 5 files (.ex)713Generated nerves_uevent app714==> nerves_runtime715Compiling 14 files (.ex)716Generated nerves_runtime app717==> toolshed718Compiling 5 files (.ex)719Generated toolshed app720==> nerves_compatibility_test721===> Analyzing applications...722===> Compiling cowboy_telemetry723==> plug_cowboy724Compiling 5 files (.ex)725Generated plug_cowboy app726warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"727  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2728  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1729  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5730  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2731  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4732  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2733734==> phoenix735Compiling 66 files (.ex)736     warning: the variable "prefix" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator737     │738 194 │       <<attr::size(prefix)-binary, ":unique">> -> attr739     │                    ~740     │741     └─ lib/mix/phoenix/schema.ex:194:20: Mix.Phoenix.Schema.drop_unique/1742743     warning: using single-quoted strings to represent charlists is deprecated.744     Use ~c"" if you indeed want a charlist or use "" instead.745     You may run "mix format --migrate" to change all single-quoted746     strings to use the ~c sigil and fix this warning.747     │748 258 │           notBefore: {:utcTime, '#{not_before}000000Z'},749     │                                 ~750     │751     └─ lib/mix/tasks/phx.gen.cert.ex:258:33752753     warning: using single-quoted strings to represent charlists is deprecated.754     Use ~c"" if you indeed want a charlist or use "" instead.755     You may run "mix format --migrate" to change all single-quoted756     strings to use the ~c sigil and fix this warning.757     │758 259 │           notAfter: {:utcTime, '#{not_after}000000Z'}759     │                                ~760     │761     └─ lib/mix/tasks/phx.gen.cert.ex:259:32762763    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead764    │765 55 │             Logger.warn(766    │                    ~767    │768    └─ lib/phoenix/code_reloader/server.ex:55:20: Phoenix.CodeReloader.Server.handle_call/3769770    warning: unused require Logger771    │772  9 │   require Logger773    │   ~774    │775    └─ lib/phoenix/config.ex:9:3776777      warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.778779      This error happens when you have function calls without parentheses inside keywords. For example:780781          function(arg, one: nested_call a, b, c)782          function(arg, one: if expr, do: :this, else: :that)783784      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:785786          function(arg, one: if(expr, do: :this, else: :that))787          function(arg, one: nested_call(a, b, c))788789      Ambiguity found at:790      │791 1002 │   defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"792      │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~793      │794      └─ lib/phoenix/controller.ex:1002795796     warning: unused require Logger797     │798 240 │   require Logger799     │   ~800     │801     └─ lib/phoenix/endpoint.ex:240:3802803      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead804      │805 1013 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>806      │              ~807      │808      └─ lib/phoenix/controller.ex:1013:14: Phoenix.Controller.warn_if_ajax/1809810    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead811    │812 82 │     Logger.warn "Phoenix.Endpoint.CowboyAdapter is deprecated and it will be removed in next versions. " <>813    │            ~814    │815    └─ lib/phoenix/endpoint/cowboy_adapter.ex:82:12: Phoenix.Endpoint.CowboyAdapter.child_specs/2816817    warning: unused require Phoenix.Endpoint818    │819  6 │   require Phoenix.Endpoint820    │   ~821    │822    └─ lib/phoenix/controller.ex:6:3823824    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead825    │826 71 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")827    │                    ~828    │829    └─ lib/phoenix/endpoint/supervisor.ex:71:20: Phoenix.Endpoint.Supervisor.init/1830831    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead832    │833 95 │       Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")834    │              ~835    │836    └─ lib/phoenix/endpoint/supervisor.ex:95:14: Phoenix.Endpoint.Supervisor.init/1837838     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead839     │840 116 │       Logger.warn """841     │              ~842     │843     └─ lib/phoenix/endpoint/supervisor.ex:116:14: Phoenix.Endpoint.Supervisor.pubsub_children/2844845     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead846     │847 166 │         Logger.warn "Phoenix.Endpoint.CowboyHandler is deprecated, please use Phoenix.Endpoint.CowboyAdapter instead"848     │                ~849     │850     └─ lib/phoenix/endpoint/supervisor.ex:166:16: Phoenix.Endpoint.Supervisor.user_adapter/2851852     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead853     │854 170 │         Logger.warn "The :handler option in #{inspect endpoint} is deprecated, please use :adapter instead"855     │                ~856     │857     └─ lib/phoenix/endpoint/supervisor.ex:170:16: Phoenix.Endpoint.Supervisor.user_adapter/2858859     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead860     │861 346 │       Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")862     │              ~863     │864     └─ lib/phoenix/endpoint/supervisor.ex:346:14: Phoenix.Endpoint.Supervisor.build_url/2865866    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 operator867    │868 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix869    │                             ~870    │871    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2872873     warning: using single-quoted strings to represent charlists is deprecated.874     Use ~c"" if you indeed want a charlist or use "" instead.875     You may run "mix format --migrate" to change all single-quoted876     strings to use the ~c sigil and fix this warning.877     │878 411 │   @anno (if :erlang.system_info(:otp_release) >= '19' do879     │                                                  ~880     │881     └─ lib/phoenix/router.ex:411:50882883    warning: using single-quoted strings to represent charlists is deprecated.884    Use ~c"" if you indeed want a charlist or use "" instead.885    You may run "mix format --migrate" to change all single-quoted886    strings to use the ~c sigil and fix this warning.887    │888  8 │   @anno (if :erlang.system_info(:otp_release) >= '19' do889    │                                                  ~890    │891    └─ lib/phoenix/router/helpers.ex:8:50892893    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.894895    This error happens when you have function calls without parentheses inside keywords. For example:896897        function(arg, one: nested_call a, b, c)898        function(arg, one: if expr, do: :this, else: :that)899900    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:901902        function(arg, one: if(expr, do: :this, else: :that))903        function(arg, one: nested_call(a, b, c))904905    Ambiguity found at:906    │907 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """908    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~909    │910    └─ lib/phoenix/router/resource.ex:71911912    warning: unused require Phoenix.Endpoint913    │914 19 │   require Phoenix.Endpoint915    │   ~916    │917    └─ lib/phoenix/endpoint/render_errors.ex:19:3918919     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead920     │921 734 │     Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end922     │            ~923     │924     └─ lib/phoenix/socket.ex:734:12: Phoenix.Socket.encode_ignore/2925926    warning: unused require Phoenix.Endpoint927    │928  6 │   require Phoenix.Endpoint929    │   ~930    │931    └─ lib/phoenix/channel/server.ex:6:3932933     warning: unused require Phoenix.Endpoint934     │935 188 │   require Phoenix.Endpoint936     │   ~937     │938     └─ lib/phoenix/socket.ex:188:3939940    warning: unused require Logger941    │942 93 │   require Logger943    │   ~944    │945    └─ lib/phoenix/token.ex:93:3946947     warning: using single-quoted strings to represent charlists is deprecated.948     Use ~c"" if you indeed want a charlist or use "" instead.949     You may run "mix format --migrate" to change all single-quoted950     strings to use the ~c sigil and fix this warning.951     │952 178 │   @anno (if :erlang.system_info(:otp_release) >= '19' do953     │                                                  ~954     │955     └─ lib/phoenix/view.ex:178:50956957    warning: a struct for Plug.Conn is expected on struct update:958959        %Plug.Conn{conn | state: :sent}960961    but got type:962963        dynamic()964965    where "conn" was given the type:966967        # type: dynamic()968        # from: lib/phoenix/endpoint/render_errors.ex:57:17969        conn970971    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"972973    type warning found at:974    │975 61 │         %Plug.Conn{conn | state: :sent}976    │         ~977    │978    └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/5979980     warning: a struct for Plug.Conn is expected on struct update:981982         %Plug.Conn{conn | query_params: %{}, params: %{}}983984     but got type:985986         dynamic(%{..., params: %Plug.Conn.Unfetched{}})987988     where "conn" was given the types:989990         # type: dynamic(%{..., params: term()})991         # from: lib/phoenix/endpoint/render_errors.ex:124:17992         conn.params993994         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})995         # from: lib/phoenix/endpoint/render_errors.ex:124:17996         conn.params997998     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"9991000     type warning found at:1001     │1002 125 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1003     │                                   ~1004     │1005     └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110061007     warning: a struct for Plug.Conn is expected on struct update:10081009         %Plug.Conn{conn | query_params: %{}, params: params}10101011     but got type:10121013         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})10141015     where "conn" was given the types:10161017         # type: dynamic(%{..., params: term()})1018         # from: lib/phoenix/endpoint/render_errors.ex:124:171019         conn.params10201021         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1022         # from: lib/phoenix/endpoint/render_errors.ex:124:171023         conn.params10241025     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10261027     type warning found at:1028     │1029 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1030     │                   ~1031     │1032     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110331034     warning: incompatible types given to socket_children/1:10351036         socket_children(mod)10371038     given types:10391040         -dynamic(atom())-10411042     but expected one of:10431044         %{..., __sockets__: term()}10451046     where "mod" was given the types:10471048         # type: dynamic(atom() or binary())1049         # from: lib/phoenix/endpoint/supervisor.ex:64:411050         defaults(otp_app, mod)10511052         # type: dynamic(atom())1053         # from: lib/phoenix/endpoint/supervisor.ex:68:161054         mod.init(:supervisor, env_conf)10551056     type warning found at:1057     │1058 105 │       socket_children(mod) ++1059     │       ~1060     │1061     └─ lib/phoenix/endpoint/supervisor.ex:105:7: Phoenix.Endpoint.Supervisor.init/110621063      warning: a struct for Plug.Conn is expected on struct update:10641065          %Plug.Conn{conn | params: params}10661067      but got type:10681069          dynamic(%{..., params: map()})10701071      where "conn" was given the type:10721073          # type: dynamic(%{..., params: map()})1074          # from: lib/phoenix/controller.ex:1040:171075          Map.get(conn.params, required_key)10761077      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10781079      type warning found at:1080      │1081 1047 │     %Plug.Conn{conn | params: params}1082      │     ~1083      │1084      └─ lib/phoenix/controller.ex:1047:5: Phoenix.Controller.scrub_params/210851086Generated phoenix app1087warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1088  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21089  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11090  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51091  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21092  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41093  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210941095==> phoenix_live_view1096Compiling 22 files (.ex)1097    warning: unused require Logger1098    │1099 25 │   require Logger1100    │   ~1101    │1102    └─ lib/phoenix_live_view/socket.ex:25:311031104     warning: unused require Phoenix.ChannelTest1105     │1106 141 │   require Phoenix.ChannelTest1107     │   ~1108     │1109     └─ lib/phoenix_live_view/test/live_view_test.ex:141:311101111     warning: unused require Phoenix.ConnTest1112     │1113 140 │   require Phoenix.ConnTest1114     │   ~1115     │1116     └─ lib/phoenix_live_view/test/live_view_test.ex:140:311171118    warning: unused require Phoenix.ChannelTest1119    │1120  4 │   require Phoenix.ChannelTest1121    │   ~1122    │1123    └─ lib/phoenix_live_view/test/upload_client.ex:4:311241125    warning: unused require Logger1126    │1127  6 │   require Logger1128    │   ~1129    │1130    └─ lib/phoenix_live_view/upload_channel.ex:6:311311132     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:11331134         %Phoenix.LiveView.Socket{1135           socket1136           | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1137         }11381139     but got type:11401141         dynamic()11421143     where "socket" was given the type:11441145         # type: dynamic()1146         # from: lib/phoenix_live_view/utils.ex:464:211147         socket11481149     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"11501151     type warning found at:1152     │1153 465 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1154     │     ~1155     │1156     └─ lib/phoenix_live_view/utils.ex:465:5: Phoenix.LiveView.Utils.do_mount_opt/311571158     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:11591160         %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}11611162     but got type:11631164         dynamic()11651166     where "socket" was given the type:11671168         # type: dynamic()1169         # from: lib/phoenix_live_view/utils.ex:468:211170         socket11711172     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"11731174     type warning found at:1175     │1176 469 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1177     │     ~1178     │1179     └─ lib/phoenix_live_view/utils.ex:469:5: Phoenix.LiveView.Utils.do_mount_opt/311801181     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:11821183         %Phoenix.LiveView.Socket{1184           socket1185           | assigns: Map.merge(temp_assigns, socket.assigns),1186             private: Map.put(socket.private, :temporary_assigns, temp_assigns)1187         }11881189     but got type:11901191         dynamic()11921193     where "socket" was given the type:11941195         # type: dynamic()1196         # from: lib/phoenix_live_view/utils.ex:478:211197         socket11981199     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"12001201     type warning found at:1202     │1203 485 │     %Socket{1204     │     ~1205     │1206     └─ lib/phoenix_live_view/utils.ex:485:5: Phoenix.LiveView.Utils.do_mount_opt/312071208     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12091210         %Phoenix.LiveView.Socket{1211           socket1212           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1213         }12141215     but got type:12161217         dynamic(%{..., assigns: term(), changed: term()})12181219     where "socket" was given the type:12201221         # type: dynamic(%{..., assigns: term(), changed: term()})1222         # from: lib/phoenix_live_view/utils.ex:496:611223         %{assigns: assigns, changed: changed} = socket12241225     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"12261227     type warning found at:1228     │1229 497 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1230     │              ~1231     │1232     └─ lib/phoenix_live_view/utils.ex:497:14: Phoenix.LiveView.Utils.render_assigns/112331234     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12351236         %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}12371238     but got type:12391240         dynamic()12411242     where "entry" was given the type:12431244         # type: dynamic()1245         # from: lib/phoenix_live_view/upload_config.ex:341:281246         entry <- conf.entries12471248     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12491250     type warning found at:1251     │1252 341 │       | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1253     │                                                 ~1254     │1255     └─ lib/phoenix_live_view/upload_config.ex:341:49: Phoenix.LiveView.UploadConfig.mark_preflighted/112561257     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12581259         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}12601261     but got type:12621263         dynamic()12641265     where "entry" was given the type:12661267         # type: dynamic()1268         # from: lib/phoenix_live_view/upload_config.ex:541:301269         entry12701271     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12721273     type warning found at:1274     │1275 542 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1276     │             ~1277     │1278     └─ lib/phoenix_live_view/upload_config.ex:542:13: Phoenix.LiveView.UploadConfig.put_valid_entry/212791280     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12811282         %Phoenix.LiveView.UploadEntry{entry | valid?: false}12831284     but got type:12851286         dynamic()12871288     where "entry" was given the type:12891290         # type: dynamic()1291         # from: lib/phoenix_live_view/upload_config.ex:554:321292         entry12931294     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12951296     type warning found at:1297     │1298 555 │     entry = %UploadEntry{entry | valid?: false}1299     │             ~1300     │1301     └─ lib/phoenix_live_view/upload_config.ex:555:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/313021303    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1304    │1305 56 │     Logger.disable(self())1306    │            ~1307    │1308    └─ lib/phoenix_live_view/test/client_proxy.ex:56:12: Phoenix.LiveViewTest.ClientProxy.init/113091310     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13111312         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}13131314     but got type:13151316         dynamic()13171318     where "entry" was given the type:13191320         # type: dynamic()1321         # from: lib/phoenix_live_view/upload_config.ex:638:421322         entry13231324     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"13251326     type warning found at:1327     │1328 638 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1329     │                                                   ~1330     │1331     └─ lib/phoenix_live_view/upload_config.ex:638:51: Phoenix.LiveView.UploadConfig.cancel_entry/213321333     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:13341335         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}13361337     but got type:13381339         dynamic(%{..., rendered: term()})13401341     where "view" was given the type:13421343         # type: dynamic(%{..., rendered: term()})1344         # from: lib/phoenix_live_view/test/client_proxy.ex:600:241345         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)13461347     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"13481349     type warning found at:1350     │1351 601 │         new_view = %ClientProxy{view | rendered: rendered}1352     │                    ~1353     │1354     └─ lib/phoenix_live_view/test/client_proxy.ex:601:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/313551356     warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1357     │1358 986 │       Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1359     │                       ~1360     │1361     └─ lib/phoenix_live_view/test/client_proxy.ex:986:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31362     └─ lib/phoenix_live_view/test/client_proxy.ex:991:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31363     └─ lib/phoenix_live_view/test/client_proxy.ex:1001:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31364     └─ lib/phoenix_live_view/test/client_proxy.ex:1010:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/313651366     warning: the following clause is redundant:13671368         def to_iodata(%_{} = struct)13691370     it has type:13711372         dynamic(%Phoenix.LiveView.Rendered{})13731374     previous clauses have already matched on the following types:13751376         %Phoenix.LiveView.Rendered{}13771378     │1379 126 │     def to_iodata(%_{} = struct) do1380     │         ~1381     │1382     └─ lib/phoenix_live_view/engine.ex:126:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/113831384     warning: the 1st pattern in clause will never match:13851386         nil13871388     because it is expected to receive type:13891390         dynamic(%Phoenix.LiveView.Rendered{})13911392     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}13931394     type warning found at:1395     │1396 130 │     def to_iodata(nil) do1397     │     ~~~~~~~~~~~~~~~~~~~~~1398     │1399     └─ lib/phoenix_live_view/engine.ex:130: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114001401     warning: the following clause is redundant:14021403         def to_iodata(other)14041405     it has type:14061407         dynamic(%Phoenix.LiveView.Rendered{})14081409     previous clauses have already matched on the following types:14101411         %Phoenix.LiveView.Rendered{}14121413     │1414 134 │     def to_iodata(other) do1415     │         ~1416     │1417     └─ lib/phoenix_live_view/engine.ex:134:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114181419Generated phoenix_live_view app1420warning: Phoenix now requires you to explicitly list which engine to use1421for Phoenix JSON encoding. We recommend everyone to upgrade to1422Jason by setting in your config/config.exs:14231424    config :phoenix, :json_library, Jason14251426And then adding {:jason, "~> 1.0"} as a dependency.14271428If instead you would rather continue using Poison, then add to1429your config/config.exs:14301431    config :phoenix, :json_library, Poison14321433  (phoenix 1.5.15) lib/phoenix.ex:38: Phoenix.start/21434  (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/414351436warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1437  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21438  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11439  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51440  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21441  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41442  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214431444==> phoenix_live_dashboard1445Compiling 36 files (.ex)1446    warning: using single-quoted strings to represent charlists is deprecated.1447    Use ~c"" if you indeed want a charlist or use "" instead.1448    You may run "mix format --migrate" to change all single-quoted1449    strings to use the ~c sigil and fix this warning.1450    │1451 41 │     '#Port' ++ rest = :erlang.port_to_list(ref)1452    │     ~1453    │1454    └─ lib/phoenix/live_dashboard/helpers.ex:41:514551456    warning: using single-quoted strings to represent charlists is deprecated.1457    Use ~c"" if you indeed want a charlist or use "" instead.1458    You may run "mix format --migrate" to change all single-quoted1459    strings to use the ~c sigil and fix this warning.1460    │1461 49 │     '#Ref' ++ rest = :erlang.ref_to_list(ref)1462    │     ~1463    │1464    └─ lib/phoenix/live_dashboard/helpers.ex:49:514651466warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1467  lib/phoenix/live_dashboard/pages/home_page.ex:176: Phoenix.LiveDashboard.HomePage.render/114681469warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1470  lib/phoenix/live_dashboard/pages/home_page.ex:184: Phoenix.LiveDashboard.HomePage.render/114711472warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1473  lib/phoenix/live_dashboard/pages/home_page.ex:192: Phoenix.LiveDashboard.HomePage.render/114741475warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1476  lib/phoenix/live_dashboard/pages/os_mon_page.ex:213: Phoenix.LiveDashboard.OSMonPage.render/114771478warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1479  lib/phoenix/live_dashboard/pages/os_mon_page.ex:235: Phoenix.LiveDashboard.OSMonPage.render/114801481     warning: using single-quoted strings to represent charlists is deprecated.1482     Use ~c"" if you indeed want a charlist or use "" instead.1483     You may run "mix format --migrate" to change all single-quoted1484     strings to use the ~c sigil and fix this warning.1485     │1486 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1487     │                ~1488     │1489     └─ lib/phoenix/live_dashboard/system_info.ex:397:1614901491     warning: using single-quoted strings to represent charlists is deprecated.1492     Use ~c"" if you indeed want a charlist or use "" instead.1493     You may run "mix format --migrate" to change all single-quoted1494     strings to use the ~c sigil and fix this warning.1495     │1496 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1497     │                            ~1498     │1499     └─ lib/phoenix/live_dashboard/system_info.ex:397:2815001501     warning: using single-quoted strings to represent charlists is deprecated.1502     Use ~c"" if you indeed want a charlist or use "" instead.1503     You may run "mix format --migrate" to change all single-quoted1504     strings to use the ~c sigil and fix this warning.1505     │1506 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1507     │                                        ~1508     │1509     └─ lib/phoenix/live_dashboard/system_info.ex:397:4015101511     warning: using single-quoted strings to represent charlists is deprecated.1512     Use ~c"" if you indeed want a charlist or use "" instead.1513     You may run "mix format --migrate" to change all single-quoted1514     strings to use the ~c sigil and fix this warning.1515     │1516 543 │         [{'none', 0, 0}] -> []1517     │           ~1518     │1519     └─ lib/phoenix/live_dashboard/system_info.ex:543:1115201521warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1522  lib/phoenix/live_dashboard/page_live.ex:211: Phoenix.LiveDashboard.PageLive.render_page/315231524warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1525  lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/315261527warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1528  lib/phoenix/live_dashboard/components/nav_bar_component.ex:142: Phoenix.LiveDashboard.NavBarComponent.render_content/315291530warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1531  lib/phoenix/live_dashboard/components/card_usage_component.ex:7: Phoenix.LiveDashboard.CardUsageComponent.render/115321533     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:15341535         Phoenix.LiveView.Helpers.__live_component__(1536           component.__live__(),1537           Phoenix.LiveDashboard.ModalComponent,1538           nil1539         )15401541     given types:15421543         dynamic(), -Phoenix.LiveDashboard.ModalComponent-, nil15441545     but expected one of:15461547         (1548           %{..., kind: :component, module: term()},1549           empty_list() or map() or non_empty_list(term(), term()),1550           term()1551         )15521553     where "component" (context Phoenix.LiveView.Helpers) was given the types:15541555         # type: dynamic(not %Phoenix.LiveView.Socket{})1556         # from: lib/phoenix/live_dashboard/page_live.ex:2361557         component15581559         # type: dynamic(atom())1560         # from: lib/phoenix/live_dashboard/page_live.ex:2361561         component.__live__()15621563     type warning found at:1564     │1565 236 │     live_component(socket, Phoenix.LiveDashboard.ModalComponent, modal_opts)1566     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1567     │1568     └─ lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/315691570     warning: the following clause will never match:15711572         %{__changed__: changed} when track_changes? ->15731574     because it attempts to match on the result of:15751576         assigns15771578     which has type:15791580         dynamic(%{text: term()})15811582     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:15831584         # type: dynamic(true)1585         # from: lib/phoenix/live_dashboard/page_live.ex:3121586         track_changes?15871588     type warning found at:1589     │1590 312 │     ~L"""1591     │     ~~~~~1592     │1593     └─ lib/phoenix/live_dashboard/page_live.ex:312: Phoenix.LiveDashboard.PageLive.maybe_link/315941595     warning: the following clause will never match:15961597         %{__changed__: changed} when track_changes? ->15981599     because it attempts to match on the result of:16001601         assigns16021603     which has type:16041605         dynamic(%{more_info_url: term(), text: term()})16061607     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:16081609         # type: dynamic(true)1610         # from: lib/phoenix/live_dashboard/page_live.ex:3221611         track_changes?16121613     type warning found at:1614     │1615 322 │     ~L"""1616     │     ~~~~~1617     │1618     └─ lib/phoenix/live_dashboard/page_live.ex:322: Phoenix.LiveDashboard.PageLive.maybe_link/316191620     warning: the following clause will never match:16211622         %{__changed__: changed} when track_changes? ->16231624     because it attempts to match on the result of:16251626         assigns16271628     which has type:16291630         dynamic(%{checked_param: binary()})16311632     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:16331634         # type: dynamic(true)1635         # from: lib/phoenix/live_dashboard/pages/request_logger_page.ex:1781636         track_changes?16371638     type warning found at:1639     │1640 178 │     ~L"""1641     │     ~~~~~1642     │1643     └─ lib/phoenix/live_dashboard/pages/request_logger_page.ex:178: Phoenix.LiveDashboard.RequestLoggerPage.autoscroll_checkbox/116441645     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:16461647         Phoenix.LiveView.Helpers.__live_component__(1648           component.__live__(),1649           Phoenix.LiveDashboard.ColorBarComponent,1650           nil1651         )16521653     given types:16541655         dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil16561657     but expected one of:16581659         (1660           %{..., kind: :component, module: term()},1661           empty_list() or map() or non_empty_list(term(), term()),1662           term()1663         )16641665     where "component" (context Phoenix.LiveView.Helpers) was given the types:16661667         # type: dynamic(not %Phoenix.LiveView.Socket{})1668         # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1911669         component16701671         # type: dynamic(atom())1672         # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1911673         component.__live__()16741675     type warning found at:1676     │1677 191 │                       <%= live_component @socket, ColorBarComponent, dom_id: "cpu-#{num_cpu}", data: cpu_usage_sections(usage), title: "CPU #{num_cpu+1}", csp_nonces: @csp_nonces %>1678     │                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1679     │1680     └─ lib/phoenix/live_dashboard/pages/os_mon_page.ex:191: Phoenix.LiveDashboard.OSMonPage.render/116811682     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:16831684         Phoenix.LiveView.Helpers.__live_component__(1685           component.__live__(),1686           Phoenix.LiveDashboard.ColorBarComponent,1687           nil1688         )16891690     given types:16911692         dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil16931694     but expected one of:16951696         (1697           %{..., kind: :component, module: term()},1698           empty_list() or map() or non_empty_list(term(), term()),1699           term()1700         )17011702     where "component" (context Phoenix.LiveView.Helpers) was given the types:17031704         # type: dynamic(not %Phoenix.LiveView.Socket{})1705         # from: lib/phoenix/live_dashboard/pages/home_page.ex:2061706         component17071708         # type: dynamic(atom())1709         # from: lib/phoenix/live_dashboard/pages/home_page.ex:2061710         component.__live__()17111712     type warning found at:1713     │1714 206 │             <%= live_component @socket, ColorBarComponent, data: memory_usage_sections_percent(@system_usage.memory, @system_usage.memory.total), csp_nonces: @csp_nonces, dom_id: "system_usage_memory_total" %>1715     │             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1716     │1717     └─ lib/phoenix/live_dashboard/pages/home_page.ex:206: Phoenix.LiveDashboard.HomePage.render/117181719    warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:17201721        Phoenix.LiveView.Helpers.__live_component__(1722          component.__live__(),1723          Phoenix.LiveDashboard.ChartComponent,1724          nil1725        )17261727    given types:17281729        dynamic(), -Phoenix.LiveDashboard.ChartComponent-, nil17301731    but expected one of:17321733        (1734          %{..., kind: :component, module: term()},1735          empty_list() or map() or non_empty_list(term(), term()),1736          term()1737        )17381739    where "component" (context Phoenix.LiveView.Helpers) was given the types:17401741        # type: dynamic(not %Phoenix.LiveView.Socket{})1742        # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:761743        component17441745        # type: dynamic(atom())1746        # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:761747        component.__live__()17481749    type warning found at:1750    │1751 76 │           <%= live_component @socket, ChartComponent, id: id, metric: metric %>1752    │           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1753    │1754    └─ lib/phoenix/live_dashboard/pages/metrics_page.ex:76: Phoenix.LiveDashboard.MetricsPage.render_metrics/117551756     warning: the following clause will never match:17571758         %{__changed__: changed} when track_changes? ->17591760     because it attempts to match on the result of:17611762         assigns17631764     which has type:17651766         dynamic(%{block: term()})17671768     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:17691770         # type: dynamic(true)1771         # from: lib/phoenix/live_dashboard/helpers.ex:2081772         track_changes?17731774     type warning found at:1775     │1776 208 │     ~L"""1777     │     ~~~~~1778     │1779     └─ lib/phoenix/live_dashboard/helpers.ex:208: Phoenix.LiveDashboard.Helpers.hint/117801781    warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1782    │1783  8 │     Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)1784    │            ~1785    │1786    └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/217871788     warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1789     │1790 146 │     do: struct.to_string(value)1791     │                ~1792     │1793     └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:146:16: Phoenix.LiveDashboard.EctoStatsPage.format/217941795Generated phoenix_live_dashboard app1796==> islands_tally1797Compiling 16 files (.ex)1798Generated islands_tally app1799==> islands_engine1800Compiling 17 files (.ex)1801Generated islands_engine app1802==> islands_client_state1803Compiling 1 file (.ex)1804Generated islands_client_state app1805==> islands_client_random_guess1806Compiling 1 file (.ex)1807Generated islands_client_random_guess app1808warning: the :gettext compiler is no longer required in your mix.exs.18091810Please find the following line in your mix.exs and remove the :gettext entry:18111812    compilers: [..., :gettext, ...] ++ Mix.compilers(),18131814  (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11815  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51816  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21817  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41818  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21819  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/518201821==> islands_vue_client1822Compiling 36 files (.ex)1823    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1824    │1825  8 │     Logger.warn("Ending game '#{game_name}'...")1826    │            ~1827    │1828    └─ lib/islands_vue_client_web/channels/game_channel/game_ender.ex:8:12: Islands.Vue.ClientWeb.GameChannel.GameEnder.end_game/118291830    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1831    │1832 21 │     Logger.warn("#{player_name} (#{player_id}) has left game '#{game_name}'.")1833    │            ~1834    │1835    └─ lib/islands_vue_client_web/channels/game_channel/terminator.ex:21:12: Islands.Vue.ClientWeb.GameChannel.Terminator.terminate/218361837    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1838    │1839 22 │     Logger.warn("Reason: #{inspect(reason)}")1840    │            ~1841    │1842    └─ lib/islands_vue_client_web/channels/game_channel/terminator.ex:22:12: Islands.Vue.ClientWeb.GameChannel.Terminator.terminate/218431844    warning: unused require Logger1845    │1846  7 │   require Logger1847    │   ~1848    │1849    └─ lib/islands_vue_client_web/channels/game_channel/opponent_left.ex:7:318501851    warning: unused require Logger1852    │1853  9 │   require Logger1854    │   ~1855    │1856    └─ lib/islands_vue_client_web/channels/game_channel/game_over.ex:9:318571858    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1859    │1860  4 │   @salt Application.get_env(:islands_vue_client, :salt)1861    │                     ~1862    │1863    └─ lib/islands_vue_client_web/channels/user_socket.ex:4:21: Islands.Vue.ClientWeb.UserSocket (module)18641865warning: defining a Gettext backend by calling18661867    use Gettext, otp_app: ...18681869is deprecated. To define a backend, call:18701871    use Gettext.Backend, otp_app: :my_app18721873Then, instead of importing your backend, call this in your module:18741875    use Gettext, backend: MyApp.Gettext18761877  lib/islands_vue_client_web/gettext.ex:23: Islands.Vue.ClientWeb.Gettext (module)18781879    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1880    │1881  9 │   @salt Application.get_env(:islands_vue_client, :salt)1882    │                     ~1883    │1884    └─ lib/islands_vue_client_web/controllers/game_controller.ex:9:21: Islands.Vue.ClientWeb.GameController (module)188518861887== Compilation error in file lib/islands_vue_client_web/endpoint.ex ==1888** (ArgumentError) invalid :json_decoder option. The module Poison is not loaded and could not be found1889    (plug 1.20.3) lib/plug/parsers/json.ex:48: Plug.Parsers.JSON.validate_decoder!/11890    (plug 1.20.3) lib/plug/parsers/json.ex:35: Plug.Parsers.JSON.init/11891    (plug 1.20.3) lib/plug/parsers.ex:283: anonymous fn/2 in Plug.Parsers.convert_parsers/21892    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21893    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21894    (plug 1.20.3) lib/plug/parsers.ex:263: Plug.Parsers.init/11895    (plug 1.20.3) lib/plug/builder.ex:358: Plug.Builder.init_module_plug/41896    (plug 1.20.3) lib/plug/builder.ex:339: anonymous fn/5 in Plug.Builder.compile/31897could not compile dependency :islands_vue_client, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile islands_vue_client --force", update it with "mix deps.update islands_vue_client" or clean it with "mix deps.clean islands_vue_client"