Build log
nerves_system_rpi4
prexent 0.2.1 · fail · run prexent-0.2.1-1791074204228
1607 of 1607 lines
1Resolving Hex dependencies...2Resolution completed in 0.164s3Unchanged: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 earmark 1.4.49 RETIRED! VULNERABLE!18 (deprecated) Earmark is no longer maintained. Migrate to a replacement, for example MDEx (https://hex.pm/packages/mdex).1920 EEF-CVE-2026-48591 (MEDIUM)21 aka: CVE-2026-48591, GHSA-52mm-h59v-f3c722 Stored XSS via unescaped HTML attribute values in earmark23 https://osv.dev/vulnerability/EEF-CVE-2026-4859124 elixir_make 0.10.025 erlexec 1.21.0 RETIRED!26 (deprecated) Deprecated27 exexec 0.2.028 expo 1.1.129 file_system 1.1.130 gettext 0.26.231 interactive_cmd 0.1.432 jason 1.4.533 mime 2.0.734 nerves 2.0.0-pre.235 nerves_discovery 0.1.536 nerves_logging 0.2.437 nerves_runtime 0.13.1338 nerves_system_bbb 2.30.239 nerves_system_br 1.34.440 nerves_system_mangopi_mq_pro 0.17.241 nerves_system_qemu_aarch64 0.4.242 nerves_system_rpi0 2.1.243 nerves_system_rpi4 2.1.244 nerves_system_rpi5 2.1.245 nerves_system_trellis 0.5.046 nerves_system_x86_64 1.34.247 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.148 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.149 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.150 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.151 nerves_toolchain_x86_64_nerves_linux_musl 15.3.152 nerves_uevent 0.1.753 phoenix 1.4.18 VULNERABLE!54 GHSA-p8f7-22gq-m7j9 (HIGH)55 aka: CVE-2022-4297556 Phoenix before 1.6.14 mishandles check_origin wildcarding57 https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j95859 EEF-CVE-2026-56812 (MEDIUM)60 aka: CVE-2026-56812, GHSA-63mc-hw7g-86rr61 Phoenix JavaScript presence client crashes on presence keys colliding with Object.prototype members in Presence.syncState/syncDiff62 https://osv.dev/vulnerability/EEF-CVE-2026-568126364 EEF-CVE-2026-56811 (HIGH)65 aka: CVE-2026-56811, GHSA-6983-jfq8-485w66 Phoenix transports do not limit channel joins per connection, enabling process-exhaustion denial of service67 https://osv.dev/vulnerability/EEF-CVE-2026-5681168 phoenix_html 2.13.4 VULNERABLE!69 GHSA-5g2h-9x5v-5h3x (MEDIUM)70 aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q271 phoenix_html allows Cross-site Scripting in HEEx class attributes72 https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x73 phoenix_live_reload 1.7.074 phoenix_live_view 0.3.175 phoenix_pubsub 1.1.276 plug 1.20.377 plug_cowboy 2.9.078 plug_crypto 2.2.079 prexent 0.2.180 property_table 0.3.481 ranch 2.3.082 ring_logger 0.11.783 tablet 0.3.384 telemetry 0.4.385 toolshed 0.5.086 uboot_env 1.0.287* Getting prexent (Hex package)88* Getting nerves (Hex package)89* Getting ring_logger (Hex package)90* Getting toolshed (Hex package)91* Getting nerves_runtime (Hex package)92* Getting nerves_system_bbb (Hex package)93* Getting nerves_system_mangopi_mq_pro (Hex package)94* Getting nerves_system_qemu_aarch64 (Hex package)95* Getting nerves_system_rpi0 (Hex package)96* Getting nerves_system_rpi4 (Hex package)97* Getting nerves_system_rpi5 (Hex package)98* Getting nerves_system_trellis (Hex package)99* Getting nerves_system_x86_64 (Hex package)100* Getting nerves_system_br (Hex package)101* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)102* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)103* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)104* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)105* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)106* Getting nerves_logging (Hex package)107* Getting nerves_uevent (Hex package)108* Getting uboot_env (Hex package)109* Getting elixir_make (Hex package)110* Getting property_table (Hex package)111* Getting circular_buffer (Hex package)112* Getting interactive_cmd (Hex package)113* Getting nerves_discovery (Hex package)114* Getting tablet (Hex package)115* Getting earmark (Hex package)116* Getting exexec (Hex package)117* Getting gettext (Hex package)118* Getting jason (Hex package)119* Getting phoenix (Hex package)120* Getting phoenix_html (Hex package)121* Getting phoenix_live_reload (Hex package)122* Getting phoenix_live_view (Hex package)123* Getting phoenix_pubsub (Hex package)124* Getting plug_cowboy (Hex package)125* Getting cowboy (Hex package)126* Getting cowboy_telemetry (Hex package)127* Getting plug (Hex package)128* Getting mime (Hex package)129* Getting plug_crypto (Hex package)130* Getting telemetry (Hex package)131* Getting cowlib (Hex package)132* Getting ranch (Hex package)133* Getting file_system (Hex package)134* Getting expo (Hex package)135* Getting erlexec (Hex package)136Found retired packages, see above for details137Found packages with security advisories, see above for details138You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more139==> nerves_system_br140Generated nerves_system_br app141==> file_system142Compiling 7 files (.ex)143Generated file_system app144==> mime145Compiling 1 file (.ex)146Generated mime app147==> circular_buffer148Compiling 1 file (.ex)149Generated circular_buffer app150==> jason151Compiling 10 files (.ex)152Generated jason app153==> plug_crypto154Compiling 5 files (.ex)155Generated plug_crypto app156==> nerves_compatibility_test157===> Analyzing applications...158===> Compiling ranch159==> tablet160Compiling 2 files (.ex)161Generated tablet app162==> nerves_compatibility_test163===> Fetching pc v1.15.0164===> Analyzing applications...165===> Compiling pc166===> Compiling c_src/ei++.cpp167===> Compiling c_src/exec.cpp168===> Compiling c_src/exec_impl.cpp169===> Linking /work/proj/_build/rpi4/lib/erlexec/priv/aarch64-nerves-linux-gnu/exec-port170===> Analyzing applications...171===> Compiling erlexec172==> exexec173Compiling 2 files (.ex)174Generated exexec app175==> elixir_make176Compiling 8 files (.ex)177Generated elixir_make app178==> nerves_logging179 CC kmsg_tailer.o180 LD kmsg_tailer181Compiling 5 files (.ex)182Generated nerves_logging app183==> earmark184Compiling 2 files (.xrl)185Compiling 1 file (.yrl)186Compiling 3 files (.erl)187Compiling 61 files (.ex)188 warning: unused require Logger189 │190 3 │ require Logger191 │ ~192 │193 └─ lib/earmark_parser/line_scanner.ex:3:3194195 warning: this clause of defp _maybe_remove_paras/2 is never used (or it will always fail/warn when invoked)196 │197 616 │ defp _maybe_remove_paras(ast, %Options{inner_html: true}) do198 │ ~199 │200 └─ lib/earmark/transform.ex:616:8: Earmark.Transform._maybe_remove_paras/2201202Generated earmark app203==> nerves_compatibility_test204===> Analyzing applications...205===> Compiling cowlib206==> nerves_discovery207Compiling 5 files (.ex)208Generated nerves_discovery app209==> ring_logger210Compiling 7 files (.ex)211Generated ring_logger app212==> interactive_cmd213Compiling 1 file (.ex)214Generated interactive_cmd app215==> nerves216Compiling 65 files (.ex)217 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)218 │219 6 │ defmodule Mix.Tasks.Nerves.Init do220 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~221 │222 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)223224 warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.beam)225 │226 6 │ defmodule Nerves do227 │ ~~~~~~~~~~~~~~~~~~~228 │229 └─ lib/nerves.ex:6: Nerves (module)230231 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)232 │233 5 │ defmodule Nerves.ArtifactResolver do234 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~235 │236 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)237238 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)239 │240 6 │ defmodule Nerves.BuildAction.AppModes do241 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~242 │243 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)244245 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)246 │247 5 │ defmodule Nerves.BuildAction.CheckExecutables do248 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~249 │250 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)251252 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)253 │254 8 │ defmodule Nerves.BuildAction.Erlinit do255 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~256 │257 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)258259 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)260 │261 5 │ defmodule Nerves.BuildAction.Firmware do262 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~263 │264 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)265266 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)267 │268 7 │ defmodule Nerves.BuildAction.IExStartupCheck do269 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~270 │271 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)272273 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)274 │275 5 │ defmodule Nerves.BuildAction.NervesV1System do276 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~277 │278 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)279280 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)281 │282 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do283 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~284 │285 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)286287 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)288 │289 5 │ defmodule Nerves.BuildAction.Rootfs do290 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~291 │292 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)293294 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)295 │296 6 │ defmodule Nerves.BuildAction.SortApps do297 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~298 │299 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)300301 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)302 │303 5 │ defmodule Nerves.BuildAction.StripAll do304 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~305 │306 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)307308 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)309 │310 5 │ defmodule Nerves.BuildAction.Trimmer do311 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~312 │313 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)314315 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)316 │317 5 │ defmodule Nerves.BuildPlan do318 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~319 │320 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)321322 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)323 │324 5 │ defmodule Nerves.BuildPlan.Checks do325 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~326 │327 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)328329 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.Container.beam)330 │331 6 │ defmodule Nerves.Container do332 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~333 │334 └─ lib/nerves/container.ex:6: Nerves.Container (module)335336 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)337 │338 5 │ defmodule Nerves.Fingerprint do339 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~340 │341 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)342343 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)344 │345 5 │ defmodule Nerves.MixPackage do346 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~347 │348 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)349350 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.Paths.beam)351 │352 5 │ defmodule Nerves.Paths do353 │ ~~~~~~~~~~~~~~~~~~~~~~~~~354 │355 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)356357 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)358 │359 5 │ defmodule Nerves.TargetTuple do360 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~361 │362 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)363364Generated nerves app365==> nerves_toolchain_aarch64_nerves_linux_gnu366Compiling 1 file (.ex)367Generated nerves_toolchain_aarch64_nerves_linux_gnu app368==> nerves_system_rpi4369Generated nerves_system_rpi4 app370==> nerves_compatibility_test371===> Analyzing applications...372===> Compiling telemetry373===> Analyzing applications...374===> Compiling cowboy375==> expo376Compiling 2 files (.erl)377Compiling 22 files (.ex)378Generated expo app379==> gettext380Compiling 18 files (.ex)381 warning: unused require Gettext.Macros382 │383 594 │ require Gettext.Macros384 │ ~385 │386 └─ lib/gettext.ex:594:3387388 warning: the following clause is redundant:389390 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)391392 it has type:393394 dynamic(%Expo.Message.Plural{})395396 previous clauses have already matched on the following types:397398 %Expo.Message.Singular{}399 %Expo.Message.Plural{}400401 │402 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do403 │ ~404 │405 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1406407 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead408 │409 426 │ Kernel.ParallelCompiler.async(fn ->410 │ ~411 │412 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3413414Generated gettext app415==> phoenix_pubsub416Compiling 13 files (.ex)417 warning: single quotes around atoms are deprecated. Use double quotes instead418 │419 160 │ |> :ets.select([{{:'$1', :_}, [], [:'$1']}])420 │ ~421 │422 └─ lib/phoenix/pubsub/local.ex:160:23423424 warning: single quotes around atoms are deprecated. Use double quotes instead425 │426 160 │ |> :ets.select([{{:'$1', :_}, [], [:'$1']}])427 │ ~428 │429 └─ lib/phoenix/pubsub/local.ex:160:40430431 warning: unused require Logger432 │433 107 │ require Logger434 │ ~435 │436 └─ lib/phoenix/tracker.ex:107:3437438 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:439440 %Phoenix.Tracker.Replica{replica | status: :permdown}441442 but got type:443444 dynamic()445446 where "replica" was given the type:447448 # type: dynamic()449 # from: lib/phoenix/tracker/replica.ex:72:17450 replica451452 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"453454 type warning found at:455 │456 72 │ defp permdown(replica), do: %Replica{replica | status: :permdown}457 │ ~458 │459 └─ lib/phoenix/tracker/replica.ex:72:31: Phoenix.Tracker.Replica.permdown/1460461 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:462463 %Phoenix.Tracker.Replica{replica | status: :down}464465 but got type:466467 dynamic()468469 where "replica" was given the type:470471 # type: dynamic()472 # from: lib/phoenix/tracker/replica.ex:74:13473 replica474475 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"476477 type warning found at:478 │479 74 │ defp down(replica), do: %Replica{replica | status: :down}480 │ ~481 │482 └─ lib/phoenix/tracker/replica.ex:74:27: Phoenix.Tracker.Replica.down/1483484 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:485486 %Phoenix.Tracker.Replica{replica | last_heartbeat_at: now_ms()}487488 but got type:489490 dynamic()491492 where "replica" was given the type:493494 # type: dynamic()495 # from: lib/phoenix/tracker/replica.ex:76:29496 replica497498 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"499500 type warning found at:501 │502 77 │ %Replica{replica | last_heartbeat_at: now_ms()}503 │ ~504 │505 └─ lib/phoenix/tracker/replica.ex:77:5: Phoenix.Tracker.Replica.touch_last_heartbeat/1506507 warning: a struct for Phoenix.Tracker.State is expected on struct update:508509 %Phoenix.Tracker.State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}510511 but got type:512513 dynamic()514515 where "delta" was given the type:516517 # type: dynamic()518 # from: lib/phoenix/tracker/state.ex:461:36519 %Phoenix.Tracker.State{delta: delta} = state520521 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"522523 type warning found at:524 │525 465 │ new_delta = %State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}526 │ ~527 │528 └─ lib/phoenix/tracker/state.ex:465:17: Phoenix.Tracker.State.do_add/5529530 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead531 │532 269 │ worker(Phoenix.Tracker.Shard, [tracker, tracker_opts, shard_opts],533 │ ~534 │535 └─ lib/phoenix/tracker.ex:269:9: Phoenix.Tracker.init/1536537 warning: a struct for Phoenix.Tracker.State is expected on struct update:538539 %Phoenix.Tracker.State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}540541 but got type:542543 dynamic()544545 where "delta" was given the type:546547 # type: dynamic()548 # from: lib/phoenix/tracker/state.ex:541:99549 %Phoenix.Tracker.State{mode: :normal, replica: rep, clouds: clouds, context: ctx, delta: delta} =550 state551552 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"553554 type warning found at:555 │556 547 │ delta: %State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}}557 │ ~558 │559 └─ lib/phoenix/tracker/state.ex:547:19: Phoenix.Tracker.State.bump_clock/1560561 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead562 │563 273 │ supervise(shards, strategy: :one_for_one,564 │ ~565 │566 └─ lib/phoenix/tracker.ex:273:5: Phoenix.Tracker.init/1567568 warning: a struct for Phoenix.Tracker.State is expected on struct update:569570 %Phoenix.Tracker.State{delta | range: {start_clock, new_end}}571572 but got type:573574 dynamic(%{..., range: {term(), term()}})575576 where "delta" was given the type:577578 # type: dynamic(%{..., range: {term(), term()}})579 # from: lib/phoenix/tracker/state.ex:551:30580 {start_clock, end_clock} = delta.range581582 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"583584 type warning found at:585 │586 555 │ delta: %State{delta | range: {start_clock, new_end}}}587 │ ~588 │589 └─ lib/phoenix/tracker/state.ex:555:19: Phoenix.Tracker.State.put_context/2590591 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead592 │593 7 │ [supervisor(Phoenix.PubSub.PG2, pubsub)]594 │ ~595 │596 └─ lib/phoenix/pubsub/supervisor.ex:7:8: Phoenix.PubSub.Supervisor.start/2597598 warning: :pg2.create/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead599 │600 43 │ :ok = :pg2.create(pg2_group)601 │ ~602 │603 └─ lib/phoenix/pubsub/pg2_server.ex:43:16: Phoenix.PubSub.PG2Server.init/1604605 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead606 │607 93 │ supervisor(Phoenix.PubSub.LocalSupervisor, [server, pool_size, dispatch_rules]),608 │ ~609 │610 └─ lib/phoenix/pubsub/pg2.ex:93:7: Phoenix.PubSub.PG2.init/1611612 warning: :pg2.join/2 is undefined or private, this module was removed in OTP 24. Use 'pg' instead613 │614 44 │ :ok = :pg2.join(pg2_group, self())615 │ ~616 │617 └─ lib/phoenix/pubsub/pg2_server.ex:44:16: Phoenix.PubSub.PG2Server.init/1618619 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead620 │621 94 │ worker(Phoenix.PubSub.PG2Server, [server, pool_size])622 │ ~623 │624 └─ lib/phoenix/pubsub/pg2.ex:94:7: Phoenix.PubSub.PG2.init/1625626 warning: :pg2.get_members/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead627 │628 57 │ :pg2.get_members(pg2_namespace(server_name))629 │ ~630 │631 └─ lib/phoenix/pubsub/pg2_server.ex:57:10: Phoenix.PubSub.PG2Server.get_members/1632633 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead634 │635 97 │ supervise(children, strategy: :rest_for_one)636 │ ~637 │638 └─ lib/phoenix/pubsub/pg2.ex:97:5: Phoenix.PubSub.PG2.init/1639640 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead641 │642 35 │ worker(Phoenix.PubSub.GC, [gc_shard_name, local_shard_name]),643 │ ~644 │645 └─ lib/phoenix/pubsub/local_supervisor.ex:35:9: Phoenix.PubSub.LocalSupervisor.init/1646 └─ lib/phoenix/pubsub/local_supervisor.ex:36:9: Phoenix.PubSub.LocalSupervisor.init/1647648 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead649 │650 39 │ supervisor(Supervisor, [shard_children, [strategy: :one_for_all]], id: shard)651 │ ~652 │653 └─ lib/phoenix/pubsub/local_supervisor.ex:39:7: Phoenix.PubSub.LocalSupervisor.init/1654655 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead656 │657 42 │ supervise children, strategy: :one_for_one658 │ ~659 │660 └─ lib/phoenix/pubsub/local_supervisor.ex:42:5: Phoenix.PubSub.LocalSupervisor.init/1661662Generated phoenix_pubsub app663==> plug664Compiling 1 file (.erl)665Compiling 42 files (.ex)666Generated plug app667==> phoenix_html668Compiling 8 files (.ex)669 warning: using single-quoted strings to represent charlists is deprecated.670 Use ~c"" if you indeed want a charlist or use "" instead.671 You may run "mix format --migrate" to change all single-quoted672 strings to use the ~c sigil and fix this warning.673 │674 12 │ @anno (if :erlang.system_info(:otp_release) >= '19' do675 │ ~676 │677 └─ lib/phoenix_html/engine.ex:12:50678679 warning: function handle_text/3 required by behaviour EEx.Engine is not implemented (in module Phoenix.HTML.Engine)680 │681 1 │ defmodule Phoenix.HTML.Engine do682 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~683 │684 └─ lib/phoenix_html/engine.ex:1: Phoenix.HTML.Engine (module)685686 warning: got "@impl true" for function handle_text/2 but no behaviour specifies such callback. The known callbacks are:687688 * EEx.Engine.handle_begin/1 (function)689 * EEx.Engine.handle_body/1 (function)690 * EEx.Engine.handle_end/1 (function)691 * EEx.Engine.handle_expr/3 (function)692 * EEx.Engine.handle_text/3 (function)693 * EEx.Engine.init/1 (function)694695 │696 52 │ def handle_text(state, text) do697 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~698 │699 └─ lib/phoenix_html/engine.ex:52: Phoenix.HTML.Engine (module)700701 warning: the 1st pattern in clause will never match:702703 60704705 because it is expected to receive type:706707 dynamic(empty_list() or non_empty_list(term(), term()))708709 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())710711 type warning found at:712 │713 56 │ def to_iodata(?<), do: "<"714 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~715 │716 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1717718 warning: the 1st pattern in clause will never match:719720 62721722 because it is expected to receive type:723724 dynamic(empty_list() or non_empty_list(term(), term()))725726 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())727728 type warning found at:729 │730 57 │ def to_iodata(?>), do: ">"731 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~732 │733 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1734735 warning: the 1st pattern in clause will never match:736737 38738739 because it is expected to receive type:740741 dynamic(empty_list() or non_empty_list(term(), term()))742743 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())744745 type warning found at:746 │747 58 │ def to_iodata(?&), do: "&"748 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~749 │750 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1751752 warning: the 1st pattern in clause will never match:753754 34755756 because it is expected to receive type:757758 dynamic(empty_list() or non_empty_list(term(), term()))759760 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())761762 type warning found at:763 │764 59 │ def to_iodata(?"), do: """765 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~766 │767 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1768769 warning: the 1st pattern in clause will never match:770771 39772773 because it is expected to receive type:774775 dynamic(empty_list() or non_empty_list(term(), term()))776777 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())778779 type warning found at:780 │781 60 │ def to_iodata(?'), do: "'"782 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~783 │784 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1785786 warning: the 1st pattern in clause will never match:787788 {:safe, data}789790 because it is expected to receive type:791792 dynamic(empty_list() or non_empty_list(term(), term()))793794 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())795796 type warning found at:797 │798 76 │ def to_iodata({:safe, data}) do799 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~800 │801 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1802803 warning: the following clause is redundant:804805 def to_iodata(other)806807 it has type:808809 dynamic(empty_list() or non_empty_list(term(), term()))810811 previous clauses have already matched on the following types:812813 non_empty_list(term(), term())814 empty_list()815816 │817 80 │ def to_iodata(other) do818 │ ~819 │820 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1821822 warning: the 1st pattern in clause will never match:823824 h825826 because it is expected to receive type:827828 dynamic(empty_list() or non_empty_list(term(), term()))829830 where "h" was given the type:831832 # type: integer()833 # from: lib/phoenix_html/safe.ex:62:25834 is_integer(h)835836 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())837838 type warning found at:839 │840 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do841 │ ~842 │843 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1844845 warning: the 1st pattern in clause will never match:846847 h848849 because it is expected to receive type:850851 dynamic(empty_list() or non_empty_list(term(), term()))852853 where "h" was given the type:854855 # type: integer()856 # from: lib/phoenix_html/safe.ex:66:25857 is_integer(h)858859 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())860861 type warning found at:862 │863 66 │ def to_iodata(h) when is_integer(h) do864 │ ~865 │866 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1867868 warning: the 1st pattern in clause will never match:869870 h871872 because it is expected to receive type:873874 dynamic(empty_list() or non_empty_list(term(), term()))875876 where "h" was given the type:877878 # type: binary()879 # from: lib/phoenix_html/safe.ex:72:25880 is_binary(h)881882 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())883884 type warning found at:885 │886 72 │ def to_iodata(h) when is_binary(h) do887 │ ~888 │889 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1890891Generated phoenix_html app892==> uboot_env893Compiling 5 files (.ex)894Generated uboot_env app895==> property_table896Compiling 8 files (.ex)897Generated property_table app898==> nerves_uevent899 CC uevent.o900 LD uevent901Compiling 5 files (.ex)902Generated nerves_uevent app903==> nerves_runtime904Compiling 14 files (.ex)905Generated nerves_runtime app906==> toolshed907Compiling 5 files (.ex)908Generated toolshed app909==> nerves_compatibility_test910===> Analyzing applications...911===> Compiling cowboy_telemetry912==> plug_cowboy913Compiling 5 files (.ex)914Generated plug_cowboy app915warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"916 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2917 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1918 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5919 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2920 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4921 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2922923==> phoenix924Compiling 67 files (.ex)925 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 operator926 │927 190 │ <<attr::size(prefix)-binary, ":unique">> -> attr928 │ ~929 │930 └─ lib/mix/phoenix/schema.ex:190:20: Mix.Phoenix.Schema.drop_unique/1931932 warning: using single-quoted strings to represent charlists is deprecated.933 Use ~c"" if you indeed want a charlist or use "" instead.934 You may run "mix format --migrate" to change all single-quoted935 strings to use the ~c sigil and fix this warning.936 │937 258 │ notBefore: {:utcTime, '#{not_before}000000Z'},938 │ ~939 │940 └─ lib/mix/tasks/phx.gen.cert.ex:258:33941942 warning: using single-quoted strings to represent charlists is deprecated.943 Use ~c"" if you indeed want a charlist or use "" instead.944 You may run "mix format --migrate" to change all single-quoted945 strings to use the ~c sigil and fix this warning.946 │947 259 │ notAfter: {:utcTime, '#{not_after}000000Z'}948 │ ~949 │950 └─ lib/mix/tasks/phx.gen.cert.ex:259:32951952 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead953 │954 55 │ Logger.warn(955 │ ~956 │957 └─ lib/phoenix/code_reloader/server.ex:55:20: Phoenix.CodeReloader.Server.handle_call/3958959 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.960961 This error happens when you have function calls without parentheses inside keywords. For example:962963 function(arg, one: nested_call a, b, c)964 function(arg, one: if expr, do: :this, else: :that)965966 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:967968 function(arg, one: if(expr, do: :this, else: :that))969 function(arg, one: nested_call(a, b, c))970971 Ambiguity found at:972 │973 1006 │ defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"974 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~975 │976 └─ lib/phoenix/controller.ex:1006977978 warning: unused require Logger979 │980 9 │ require Logger981 │ ~982 │983 └─ lib/phoenix/config.ex:9:3984985 warning: unused require Logger986 │987 282 │ require Logger988 │ ~989 │990 └─ lib/phoenix/endpoint.ex:282:3991992 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead993 │994 35 │ Logger.warn(995 │ ~996 │997 └─ lib/phoenix/endpoint/supervisor.ex:35:20: Phoenix.Endpoint.Supervisor.init/1998999 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1000 │1001 121 │ Logger.warn "Phoenix.Endpoint.CowboyHandler is deprecated, please use Phoenix.Endpoint.CowboyAdapter instead"1002 │ ~1003 │1004 └─ lib/phoenix/endpoint/supervisor.ex:121:16: Phoenix.Endpoint.Supervisor.user_adapter/210051006 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1007 │1008 125 │ Logger.warn "The :handler option in #{inspect endpoint} is deprecated, please use :adapter instead"1009 │ ~1010 │1011 └─ lib/phoenix/endpoint/supervisor.ex:125:16: Phoenix.Endpoint.Supervisor.user_adapter/210121013 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1014 │1015 138 │ Logger.warn("""1016 │ ~1017 │1018 └─ lib/phoenix/endpoint/supervisor.ex:138:12: Phoenix.Endpoint.Supervisor.warn_on_different_adapter_version/310191020 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 operator1021 │1022 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1023 │ ~1024 │1025 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/210261027 warning: using single-quoted strings to represent charlists is deprecated.1028 Use ~c"" if you indeed want a charlist or use "" instead.1029 You may run "mix format --migrate" to change all single-quoted1030 strings to use the ~c sigil and fix this warning.1031 │1032 339 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1033 │ ~1034 │1035 └─ lib/phoenix/router.ex:339:5010361037 warning: using single-quoted strings to represent charlists is deprecated.1038 Use ~c"" if you indeed want a charlist or use "" instead.1039 You may run "mix format --migrate" to change all single-quoted1040 strings to use the ~c sigil and fix this warning.1041 │1042 8 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1043 │ ~1044 │1045 └─ lib/phoenix/router/helpers.ex:8:5010461047 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10481049 This error happens when you have function calls without parentheses inside keywords. For example:10501051 function(arg, one: nested_call a, b, c)1052 function(arg, one: if expr, do: :this, else: :that)10531054 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:10551056 function(arg, one: if(expr, do: :this, else: :that))1057 function(arg, one: nested_call(a, b, c))10581059 Ambiguity found at:1060 │1061 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """1062 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1063 │1064 └─ lib/phoenix/router/resource.ex:7110651066 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1067 │1068 1017 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>1069 │ ~1070 │1071 └─ lib/phoenix/controller.ex:1017:14: Phoenix.Controller.warn_if_ajax/110721073 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1074 │1075 781 │ Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end1076 │ ~1077 │1078 └─ lib/phoenix/socket.ex:781:12: Phoenix.Socket.encode_ignore/210791080 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1081 │1082 266 │ Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end1083 │ ~1084 │1085 └─ lib/phoenix/socket/transport.ex:266:12: Phoenix.Socket.Transport.reply_ignore/210861087 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1088 │1089 328 │ Logger.warn(1090 │ ~1091 │1092 └─ lib/phoenix/token.ex:328:12: Phoenix.Token.expired?/210931094 warning: using single-quoted strings to represent charlists is deprecated.1095 Use ~c"" if you indeed want a charlist or use "" instead.1096 You may run "mix format --migrate" to change all single-quoted1097 strings to use the ~c sigil and fix this warning.1098 │1099 177 │ @anno (if :erlang.system_info(:otp_release) >= '19' do1100 │ ~1101 │1102 └─ lib/phoenix/view.ex:177:5011031104 warning: expected a module (an atom) when invoking config/1 in expression:11051106 endpoint.config(:endpoint_id)11071108 where "endpoint" was given the type:11091110 # type: dynamic(%{..., __pubsub_server__: atom()})1111 # from: lib/phoenix/transports/long_poll.ex:148:101112 verify_token(endpoint, token, opts)11131114 type warning found at:1115 │1116 150 │ server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)1117 │ ~1118 │1119 └─ lib/phoenix/transports/long_poll.ex:150:42: Phoenix.Transports.LongPoll.resume_session/311201121 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1122 │1123 11 │ worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)1124 │ ~1125 │1126 └─ lib/phoenix/transports/long_poll_server.ex:11:7: Phoenix.Transports.LongPoll.Supervisor.init/111271128 warning: unknown key .__pubsub_server__ in expression:11291130 endpoint.__pubsub_server__11311132 the given type does not have the given key:11331134 dynamic(1135 %Phoenix.Socket{1136 assigns: term(),1137 channel: term(),1138 channel_pid: term(),1139 endpoint: atom(),1140 handler: term(),1141 id: term(),1142 joined: term(),1143 join_ref: term(),1144 private: term(),1145 pubsub_server: term(),1146 ref: term(),1147 serializer: term(),1148 topic: term(),1149 transport: term(),1150 transport_pid: term()1151 } or1152 %Plug.Conn{1153 adapter: term(),1154 assigns: term(),1155 body_params: term(),1156 cookies: term(),1157 halted: term(),1158 host: term(),1159 method: term(),1160 owner: term(),1161 params: term(),1162 path_info: term(),1163 path_params: term(),1164 port: term(),1165 private: term(),1166 query_params: term(),1167 query_string: term(),1168 remote_ip: term(),1169 req_cookies: term(),1170 req_headers: term(),1171 request_path: term(),1172 resp_body: term(),1173 resp_cookies: term(),1174 resp_headers: term(),1175 scheme: term(),1176 script_name: term(),1177 secret_key_base: term(),1178 state: term(),1179 status: term()1180 } or atom() or binary()1181 )11821183 where "endpoint" was given the type:11841185 # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())1186 # from: lib/phoenix/transports/long_poll.ex:189:191187 Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])11881189 type warning found at:1190 │1191 189 │ Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])1192 │ ~~~~~~~~~~~~~~~~~1193 │1194 └─ lib/phoenix/transports/long_poll.ex:189:58: Phoenix.Transports.LongPoll.sign_token/311951196 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1197 │1198 14 │ supervise(children, strategy: :simple_one_for_one)1199 │ ~1200 │1201 └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/112021203 warning: Plug.Crypto.safe_binary_to_term/1 is undefined or private1204 │1205 276 │ %{data: data, signed: signed} = Plug.Crypto.safe_binary_to_term(message)1206 │ ~1207 │1208 └─ lib/phoenix/token.ex:276:49: Phoenix.Token.decode/212091210 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1211 │1212 678 │ kind, error -> {:error, {kind, error, System.stacktrace()}}1213 │ ~1214 │1215 └─ lib/phoenix/test/conn_test.ex:678:52: Phoenix.ConnTest.wrap_request/112161217 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1218 │1219 59 │ supervisor(WorkerSupervisor, [worker, ref, i], id: i)1220 │ ~1221 │1222 └─ lib/phoenix/socket/pool_supervisor.ex:59:9: Phoenix.Socket.PoolSupervisor.init/112231224 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1225 │1226 510 │ worker = worker(Phoenix.Channel.Server, [], worker_opts)1227 │ ~1228 │1229 └─ lib/phoenix/socket.ex:510:14: Phoenix.Socket.__child_spec__/212301231 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1232 │1233 62 │ supervise(children, strategy: :one_for_one)1234 │ ~1235 │1236 └─ lib/phoenix/socket/pool_supervisor.ex:62:5: Phoenix.Socket.PoolSupervisor.init/112371238 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1239 │1240 512 │ supervisor(Phoenix.Socket.PoolSupervisor, [args], id: handler)1241 │ ~1242 │1243 └─ lib/phoenix/socket.ex:512:5: Phoenix.Socket.__child_spec__/212441245 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1246 │1247 307 │ supervisor(Task.Supervisor, [[name: task_supervisor]]),1248 │ ~1249 │1250 └─ lib/phoenix/presence.ex:307:7: Phoenix.Presence.start_link/412511252 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1253 │1254 308 │ worker(Phoenix.Tracker, [module, opts, opts])1255 │ ~1256 │1257 └─ lib/phoenix/presence.ex:308:7: Phoenix.Presence.start_link/412581259 warning: a struct for Plug.Conn is expected on struct update:12601261 %Plug.Conn{conn | params: params}12621263 but got type:12641265 dynamic(%{..., params: map()})12661267 where "conn" was given the type:12681269 # type: dynamic(%{..., params: map()})1270 # from: lib/phoenix/controller.ex:1044:171271 Map.get(conn.params, required_key)12721273 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"12741275 type warning found at:1276 │1277 1051 │ %Plug.Conn{conn | params: params}1278 │ ~1279 │1280 └─ lib/phoenix/controller.ex:1051:5: Phoenix.Controller.scrub_params/212811282 warning: a struct for Plug.Conn is expected on struct update:12831284 %Plug.Conn{conn | state: :sent}12851286 but got type:12871288 dynamic()12891290 where "conn" was given the type:12911292 # type: dynamic()1293 # from: lib/phoenix/endpoint/render_errors.ex:55:171294 conn12951296 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"12971298 type warning found at:1299 │1300 59 │ %Plug.Conn{conn | state: :sent}1301 │ ~1302 │1303 └─ lib/phoenix/endpoint/render_errors.ex:59:9: Phoenix.Endpoint.RenderErrors.__catch__/513041305 warning: a struct for Plug.Conn is expected on struct update:13061307 %Plug.Conn{conn | query_params: %{}, params: %{}}13081309 but got type:13101311 dynamic(%{..., params: %Plug.Conn.Unfetched{}})13121313 where "conn" was given the types:13141315 # type: dynamic(%{..., params: term()})1316 # from: lib/phoenix/endpoint/render_errors.ex:125:171317 conn.params13181319 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1320 # from: lib/phoenix/endpoint/render_errors.ex:125:171321 conn.params13221323 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13241325 type warning found at:1326 │1327 126 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1328 │ ~1329 │1330 └─ lib/phoenix/endpoint/render_errors.ex:126:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/113311332 warning: a struct for Plug.Conn is expected on struct update:13331334 %Plug.Conn{conn | query_params: %{}, params: params}13351336 but got type:13371338 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})13391340 where "conn" was given the types:13411342 # type: dynamic(%{..., params: term()})1343 # from: lib/phoenix/endpoint/render_errors.ex:125:171344 conn.params13451346 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1347 # from: lib/phoenix/endpoint/render_errors.ex:125:171348 conn.params13491350 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13511352 type warning found at:1353 │1354 127 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1355 │ ~1356 │1357 └─ lib/phoenix/endpoint/render_errors.ex:127:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/113581359 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1360 │1361 298 │ metadata = %{kind: :error, error: e, stacktrace: System.stacktrace()}1362 │ ~1363 │1364 └─ lib/phoenix/router.ex:298:69: Phoenix.Router.__call__/21365 └─ lib/phoenix/router.ex:304:74: Phoenix.Router.__call__/21366 └─ lib/phoenix/router.ex:306:79: Phoenix.Router.__call__/213671368 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1369 │1370 30 │ {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace()}}1371 │ ~1372 │1373 └─ lib/phoenix/endpoint/cowboy_websocket.ex:30:83: Phoenix.Endpoint.CowboyWebSocket.init/313741375 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1376 │1377 75 │ [supervisor(adapter, [pub_conf[:name], pub_conf])]1378 │ ~1379 │1380 └─ lib/phoenix/endpoint/supervisor.ex:75:8: Phoenix.Endpoint.Supervisor.pubsub_children/213811382 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1383 │1384 49 │ case System.stacktrace() do1385 │ ~1386 │1387 └─ lib/phoenix/endpoint/cowboy2_handler.ex:49:19: Phoenix.Endpoint.Cowboy2Handler.init/413881389 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1390 │1391 89 │ [worker(Phoenix.Config, args)]1392 │ ~1393 │1394 └─ lib/phoenix/endpoint/supervisor.ex:89:6: Phoenix.Endpoint.Supervisor.config_children/313951396 warning: the following clause will never match:13971398 [{^endpoint, :__handler__, _, _} | _] when reason == :undef and retry? ->13991400 because it attempts to match on the result of:14011402 System.stacktrace()14031404 which has type:14051406 empty_list()14071408 where "endpoint" was given the type:14091410 # type: dynamic()1411 # from: lib/phoenix/endpoint/cowboy2_handler.ex:18:191412 endpoint14131414 where "reason" was given the type:14151416 # type: dynamic(:undef)1417 # from: lib/phoenix/endpoint/cowboy2_handler.ex:52:591418 reason == :undef14191420 where "retry?" was given the type:14211422 # type: dynamic(true)1423 # from: lib/phoenix/endpoint/cowboy2_handler.ex:52:731424 retry?14251426 type warning found at:1427 │1428 52 │ [{^endpoint, :__handler__, _, _} | _] when reason == :undef and retry? ->1429 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1430 │1431 └─ lib/phoenix/endpoint/cowboy2_handler.ex:52: Phoenix.Endpoint.Cowboy2Handler.init/414321433 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1434 │1435 162 │ worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),1436 │ ~1437 │1438 └─ lib/phoenix/endpoint/supervisor.ex:162:9: Phoenix.Endpoint.Supervisor.watcher_children/314391440 warning: expected a module (an atom) when invoking path/1 in expression:14411442 endpoint.path("/")14431444 where "endpoint" was given the type:14451446 # type: dynamic(%{..., host: term()})1447 # from: lib/phoenix/endpoint/supervisor.ex:369:141448 endpoint.host14491450 type warning found at:1451 │1452 370 │ endpoint.path("/")1453 │ ~1454 │1455 └─ lib/phoenix/endpoint/supervisor.ex:370:14: Phoenix.Endpoint.Supervisor.warmup/114561457 warning: incompatible types given to socket_children/1:14581459 socket_children(mod)14601461 given types:14621463 -dynamic(atom())-14641465 but expected one of:14661467 %{..., __sockets__: term()}14681469 where "mod" was given the types:14701471 # type: dynamic(atom() or binary())1472 # from: lib/phoenix/endpoint/supervisor.ex:29:411473 config otp_app, mod14741475 # type: dynamic(atom())1476 # from: lib/phoenix/endpoint/supervisor.ex:32:161477 mod.init(:supervisor, default_conf)14781479 type warning found at:1480 │1481 58 │ socket_children(mod) ++1482 │ ~1483 │1484 └─ lib/phoenix/endpoint/supervisor.ex:58:7: Phoenix.Endpoint.Supervisor.init/114851486 warning: expected a map or struct when accessing .__transports__ in expression:14871488 socket.__transports__14891490 where "socket" was given the type:14911492 # type: dynamic(atom())1493 # from: lib/phoenix/endpoint/cowboy_adapter.ex:115:131494 Code.ensure_loaded?(socket)14951496 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()14971498 type warning found at:1499 │1500 116 │ socket.__transports__1501 │ ~1502 │1503 └─ lib/phoenix/endpoint/cowboy_adapter.ex:116:14: Phoenix.Endpoint.CowboyAdapter.deprecated_transports/115041505 warning: comparison between distinct types found:15061507 !Path.extname(file_path) == ".gz"15081509 given types:15101511 dynamic(boolean()) == binary()15121513 where "file_path" was given the type:15141515 # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))1516 # from: lib/phoenix/digester.ex:156:451517 Path.basename(file_path)15181519 While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false15201521 type warning found at:1522 │1523 157 │ !Path.extname(file_path) == ".gz"1524 │ ~1525 │1526 └─ lib/phoenix/digester.ex:157:32: Phoenix.Digester.uncompressed_digested_file?/115271528 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1529 │1530 56 │ worker(Phoenix.CodeReloader.Server, []),1531 │ ~1532 │1533 └─ lib/phoenix.ex:56:7: Phoenix.start/215341535 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1536 │1537 57 │ supervisor(Phoenix.Transports.LongPoll.Supervisor, [])1538 │ ~1539 │1540 └─ lib/phoenix.ex:57:7: Phoenix.start/215411542 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1543 │1544 81 │ IO.puts(Exception.format(kind, reason, System.stacktrace()))1545 │ ~1546 │1547 └─ lib/phoenix/code_reloader/server.ex:81:59: Phoenix.CodeReloader.Server.handle_call/315481549 warning: expected a map or struct when accessing .__phoenix_recompile__? in expression:15501551 mod.__phoenix_recompile__?15521553 where "mod" was given the type:15541555 # type: dynamic(atom())1556 # from: lib/mix/tasks/compile.phoenix.ex:34:121557 Code.ensure_loaded?(mod)15581559 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()15601561 type warning found at:1562 │1563 36 │ mod.__phoenix_recompile__?1564 │ ~1565 │1566 └─ lib/mix/tasks/compile.phoenix.ex:36:13: Mix.Tasks.Compile.Phoenix.modules_for_recompilation/115671568Generated phoenix app1569==> phoenix_live_reload1570Compiling 5 files (.ex)1571Generated phoenix_live_reload app1572warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1573 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21574 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11575 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51576 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21577 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41578 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/215791580==> phoenix_live_view1581Compiling 15 files (.ex)1582 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.15831584 This error happens when you have function calls without parentheses inside keywords. For example:15851586 function(arg, one: nested_call a, b, c)1587 function(arg, one: if expr, do: :this, else: :that)15881589 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:15901591 function(arg, one: if(expr, do: :this, else: :that))1592 function(arg, one: nested_call(a, b, c))15931594 Ambiguity found at:1595 │1596 1233 │ do: raise ArgumentError, "cannot invoke #{context} from a child LiveView"1597 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1598 │1599 └─ lib/phoenix_live_view.ex:1233160016011602== Compilation error in file lib/phoenix_live_view/socket.ex ==1603** (ArgumentError) unknown fields [:root_id] in :only when deriving the Inspect protocol for Phoenix.LiveView.Socket1604 (elixir 1.20.3) lib/inspect.ex:258: Inspect.validate_option/41605 (elixir 1.20.3) expanding macro: Inspect.__deriving__/21606 lib/phoenix_live_view/socket.ex:11: Phoenix.LiveView.Socket (module)1607could not compile dependency :phoenix_live_view, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile phoenix_live_view --force", update it with "mix deps.update phoenix_live_view" or clean it with "mix deps.clean phoenix_live_view"