Build log
nerves_system_rpi0
prexent 0.2.1 · fail · run prexent-0.2.1-1791074204228
1607 of 1607 lines
1Resolving Hex dependencies...2Resolution completed in 0.158s3Unchanged: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/rpi0/lib/erlexec/priv/armv6-nerves-linux-gnueabihf/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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_armv6_nerves_linux_gnueabihf366Compiling 1 file (.ex)367Generated nerves_toolchain_armv6_nerves_linux_gnueabihf app368==> nerves_system_rpi0369Generated nerves_system_rpi0 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: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead389 │390 426 │ Kernel.ParallelCompiler.async(fn ->391 │ ~392 │393 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3394395 warning: the following clause is redundant:396397 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)398399 it has type:400401 dynamic(%Expo.Message.Plural{})402403 previous clauses have already matched on the following types:404405 %Expo.Message.Singular{}406 %Expo.Message.Plural{}407408 │409 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do410 │ ~411 │412 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1413414Generated 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: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead599 │600 93 │ supervisor(Phoenix.PubSub.LocalSupervisor, [server, pool_size, dispatch_rules]),601 │ ~602 │603 └─ lib/phoenix/pubsub/pg2.ex:93:7: Phoenix.PubSub.PG2.init/1604605 warning: :pg2.create/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead606 │607 43 │ :ok = :pg2.create(pg2_group)608 │ ~609 │610 └─ lib/phoenix/pubsub/pg2_server.ex:43:16: Phoenix.PubSub.PG2Server.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: the 1st pattern in clause will never match:687688 60689690 because it is expected to receive type:691692 dynamic(empty_list() or non_empty_list(term(), term()))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 56 │ def to_iodata(?<), do: "<"699 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~700 │701 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1702703 warning: got "@impl true" for function handle_text/2 but no behaviour specifies such callback. The known callbacks are:704705 * EEx.Engine.handle_begin/1 (function)706 * EEx.Engine.handle_body/1 (function)707 * EEx.Engine.handle_end/1 (function)708 * EEx.Engine.handle_expr/3 (function)709 * EEx.Engine.handle_text/3 (function)710 * EEx.Engine.init/1 (function)711712 │713 52 │ def handle_text(state, text) do714 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~715 │716 └─ lib/phoenix_html/engine.ex:52: Phoenix.HTML.Engine (module)717718 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: unused require Logger960 │961 9 │ require Logger962 │ ~963 │964 └─ lib/phoenix/config.ex:9:3965966 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.967968 This error happens when you have function calls without parentheses inside keywords. For example:969970 function(arg, one: nested_call a, b, c)971 function(arg, one: if expr, do: :this, else: :that)972973 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:974975 function(arg, one: if(expr, do: :this, else: :that))976 function(arg, one: nested_call(a, b, c))977978 Ambiguity found at:979 │980 1006 │ defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"981 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~982 │983 └─ lib/phoenix/controller.ex:1006984985 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 781 │ Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end1069 │ ~1070 │1071 └─ lib/phoenix/socket.ex:781:12: Phoenix.Socket.encode_ignore/210721073 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1074 │1075 1017 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>1076 │ ~1077 │1078 └─ lib/phoenix/controller.ex:1017:14: Phoenix.Controller.warn_if_ajax/110791080 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: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1105 │1106 11 │ worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)1107 │ ~1108 │1109 └─ lib/phoenix/transports/long_poll_server.ex:11:7: Phoenix.Transports.LongPoll.Supervisor.init/111101111 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1112 │1113 14 │ supervise(children, strategy: :simple_one_for_one)1114 │ ~1115 │1116 └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/111171118 warning: expected a module (an atom) when invoking config/1 in expression:11191120 endpoint.config(:endpoint_id)11211122 where "endpoint" was given the type:11231124 # type: dynamic(%{..., __pubsub_server__: atom()})1125 # from: lib/phoenix/transports/long_poll.ex:148:101126 verify_token(endpoint, token, opts)11271128 type warning found at:1129 │1130 150 │ server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)1131 │ ~1132 │1133 └─ lib/phoenix/transports/long_poll.ex:150:42: Phoenix.Transports.LongPoll.resume_session/311341135 warning: Plug.Crypto.safe_binary_to_term/1 is undefined or private1136 │1137 276 │ %{data: data, signed: signed} = Plug.Crypto.safe_binary_to_term(message)1138 │ ~1139 │1140 └─ lib/phoenix/token.ex:276:49: Phoenix.Token.decode/211411142 warning: unknown key .__pubsub_server__ in expression:11431144 endpoint.__pubsub_server__11451146 the given type does not have the given key:11471148 dynamic(1149 %Phoenix.Socket{1150 assigns: term(),1151 channel: term(),1152 channel_pid: term(),1153 endpoint: atom(),1154 handler: term(),1155 id: term(),1156 joined: term(),1157 join_ref: term(),1158 private: term(),1159 pubsub_server: term(),1160 ref: term(),1161 serializer: term(),1162 topic: term(),1163 transport: term(),1164 transport_pid: term()1165 } or1166 %Plug.Conn{1167 adapter: term(),1168 assigns: term(),1169 body_params: term(),1170 cookies: term(),1171 halted: term(),1172 host: term(),1173 method: term(),1174 owner: term(),1175 params: term(),1176 path_info: term(),1177 path_params: term(),1178 port: term(),1179 private: term(),1180 query_params: term(),1181 query_string: term(),1182 remote_ip: term(),1183 req_cookies: term(),1184 req_headers: term(),1185 request_path: term(),1186 resp_body: term(),1187 resp_cookies: term(),1188 resp_headers: term(),1189 scheme: term(),1190 script_name: term(),1191 secret_key_base: term(),1192 state: term(),1193 status: term()1194 } or atom() or binary()1195 )11961197 where "endpoint" was given the type:11981199 # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())1200 # from: lib/phoenix/transports/long_poll.ex:189:191201 Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])12021203 type warning found at:1204 │1205 189 │ Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])1206 │ ~~~~~~~~~~~~~~~~~1207 │1208 └─ lib/phoenix/transports/long_poll.ex:189:58: Phoenix.Transports.LongPoll.sign_token/312091210 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.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1225 │1226 62 │ supervise(children, strategy: :one_for_one)1227 │ ~1228 │1229 └─ lib/phoenix/socket/pool_supervisor.ex:62:5: Phoenix.Socket.PoolSupervisor.init/112301231 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1232 │1233 307 │ supervisor(Task.Supervisor, [[name: task_supervisor]]),1234 │ ~1235 │1236 └─ lib/phoenix/presence.ex:307:7: Phoenix.Presence.start_link/412371238 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1239 │1240 308 │ worker(Phoenix.Tracker, [module, opts, opts])1241 │ ~1242 │1243 └─ lib/phoenix/presence.ex:308:7: Phoenix.Presence.start_link/412441245 warning: a struct for Plug.Conn is expected on struct update:12461247 %Plug.Conn{conn | params: params}12481249 but got type:12501251 dynamic(%{..., params: map()})12521253 where "conn" was given the type:12541255 # type: dynamic(%{..., params: map()})1256 # from: lib/phoenix/controller.ex:1044:171257 Map.get(conn.params, required_key)12581259 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"12601261 type warning found at:1262 │1263 1051 │ %Plug.Conn{conn | params: params}1264 │ ~1265 │1266 └─ lib/phoenix/controller.ex:1051:5: Phoenix.Controller.scrub_params/212671268 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1269 │1270 510 │ worker = worker(Phoenix.Channel.Server, [], worker_opts)1271 │ ~1272 │1273 └─ lib/phoenix/socket.ex:510:14: Phoenix.Socket.__child_spec__/212741275 warning: a struct for Plug.Conn is expected on struct update:12761277 %Plug.Conn{conn | state: :sent}12781279 but got type:12801281 dynamic()12821283 where "conn" was given the type:12841285 # type: dynamic()1286 # from: lib/phoenix/endpoint/render_errors.ex:55:171287 conn12881289 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"12901291 type warning found at:1292 │1293 59 │ %Plug.Conn{conn | state: :sent}1294 │ ~1295 │1296 └─ lib/phoenix/endpoint/render_errors.ex:59:9: Phoenix.Endpoint.RenderErrors.__catch__/512971298 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1299 │1300 512 │ supervisor(Phoenix.Socket.PoolSupervisor, [args], id: handler)1301 │ ~1302 │1303 └─ lib/phoenix/socket.ex:512:5: Phoenix.Socket.__child_spec__/213041305 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: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1376 │1377 49 │ case System.stacktrace() do1378 │ ~1379 │1380 └─ lib/phoenix/endpoint/cowboy2_handler.ex:49:19: Phoenix.Endpoint.Cowboy2Handler.init/413811382 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1383 │1384 75 │ [supervisor(adapter, [pub_conf[:name], pub_conf])]1385 │ ~1386 │1387 └─ lib/phoenix/endpoint/supervisor.ex:75:8: Phoenix.Endpoint.Supervisor.pubsub_children/213881389 warning: the following clause will never match:13901391 [{^endpoint, :__handler__, _, _} | _] when reason == :undef and retry? ->13921393 because it attempts to match on the result of:13941395 System.stacktrace()13961397 which has type:13981399 empty_list()14001401 where "endpoint" was given the type:14021403 # type: dynamic()1404 # from: lib/phoenix/endpoint/cowboy2_handler.ex:18:191405 endpoint14061407 where "reason" was given the type:14081409 # type: dynamic(:undef)1410 # from: lib/phoenix/endpoint/cowboy2_handler.ex:52:591411 reason == :undef14121413 where "retry?" was given the type:14141415 # type: dynamic(true)1416 # from: lib/phoenix/endpoint/cowboy2_handler.ex:52:731417 retry?14181419 type warning found at:1420 │1421 52 │ [{^endpoint, :__handler__, _, _} | _] when reason == :undef and retry? ->1422 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1423 │1424 └─ lib/phoenix/endpoint/cowboy2_handler.ex:52: Phoenix.Endpoint.Cowboy2Handler.init/414251426 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1427 │1428 89 │ [worker(Phoenix.Config, args)]1429 │ ~1430 │1431 └─ lib/phoenix/endpoint/supervisor.ex:89:6: Phoenix.Endpoint.Supervisor.config_children/314321433 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 map or struct when accessing .__transports__ in expression:14411442 socket.__transports__14431444 where "socket" was given the type:14451446 # type: dynamic(atom())1447 # from: lib/phoenix/endpoint/cowboy_adapter.ex:115:131448 Code.ensure_loaded?(socket)14491450 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()14511452 type warning found at:1453 │1454 116 │ socket.__transports__1455 │ ~1456 │1457 └─ lib/phoenix/endpoint/cowboy_adapter.ex:116:14: Phoenix.Endpoint.CowboyAdapter.deprecated_transports/114581459 warning: expected a module (an atom) when invoking path/1 in expression:14601461 endpoint.path("/")14621463 where "endpoint" was given the type:14641465 # type: dynamic(%{..., host: term()})1466 # from: lib/phoenix/endpoint/supervisor.ex:369:141467 endpoint.host14681469 type warning found at:1470 │1471 370 │ endpoint.path("/")1472 │ ~1473 │1474 └─ lib/phoenix/endpoint/supervisor.ex:370:14: Phoenix.Endpoint.Supervisor.warmup/114751476 warning: incompatible types given to socket_children/1:14771478 socket_children(mod)14791480 given types:14811482 -dynamic(atom())-14831484 but expected one of:14851486 %{..., __sockets__: term()}14871488 where "mod" was given the types:14891490 # type: dynamic(atom() or binary())1491 # from: lib/phoenix/endpoint/supervisor.ex:29:411492 config otp_app, mod14931494 # type: dynamic(atom())1495 # from: lib/phoenix/endpoint/supervisor.ex:32:161496 mod.init(:supervisor, default_conf)14971498 type warning found at:1499 │1500 58 │ socket_children(mod) ++1501 │ ~1502 │1503 └─ lib/phoenix/endpoint/supervisor.ex:58:7: Phoenix.Endpoint.Supervisor.init/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"