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: "<"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: ">"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: "&"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: """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: "'"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"