islands_vue_client

Build log

nerves_system_qemu_aarch64

islands_vue_client 0.1.16 · fail · run islands_vue_client-0.1.16-1790960379549
1898 of 1898 lines
1Resolving Hex dependencies...2Resolution completed in 0.574s3Unchanged: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 Nerves (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.beam)255    │256  6 │ defmodule Nerves do257    │ ~~~~~~~~~~~~~~~~~~~258    │259    └─ lib/nerves.ex:6: Nerves (module)260261    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)262    │263  6 │ defmodule Mix.Tasks.Nerves.Init do264    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~265    │266    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)267268    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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_qemu_aarch64406Compiling 1 file (.ex)407Generated nerves_system_qemu_aarch64 app408==> islands_response409Compiling 1 file (.ex)410Generated islands_response app411==> islands_player412Compiling 1 file (.ex)413Generated islands_player app414==> nerves_compatibility_test415===> Analyzing applications...416===> Compiling telemetry417==> telemetry_metrics418Compiling 7 files (.ex)419     warning: unused require Logger420     │421 391 │   require Logger422     │   ~423     │424     └─ lib/telemetry_metrics.ex:391:3425426Generated telemetry_metrics app427==> nerves_compatibility_test428===> Analyzing applications...429===> Compiling telemetry_poller430==> islands_request431Compiling 1 file (.ex)432Generated islands_request app433==> islands_game434Compiling 1 file (.ex)435Generated islands_game app436==> nerves_compatibility_test437===> Analyzing applications...438===> Compiling cowboy439==> expo440Compiling 2 files (.erl)441Compiling 22 files (.ex)442Generated expo app443==> gettext444Compiling 18 files (.ex)445     warning: unused require Gettext.Macros446     │447 594 │   require Gettext.Macros448     │   ~449     │450     └─ lib/gettext.ex:594:3451452     warning: the following clause is redundant:453454         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)455456     it has type:457458         dynamic(%Expo.Message.Plural{})459460     previous clauses have already matched on the following types:461462         %Expo.Message.Singular{}463         %Expo.Message.Plural{}464465     │466 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do467     │        ~468     │469     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1470471     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead472     │473 426 │               Kernel.ParallelCompiler.async(fn ->474     │                                       ~475     │476     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3477478Generated gettext app479==> phoenix_pubsub480Compiling 12 files (.ex)481Generated phoenix_pubsub app482==> io_ansi_plus483Compiling 1 file (.ex)484Generated io_ansi_plus app485==> islands_grid486Compiling 2 files (.ex)487Generated islands_grid app488==> islands_score489Compiling 1 file (.ex)490Generated islands_score app491==> io_ansi_table492Compiling 23 files (.ex)493Generated io_ansi_table app494==> islands_board_cache495Compiling 5 files (.ex)496Generated islands_board_cache app497==> plug498Compiling 1 file (.erl)499Compiling 42 files (.ex)500Generated plug app501==> phoenix_html502Compiling 8 files (.ex)503    warning: using single-quoted strings to represent charlists is deprecated.504    Use ~c"" if you indeed want a charlist or use "" instead.505    You may run "mix format --migrate" to change all single-quoted506    strings to use the ~c sigil and fix this warning.507    │508 12 │   @anno (if :erlang.system_info(:otp_release) >= '19' do509    │                                                  ~510    │511    └─ lib/phoenix_html/engine.ex:12:50512513    warning: the 1st pattern in clause will never match:514515        60516517    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 56 │   def to_iodata(?<), do: "&lt;"526    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~527    │528    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1529530    warning: the 1st pattern in clause will never match:531532        62533534    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 57 │   def to_iodata(?>), do: "&gt;"543    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~544    │545    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1546547    warning: the 1st pattern in clause will never match:548549        38550551    because it is expected to receive type:552553        dynamic(empty_list() or non_empty_list(term(), term()))554555    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())556557    type warning found at:558    │559 58 │   def to_iodata(?&), do: "&amp;"560    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~561    │562    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1563564    warning: the 1st pattern in clause will never match:565566        34567568    because it is expected to receive type:569570        dynamic(empty_list() or non_empty_list(term(), term()))571572    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())573574    type warning found at:575    │576 59 │   def to_iodata(?"), do: "&quot;"577    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~578    │579    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1580581    warning: the 1st pattern in clause will never match:582583        39584585    because it is expected to receive type:586587        dynamic(empty_list() or non_empty_list(term(), term()))588589    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())590591    type warning found at:592    │593 60 │   def to_iodata(?'), do: "&#39;"594    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~595    │596    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1597598    warning: the 1st pattern in clause will never match:599600        {:safe, data}601602    because it is expected to receive type:603604        dynamic(empty_list() or non_empty_list(term(), term()))605606    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())607608    type warning found at:609    │610 76 │   def to_iodata({:safe, data}) do611    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~612    │613    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1614615    warning: the following clause is redundant:616617        def to_iodata(other)618619    it has type:620621        dynamic(empty_list() or non_empty_list(term(), term()))622623    previous clauses have already matched on the following types:624625        non_empty_list(term(), term())626        empty_list()627628    │629 80 │   def to_iodata(other) do630    │       ~631    │632    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1633634    warning: the 1st pattern in clause will never match:635636        h637638    because it is expected to receive type:639640        dynamic(empty_list() or non_empty_list(term(), term()))641642    where "h" was given the type:643644        # type: integer()645        # from: lib/phoenix_html/safe.ex:62:25646        is_integer(h)647648    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())649650    type warning found at:651    │652 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do653    │                 ~654    │655    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1656657    warning: the 1st pattern in clause will never match:658659        h660661    because it is expected to receive type:662663        dynamic(empty_list() or non_empty_list(term(), term()))664665    where "h" was given the type:666667        # type: integer()668        # from: lib/phoenix_html/safe.ex:66:25669        is_integer(h)670671    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())672673    type warning found at:674    │675 66 │   def to_iodata(h) when is_integer(h) do676    │                 ~677    │678    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1679680    warning: the 1st pattern in clause will never match:681682        h683684    because it is expected to receive type:685686        dynamic(empty_list() or non_empty_list(term(), term()))687688    where "h" was given the type:689690        # type: binary()691        # from: lib/phoenix_html/safe.ex:72:25692        is_binary(h)693694    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())695696    type warning found at:697    │698 72 │   def to_iodata(h) when is_binary(h) do699    │                 ~700    │701    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1702703Generated phoenix_html app704==> uboot_env705Compiling 5 files (.ex)706Generated uboot_env app707==> property_table708Compiling 8 files (.ex)709Generated property_table app710==> nerves_uevent711 CC uevent.o712 LD uevent713Compiling 5 files (.ex)714Generated nerves_uevent app715==> nerves_runtime716Compiling 14 files (.ex)717Generated nerves_runtime app718==> toolshed719Compiling 5 files (.ex)720Generated toolshed app721==> nerves_compatibility_test722===> Analyzing applications...723===> Compiling cowboy_telemetry724==> plug_cowboy725Compiling 5 files (.ex)726Generated plug_cowboy app727warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"728  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2729  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1730  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5731  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2732  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4733  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2734735==> phoenix736Compiling 66 files (.ex)737     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 operator738     │739 194 │       <<attr::size(prefix)-binary, ":unique">> -> attr740     │                    ~741     │742     └─ lib/mix/phoenix/schema.ex:194:20: Mix.Phoenix.Schema.drop_unique/1743744     warning: using single-quoted strings to represent charlists is deprecated.745     Use ~c"" if you indeed want a charlist or use "" instead.746     You may run "mix format --migrate" to change all single-quoted747     strings to use the ~c sigil and fix this warning.748     │749 258 │           notBefore: {:utcTime, '#{not_before}000000Z'},750     │                                 ~751     │752     └─ lib/mix/tasks/phx.gen.cert.ex:258:33753754     warning: using single-quoted strings to represent charlists is deprecated.755     Use ~c"" if you indeed want a charlist or use "" instead.756     You may run "mix format --migrate" to change all single-quoted757     strings to use the ~c sigil and fix this warning.758     │759 259 │           notAfter: {:utcTime, '#{not_after}000000Z'}760     │                                ~761     │762     └─ lib/mix/tasks/phx.gen.cert.ex:259:32763764    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead765    │766 55 │             Logger.warn(767    │                    ~768    │769    └─ lib/phoenix/code_reloader/server.ex:55:20: Phoenix.CodeReloader.Server.handle_call/3770771    warning: unused require Logger772    │773  9 │   require Logger774    │   ~775    │776    └─ lib/phoenix/config.ex:9:3777778      warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.779780      This error happens when you have function calls without parentheses inside keywords. For example:781782          function(arg, one: nested_call a, b, c)783          function(arg, one: if expr, do: :this, else: :that)784785      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:786787          function(arg, one: if(expr, do: :this, else: :that))788          function(arg, one: nested_call(a, b, c))789790      Ambiguity found at:791      │792 1002 │   defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"793      │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~794      │795      └─ lib/phoenix/controller.ex:1002796797     warning: unused require Logger798     │799 240 │   require Logger800     │   ~801     │802     └─ lib/phoenix/endpoint.ex:240:3803804      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead805      │806 1013 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>807      │              ~808      │809      └─ lib/phoenix/controller.ex:1013:14: Phoenix.Controller.warn_if_ajax/1810811    warning: unused require Phoenix.Endpoint812    │813  6 │   require Phoenix.Endpoint814    │   ~815    │816    └─ lib/phoenix/controller.ex:6:3817818    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead819    │820 82 │     Logger.warn "Phoenix.Endpoint.CowboyAdapter is deprecated and it will be removed in next versions. " <>821    │            ~822    │823    └─ lib/phoenix/endpoint/cowboy_adapter.ex:82:12: Phoenix.Endpoint.CowboyAdapter.child_specs/2824825    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead826    │827 71 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")828    │                    ~829    │830    └─ lib/phoenix/endpoint/supervisor.ex:71:20: Phoenix.Endpoint.Supervisor.init/1831832    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead833    │834 95 │       Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")835    │              ~836    │837    └─ lib/phoenix/endpoint/supervisor.ex:95:14: Phoenix.Endpoint.Supervisor.init/1838839     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead840     │841 116 │       Logger.warn """842     │              ~843     │844     └─ lib/phoenix/endpoint/supervisor.ex:116:14: Phoenix.Endpoint.Supervisor.pubsub_children/2845846     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead847     │848 166 │         Logger.warn "Phoenix.Endpoint.CowboyHandler is deprecated, please use Phoenix.Endpoint.CowboyAdapter instead"849     │                ~850     │851     └─ lib/phoenix/endpoint/supervisor.ex:166:16: Phoenix.Endpoint.Supervisor.user_adapter/2852853     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead854     │855 170 │         Logger.warn "The :handler option in #{inspect endpoint} is deprecated, please use :adapter instead"856     │                ~857     │858     └─ lib/phoenix/endpoint/supervisor.ex:170:16: Phoenix.Endpoint.Supervisor.user_adapter/2859860     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead861     │862 346 │       Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")863     │              ~864     │865     └─ lib/phoenix/endpoint/supervisor.ex:346:14: Phoenix.Endpoint.Supervisor.build_url/2866867    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 operator868    │869 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix870    │                             ~871    │872    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2873874     warning: using single-quoted strings to represent charlists is deprecated.875     Use ~c"" if you indeed want a charlist or use "" instead.876     You may run "mix format --migrate" to change all single-quoted877     strings to use the ~c sigil and fix this warning.878     │879 411 │   @anno (if :erlang.system_info(:otp_release) >= '19' do880     │                                                  ~881     │882     └─ lib/phoenix/router.ex:411:50883884    warning: unused require Phoenix.Endpoint885    │886 19 │   require Phoenix.Endpoint887    │   ~888    │889    └─ lib/phoenix/endpoint/render_errors.ex:19:3890891    warning: using single-quoted strings to represent charlists is deprecated.892    Use ~c"" if you indeed want a charlist or use "" instead.893    You may run "mix format --migrate" to change all single-quoted894    strings to use the ~c sigil and fix this warning.895    │896  8 │   @anno (if :erlang.system_info(:otp_release) >= '19' do897    │                                                  ~898    │899    └─ lib/phoenix/router/helpers.ex:8:50900901    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.902903    This error happens when you have function calls without parentheses inside keywords. For example:904905        function(arg, one: nested_call a, b, c)906        function(arg, one: if expr, do: :this, else: :that)907908    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:909910        function(arg, one: if(expr, do: :this, else: :that))911        function(arg, one: nested_call(a, b, c))912913    Ambiguity found at:914    │915 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """916    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~917    │918    └─ lib/phoenix/router/resource.ex:71919920     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead921     │922 734 │     Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end923     │            ~924     │925     └─ lib/phoenix/socket.ex:734:12: Phoenix.Socket.encode_ignore/2926927     warning: unused require Phoenix.Endpoint928     │929 188 │   require Phoenix.Endpoint930     │   ~931     │932     └─ lib/phoenix/socket.ex:188:3933934    warning: unused require Phoenix.Endpoint935    │936  6 │   require Phoenix.Endpoint937    │   ~938    │939    └─ lib/phoenix/channel/server.ex:6:3940941    warning: unused require Logger942    │943 93 │   require Logger944    │   ~945    │946    └─ lib/phoenix/token.ex:93:3947948     warning: using single-quoted strings to represent charlists is deprecated.949     Use ~c"" if you indeed want a charlist or use "" instead.950     You may run "mix format --migrate" to change all single-quoted951     strings to use the ~c sigil and fix this warning.952     │953 178 │   @anno (if :erlang.system_info(:otp_release) >= '19' do954     │                                                  ~955     │956     └─ lib/phoenix/view.ex:178:50957958    warning: a struct for Plug.Conn is expected on struct update:959960        %Plug.Conn{conn | state: :sent}961962    but got type:963964        dynamic()965966    where "conn" was given the type:967968        # type: dynamic()969        # from: lib/phoenix/endpoint/render_errors.ex:57:17970        conn971972    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"973974    type warning found at:975    │976 61 │         %Plug.Conn{conn | state: :sent}977    │         ~978    │979    └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/5980981     warning: a struct for Plug.Conn is expected on struct update:982983         %Plug.Conn{conn | query_params: %{}, params: %{}}984985     but got type:986987         dynamic(%{..., params: %Plug.Conn.Unfetched{}})988989     where "conn" was given the types:990991         # type: dynamic(%{..., params: term()})992         # from: lib/phoenix/endpoint/render_errors.ex:124:17993         conn.params994995         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})996         # from: lib/phoenix/endpoint/render_errors.ex:124:17997         conn.params998999     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10001001     type warning found at:1002     │1003 125 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1004     │                                   ~1005     │1006     └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110071008     warning: a struct for Plug.Conn is expected on struct update:10091010         %Plug.Conn{conn | query_params: %{}, params: params}10111012     but got type:10131014         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})10151016     where "conn" was given the types:10171018         # type: dynamic(%{..., params: term()})1019         # from: lib/phoenix/endpoint/render_errors.ex:124:171020         conn.params10211022         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1023         # from: lib/phoenix/endpoint/render_errors.ex:124:171024         conn.params10251026     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10271028     type warning found at:1029     │1030 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1031     │                   ~1032     │1033     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110341035     warning: incompatible types given to socket_children/1:10361037         socket_children(mod)10381039     given types:10401041         -dynamic(atom())-10421043     but expected one of:10441045         %{..., __sockets__: term()}10461047     where "mod" was given the types:10481049         # type: dynamic(atom() or binary())1050         # from: lib/phoenix/endpoint/supervisor.ex:64:411051         defaults(otp_app, mod)10521053         # type: dynamic(atom())1054         # from: lib/phoenix/endpoint/supervisor.ex:68:161055         mod.init(:supervisor, env_conf)10561057     type warning found at:1058     │1059 105 │       socket_children(mod) ++1060     │       ~1061     │1062     └─ lib/phoenix/endpoint/supervisor.ex:105:7: Phoenix.Endpoint.Supervisor.init/110631064      warning: a struct for Plug.Conn is expected on struct update:10651066          %Plug.Conn{conn | params: params}10671068      but got type:10691070          dynamic(%{..., params: map()})10711072      where "conn" was given the type:10731074          # type: dynamic(%{..., params: map()})1075          # from: lib/phoenix/controller.ex:1040:171076          Map.get(conn.params, required_key)10771078      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10791080      type warning found at:1081      │1082 1047 │     %Plug.Conn{conn | params: params}1083      │     ~1084      │1085      └─ lib/phoenix/controller.ex:1047:5: Phoenix.Controller.scrub_params/210861087Generated phoenix app1088warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1089  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21090  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11091  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51092  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21093  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41094  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210951096==> phoenix_live_view1097Compiling 22 files (.ex)1098    warning: unused require Logger1099    │1100 25 │   require Logger1101    │   ~1102    │1103    └─ lib/phoenix_live_view/socket.ex:25:311041105     warning: unused require Phoenix.ChannelTest1106     │1107 141 │   require Phoenix.ChannelTest1108     │   ~1109     │1110     └─ lib/phoenix_live_view/test/live_view_test.ex:141:311111112     warning: unused require Phoenix.ConnTest1113     │1114 140 │   require Phoenix.ConnTest1115     │   ~1116     │1117     └─ lib/phoenix_live_view/test/live_view_test.ex:140:311181119    warning: unused require Phoenix.ChannelTest1120    │1121  4 │   require Phoenix.ChannelTest1122    │   ~1123    │1124    └─ lib/phoenix_live_view/test/upload_client.ex:4:311251126    warning: unused require Logger1127    │1128  6 │   require Logger1129    │   ~1130    │1131    └─ lib/phoenix_live_view/upload_channel.ex:6:311321133     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:11341135         %Phoenix.LiveView.Socket{1136           socket1137           | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1138         }11391140     but got type:11411142         dynamic()11431144     where "socket" was given the type:11451146         # type: dynamic()1147         # from: lib/phoenix_live_view/utils.ex:464:211148         socket11491150     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"11511152     type warning found at:1153     │1154 465 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1155     │     ~1156     │1157     └─ lib/phoenix_live_view/utils.ex:465:5: Phoenix.LiveView.Utils.do_mount_opt/311581159     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:11601161         %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}11621163     but got type:11641165         dynamic()11661167     where "socket" was given the type:11681169         # type: dynamic()1170         # from: lib/phoenix_live_view/utils.ex:468:211171         socket11721173     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"11741175     type warning found at:1176     │1177 469 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1178     │     ~1179     │1180     └─ lib/phoenix_live_view/utils.ex:469:5: Phoenix.LiveView.Utils.do_mount_opt/311811182     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11831184         %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}11851186     but got type:11871188         dynamic()11891190     where "entry" was given the type:11911192         # type: dynamic()1193         # from: lib/phoenix_live_view/upload_config.ex:341:281194         entry <- conf.entries11951196     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"11971198     type warning found at:1199     │1200 341 │       | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1201     │                                                 ~1202     │1203     └─ lib/phoenix_live_view/upload_config.ex:341:49: Phoenix.LiveView.UploadConfig.mark_preflighted/112041205     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12061207         %Phoenix.LiveView.Socket{1208           socket1209           | assigns: Map.merge(temp_assigns, socket.assigns),1210             private: Map.put(socket.private, :temporary_assigns, temp_assigns)1211         }12121213     but got type:12141215         dynamic()12161217     where "socket" was given the type:12181219         # type: dynamic()1220         # from: lib/phoenix_live_view/utils.ex:478:211221         socket12221223     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"12241225     type warning found at:1226     │1227 485 │     %Socket{1228     │     ~1229     │1230     └─ lib/phoenix_live_view/utils.ex:485:5: Phoenix.LiveView.Utils.do_mount_opt/312311232     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12331234         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}12351236     but got type:12371238         dynamic()12391240     where "entry" was given the type:12411242         # type: dynamic()1243         # from: lib/phoenix_live_view/upload_config.ex:541:301244         entry12451246     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12471248     type warning found at:1249     │1250 542 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1251     │             ~1252     │1253     └─ lib/phoenix_live_view/upload_config.ex:542:13: Phoenix.LiveView.UploadConfig.put_valid_entry/212541255     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12561257         %Phoenix.LiveView.Socket{1258           socket1259           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1260         }12611262     but got type:12631264         dynamic(%{..., assigns: term(), changed: term()})12651266     where "socket" was given the type:12671268         # type: dynamic(%{..., assigns: term(), changed: term()})1269         # from: lib/phoenix_live_view/utils.ex:496:611270         %{assigns: assigns, changed: changed} = socket12711272     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"12731274     type warning found at:1275     │1276 497 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1277     │              ~1278     │1279     └─ lib/phoenix_live_view/utils.ex:497:14: Phoenix.LiveView.Utils.render_assigns/112801281     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12821283         %Phoenix.LiveView.UploadEntry{entry | valid?: false}12841285     but got type:12861287         dynamic()12881289     where "entry" was given the type:12901291         # type: dynamic()1292         # from: lib/phoenix_live_view/upload_config.ex:554:321293         entry12941295     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12961297     type warning found at:1298     │1299 555 │     entry = %UploadEntry{entry | valid?: false}1300     │             ~1301     │1302     └─ lib/phoenix_live_view/upload_config.ex:555:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/313031304     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13051306         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}13071308     but got type:13091310         dynamic()13111312     where "entry" was given the type:13131314         # type: dynamic()1315         # from: lib/phoenix_live_view/upload_config.ex:638:421316         entry13171318     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"13191320     type warning found at:1321     │1322 638 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1323     │                                                   ~1324     │1325     └─ lib/phoenix_live_view/upload_config.ex:638:51: Phoenix.LiveView.UploadConfig.cancel_entry/213261327    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1328    │1329 56 │     Logger.disable(self())1330    │            ~1331    │1332    └─ lib/phoenix_live_view/test/client_proxy.ex:56:12: Phoenix.LiveViewTest.ClientProxy.init/113331334     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:13351336         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}13371338     but got type:13391340         dynamic(%{..., rendered: term()})13411342     where "view" was given the type:13431344         # type: dynamic(%{..., rendered: term()})1345         # from: lib/phoenix_live_view/test/client_proxy.ex:600:241346         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)13471348     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"13491350     type warning found at:1351     │1352 601 │         new_view = %ClientProxy{view | rendered: rendered}1353     │                    ~1354     │1355     └─ lib/phoenix_live_view/test/client_proxy.ex:601:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/313561357     warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1358     │1359 986 │       Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1360     │                       ~1361     │1362     └─ lib/phoenix_live_view/test/client_proxy.ex:986:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31363     └─ lib/phoenix_live_view/test/client_proxy.ex:991:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31364     └─ lib/phoenix_live_view/test/client_proxy.ex:1001:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31365     └─ lib/phoenix_live_view/test/client_proxy.ex:1010:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/313661367     warning: the following clause is redundant:13681369         def to_iodata(%_{} = struct)13701371     it has type:13721373         dynamic(%Phoenix.LiveView.Rendered{})13741375     previous clauses have already matched on the following types:13761377         %Phoenix.LiveView.Rendered{}13781379     │1380 126 │     def to_iodata(%_{} = struct) do1381     │         ~1382     │1383     └─ lib/phoenix_live_view/engine.ex:126:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/113841385     warning: the 1st pattern in clause will never match:13861387         nil13881389     because it is expected to receive type:13901391         dynamic(%Phoenix.LiveView.Rendered{})13921393     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}13941395     type warning found at:1396     │1397 130 │     def to_iodata(nil) do1398     │     ~~~~~~~~~~~~~~~~~~~~~1399     │1400     └─ lib/phoenix_live_view/engine.ex:130: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114011402     warning: the following clause is redundant:14031404         def to_iodata(other)14051406     it has type:14071408         dynamic(%Phoenix.LiveView.Rendered{})14091410     previous clauses have already matched on the following types:14111412         %Phoenix.LiveView.Rendered{}14131414     │1415 134 │     def to_iodata(other) do1416     │         ~1417     │1418     └─ lib/phoenix_live_view/engine.ex:134:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114191420Generated phoenix_live_view app1421warning: Phoenix now requires you to explicitly list which engine to use1422for Phoenix JSON encoding. We recommend everyone to upgrade to1423Jason by setting in your config/config.exs:14241425    config :phoenix, :json_library, Jason14261427And then adding {:jason, "~> 1.0"} as a dependency.14281429If instead you would rather continue using Poison, then add to1430your config/config.exs:14311432    config :phoenix, :json_library, Poison14331434  (phoenix 1.5.15) lib/phoenix.ex:38: Phoenix.start/21435  (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/414361437warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1438  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21439  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11440  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51441  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21442  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41443  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214441445==> phoenix_live_dashboard1446Compiling 36 files (.ex)1447    warning: using single-quoted strings to represent charlists is deprecated.1448    Use ~c"" if you indeed want a charlist or use "" instead.1449    You may run "mix format --migrate" to change all single-quoted1450    strings to use the ~c sigil and fix this warning.1451    │1452 41 │     '#Port' ++ rest = :erlang.port_to_list(ref)1453    │     ~1454    │1455    └─ lib/phoenix/live_dashboard/helpers.ex:41:514561457    warning: using single-quoted strings to represent charlists is deprecated.1458    Use ~c"" if you indeed want a charlist or use "" instead.1459    You may run "mix format --migrate" to change all single-quoted1460    strings to use the ~c sigil and fix this warning.1461    │1462 49 │     '#Ref' ++ rest = :erlang.ref_to_list(ref)1463    │     ~1464    │1465    └─ lib/phoenix/live_dashboard/helpers.ex:49:514661467warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1468  lib/phoenix/live_dashboard/pages/home_page.ex:176: Phoenix.LiveDashboard.HomePage.render/114691470warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1471  lib/phoenix/live_dashboard/pages/home_page.ex:184: Phoenix.LiveDashboard.HomePage.render/114721473warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1474  lib/phoenix/live_dashboard/pages/home_page.ex:192: Phoenix.LiveDashboard.HomePage.render/114751476warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1477  lib/phoenix/live_dashboard/pages/os_mon_page.ex:213: Phoenix.LiveDashboard.OSMonPage.render/114781479warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1480  lib/phoenix/live_dashboard/pages/os_mon_page.ex:235: Phoenix.LiveDashboard.OSMonPage.render/114811482     warning: using single-quoted strings to represent charlists is deprecated.1483     Use ~c"" if you indeed want a charlist or use "" instead.1484     You may run "mix format --migrate" to change all single-quoted1485     strings to use the ~c sigil and fix this warning.1486     │1487 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1488     │                ~1489     │1490     └─ lib/phoenix/live_dashboard/system_info.ex:397:1614911492     warning: using single-quoted strings to represent charlists is deprecated.1493     Use ~c"" if you indeed want a charlist or use "" instead.1494     You may run "mix format --migrate" to change all single-quoted1495     strings to use the ~c sigil and fix this warning.1496     │1497 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1498     │                            ~1499     │1500     └─ lib/phoenix/live_dashboard/system_info.ex:397:2815011502     warning: using single-quoted strings to represent charlists is deprecated.1503     Use ~c"" if you indeed want a charlist or use "" instead.1504     You may run "mix format --migrate" to change all single-quoted1505     strings to use the ~c sigil and fix this warning.1506     │1507 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1508     │                                        ~1509     │1510     └─ lib/phoenix/live_dashboard/system_info.ex:397:4015111512     warning: using single-quoted strings to represent charlists is deprecated.1513     Use ~c"" if you indeed want a charlist or use "" instead.1514     You may run "mix format --migrate" to change all single-quoted1515     strings to use the ~c sigil and fix this warning.1516     │1517 543 │         [{'none', 0, 0}] -> []1518     │           ~1519     │1520     └─ lib/phoenix/live_dashboard/system_info.ex:543:1115211522warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1523  lib/phoenix/live_dashboard/page_live.ex:211: Phoenix.LiveDashboard.PageLive.render_page/315241525warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1526  lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/315271528warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1529  lib/phoenix/live_dashboard/components/nav_bar_component.ex:142: Phoenix.LiveDashboard.NavBarComponent.render_content/315301531warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1532  lib/phoenix/live_dashboard/components/card_usage_component.ex:7: Phoenix.LiveDashboard.CardUsageComponent.render/115331534     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:15351536         Phoenix.LiveView.Helpers.__live_component__(1537           component.__live__(),1538           Phoenix.LiveDashboard.ModalComponent,1539           nil1540         )15411542     given types:15431544         dynamic(), -Phoenix.LiveDashboard.ModalComponent-, nil15451546     but expected one of:15471548         (1549           %{..., kind: :component, module: term()},1550           empty_list() or map() or non_empty_list(term(), term()),1551           term()1552         )15531554     where "component" (context Phoenix.LiveView.Helpers) was given the types:15551556         # type: dynamic(not %Phoenix.LiveView.Socket{})1557         # from: lib/phoenix/live_dashboard/page_live.ex:2361558         component15591560         # type: dynamic(atom())1561         # from: lib/phoenix/live_dashboard/page_live.ex:2361562         component.__live__()15631564     type warning found at:1565     │1566 236 │     live_component(socket, Phoenix.LiveDashboard.ModalComponent, modal_opts)1567     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1568     │1569     └─ lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/315701571     warning: the following clause will never match:15721573         %{__changed__: changed} when track_changes? ->15741575     because it attempts to match on the result of:15761577         assigns15781579     which has type:15801581         dynamic(%{text: term()})15821583     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:15841585         # type: dynamic(true)1586         # from: lib/phoenix/live_dashboard/page_live.ex:3121587         track_changes?15881589     type warning found at:1590     │1591 312 │     ~L"""1592     │     ~~~~~1593     │1594     └─ lib/phoenix/live_dashboard/page_live.ex:312: Phoenix.LiveDashboard.PageLive.maybe_link/315951596     warning: the following clause will never match:15971598         %{__changed__: changed} when track_changes? ->15991600     because it attempts to match on the result of:16011602         assigns16031604     which has type:16051606         dynamic(%{more_info_url: term(), text: term()})16071608     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:16091610         # type: dynamic(true)1611         # from: lib/phoenix/live_dashboard/page_live.ex:3221612         track_changes?16131614     type warning found at:1615     │1616 322 │     ~L"""1617     │     ~~~~~1618     │1619     └─ lib/phoenix/live_dashboard/page_live.ex:322: Phoenix.LiveDashboard.PageLive.maybe_link/316201621     warning: the following clause will never match:16221623         %{__changed__: changed} when track_changes? ->16241625     because it attempts to match on the result of:16261627         assigns16281629     which has type:16301631         dynamic(%{checked_param: binary()})16321633     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:16341635         # type: dynamic(true)1636         # from: lib/phoenix/live_dashboard/pages/request_logger_page.ex:1781637         track_changes?16381639     type warning found at:1640     │1641 178 │     ~L"""1642     │     ~~~~~1643     │1644     └─ lib/phoenix/live_dashboard/pages/request_logger_page.ex:178: Phoenix.LiveDashboard.RequestLoggerPage.autoscroll_checkbox/116451646     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:16471648         Phoenix.LiveView.Helpers.__live_component__(1649           component.__live__(),1650           Phoenix.LiveDashboard.ColorBarComponent,1651           nil1652         )16531654     given types:16551656         dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil16571658     but expected one of:16591660         (1661           %{..., kind: :component, module: term()},1662           empty_list() or map() or non_empty_list(term(), term()),1663           term()1664         )16651666     where "component" (context Phoenix.LiveView.Helpers) was given the types:16671668         # type: dynamic(not %Phoenix.LiveView.Socket{})1669         # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1911670         component16711672         # type: dynamic(atom())1673         # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1911674         component.__live__()16751676     type warning found at:1677     │1678 191 │                       <%= live_component @socket, ColorBarComponent, dom_id: "cpu-#{num_cpu}", data: cpu_usage_sections(usage), title: "CPU #{num_cpu+1}", csp_nonces: @csp_nonces %>1679     │                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1680     │1681     └─ lib/phoenix/live_dashboard/pages/os_mon_page.ex:191: Phoenix.LiveDashboard.OSMonPage.render/116821683     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:16841685         Phoenix.LiveView.Helpers.__live_component__(1686           component.__live__(),1687           Phoenix.LiveDashboard.ColorBarComponent,1688           nil1689         )16901691     given types:16921693         dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil16941695     but expected one of:16961697         (1698           %{..., kind: :component, module: term()},1699           empty_list() or map() or non_empty_list(term(), term()),1700           term()1701         )17021703     where "component" (context Phoenix.LiveView.Helpers) was given the types:17041705         # type: dynamic(not %Phoenix.LiveView.Socket{})1706         # from: lib/phoenix/live_dashboard/pages/home_page.ex:2061707         component17081709         # type: dynamic(atom())1710         # from: lib/phoenix/live_dashboard/pages/home_page.ex:2061711         component.__live__()17121713     type warning found at:1714     │1715 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" %>1716     │             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1717     │1718     └─ lib/phoenix/live_dashboard/pages/home_page.ex:206: Phoenix.LiveDashboard.HomePage.render/117191720    warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:17211722        Phoenix.LiveView.Helpers.__live_component__(1723          component.__live__(),1724          Phoenix.LiveDashboard.ChartComponent,1725          nil1726        )17271728    given types:17291730        dynamic(), -Phoenix.LiveDashboard.ChartComponent-, nil17311732    but expected one of:17331734        (1735          %{..., kind: :component, module: term()},1736          empty_list() or map() or non_empty_list(term(), term()),1737          term()1738        )17391740    where "component" (context Phoenix.LiveView.Helpers) was given the types:17411742        # type: dynamic(not %Phoenix.LiveView.Socket{})1743        # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:761744        component17451746        # type: dynamic(atom())1747        # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:761748        component.__live__()17491750    type warning found at:1751    │1752 76 │           <%= live_component @socket, ChartComponent, id: id, metric: metric %>1753    │           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1754    │1755    └─ lib/phoenix/live_dashboard/pages/metrics_page.ex:76: Phoenix.LiveDashboard.MetricsPage.render_metrics/117561757     warning: the following clause will never match:17581759         %{__changed__: changed} when track_changes? ->17601761     because it attempts to match on the result of:17621763         assigns17641765     which has type:17661767         dynamic(%{block: term()})17681769     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:17701771         # type: dynamic(true)1772         # from: lib/phoenix/live_dashboard/helpers.ex:2081773         track_changes?17741775     type warning found at:1776     │1777 208 │     ~L"""1778     │     ~~~~~1779     │1780     └─ lib/phoenix/live_dashboard/helpers.ex:208: Phoenix.LiveDashboard.Helpers.hint/117811782     warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1783     │1784 146 │     do: struct.to_string(value)1785     │                ~1786     │1787     └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:146:16: Phoenix.LiveDashboard.EctoStatsPage.format/217881789    warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1790    │1791  8 │     Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)1792    │            ~1793    │1794    └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/217951796Generated phoenix_live_dashboard app1797==> islands_tally1798Compiling 16 files (.ex)1799Generated islands_tally app1800==> islands_engine1801Compiling 17 files (.ex)1802Generated islands_engine app1803==> islands_client_state1804Compiling 1 file (.ex)1805Generated islands_client_state app1806==> islands_client_random_guess1807Compiling 1 file (.ex)1808Generated islands_client_random_guess app1809warning: the :gettext compiler is no longer required in your mix.exs.18101811Please find the following line in your mix.exs and remove the :gettext entry:18121813    compilers: [..., :gettext, ...] ++ Mix.compilers(),18141815  (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11816  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51817  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21818  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41819  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21820  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/518211822==> islands_vue_client1823Compiling 36 files (.ex)1824    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1825    │1826  8 │     Logger.warn("Ending game '#{game_name}'...")1827    │            ~1828    │1829    └─ lib/islands_vue_client_web/channels/game_channel/game_ender.ex:8:12: Islands.Vue.ClientWeb.GameChannel.GameEnder.end_game/118301831    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1832    │1833 21 │     Logger.warn("#{player_name} (#{player_id}) has left game '#{game_name}'.")1834    │            ~1835    │1836    └─ lib/islands_vue_client_web/channels/game_channel/terminator.ex:21:12: Islands.Vue.ClientWeb.GameChannel.Terminator.terminate/218371838    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1839    │1840 22 │     Logger.warn("Reason: #{inspect(reason)}")1841    │            ~1842    │1843    └─ lib/islands_vue_client_web/channels/game_channel/terminator.ex:22:12: Islands.Vue.ClientWeb.GameChannel.Terminator.terminate/218441845    warning: unused require Logger1846    │1847  7 │   require Logger1848    │   ~1849    │1850    └─ lib/islands_vue_client_web/channels/game_channel/opponent_left.ex:7:318511852    warning: unused require Logger1853    │1854  9 │   require Logger1855    │   ~1856    │1857    └─ lib/islands_vue_client_web/channels/game_channel/game_over.ex:9:318581859    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1860    │1861  4 │   @salt Application.get_env(:islands_vue_client, :salt)1862    │                     ~1863    │1864    └─ lib/islands_vue_client_web/channels/user_socket.ex:4:21: Islands.Vue.ClientWeb.UserSocket (module)18651866warning: defining a Gettext backend by calling18671868    use Gettext, otp_app: ...18691870is deprecated. To define a backend, call:18711872    use Gettext.Backend, otp_app: :my_app18731874Then, instead of importing your backend, call this in your module:18751876    use Gettext, backend: MyApp.Gettext18771878  lib/islands_vue_client_web/gettext.ex:23: Islands.Vue.ClientWeb.Gettext (module)18791880    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead1881    │1882  9 │   @salt Application.get_env(:islands_vue_client, :salt)1883    │                     ~1884    │1885    └─ lib/islands_vue_client_web/controllers/game_controller.ex:9:21: Islands.Vue.ClientWeb.GameController (module)188618871888== Compilation error in file lib/islands_vue_client_web/endpoint.ex ==1889** (ArgumentError) invalid :json_decoder option. The module Poison is not loaded and could not be found1890    (plug 1.20.3) lib/plug/parsers/json.ex:48: Plug.Parsers.JSON.validate_decoder!/11891    (plug 1.20.3) lib/plug/parsers/json.ex:35: Plug.Parsers.JSON.init/11892    (plug 1.20.3) lib/plug/parsers.ex:283: anonymous fn/2 in Plug.Parsers.convert_parsers/21893    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21894    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21895    (plug 1.20.3) lib/plug/parsers.ex:263: Plug.Parsers.init/11896    (plug 1.20.3) lib/plug/builder.ex:358: Plug.Builder.init_module_plug/41897    (plug 1.20.3) lib/plug/builder.ex:339: anonymous fn/5 in Plug.Builder.compile/31898could 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"