Build log
nerves_system_bbb
prexent 0.2.1 · fail · run prexent-0.2.1-1791074204228
1607 of 1607 lines
1Resolving Hex dependencies...2Resolution completed in 0.195s3Unchanged: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/bbb/lib/erlexec/priv/armv7-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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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_armv7_nerves_linux_gnueabihf366Compiling 1 file (.ex)367Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app368==> nerves_compatibility_test369===> Analyzing applications...370===> Compiling telemetry371===> Analyzing applications...372===> Compiling cowboy373==> expo374Compiling 2 files (.erl)375Compiling 22 files (.ex)376Generated expo app377==> gettext378Compiling 18 files (.ex)379 warning: unused require Gettext.Macros380 │381 594 │ require Gettext.Macros382 │ ~383 │384 └─ lib/gettext.ex:594:3385386 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead387 │388 426 │ Kernel.ParallelCompiler.async(fn ->389 │ ~390 │391 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3392393 warning: the following clause is redundant:394395 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)396397 it has type:398399 dynamic(%Expo.Message.Plural{})400401 previous clauses have already matched on the following types:402403 %Expo.Message.Singular{}404 %Expo.Message.Plural{}405406 │407 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do408 │ ~409 │410 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1411412Generated gettext app413==> phoenix_pubsub414Compiling 13 files (.ex)415 warning: single quotes around atoms are deprecated. Use double quotes instead416 │417 160 │ |> :ets.select([{{:'$1', :_}, [], [:'$1']}])418 │ ~419 │420 └─ lib/phoenix/pubsub/local.ex:160:23421422 warning: single quotes around atoms are deprecated. Use double quotes instead423 │424 160 │ |> :ets.select([{{:'$1', :_}, [], [:'$1']}])425 │ ~426 │427 └─ lib/phoenix/pubsub/local.ex:160:40428429 warning: unused require Logger430 │431 107 │ require Logger432 │ ~433 │434 └─ lib/phoenix/tracker.ex:107:3435436 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:437438 %Phoenix.Tracker.Replica{replica | status: :permdown}439440 but got type:441442 dynamic()443444 where "replica" was given the type:445446 # type: dynamic()447 # from: lib/phoenix/tracker/replica.ex:72:17448 replica449450 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"451452 type warning found at:453 │454 72 │ defp permdown(replica), do: %Replica{replica | status: :permdown}455 │ ~456 │457 └─ lib/phoenix/tracker/replica.ex:72:31: Phoenix.Tracker.Replica.permdown/1458459 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:460461 %Phoenix.Tracker.Replica{replica | status: :down}462463 but got type:464465 dynamic()466467 where "replica" was given the type:468469 # type: dynamic()470 # from: lib/phoenix/tracker/replica.ex:74:13471 replica472473 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"474475 type warning found at:476 │477 74 │ defp down(replica), do: %Replica{replica | status: :down}478 │ ~479 │480 └─ lib/phoenix/tracker/replica.ex:74:27: Phoenix.Tracker.Replica.down/1481482 warning: a struct for Phoenix.Tracker.Replica is expected on struct update:483484 %Phoenix.Tracker.Replica{replica | last_heartbeat_at: now_ms()}485486 but got type:487488 dynamic()489490 where "replica" was given the type:491492 # type: dynamic()493 # from: lib/phoenix/tracker/replica.ex:76:29494 replica495496 when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"497498 type warning found at:499 │500 77 │ %Replica{replica | last_heartbeat_at: now_ms()}501 │ ~502 │503 └─ lib/phoenix/tracker/replica.ex:77:5: Phoenix.Tracker.Replica.touch_last_heartbeat/1504505 warning: a struct for Phoenix.Tracker.State is expected on struct update:506507 %Phoenix.Tracker.State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}508509 but got type:510511 dynamic()512513 where "delta" was given the type:514515 # type: dynamic()516 # from: lib/phoenix/tracker/state.ex:461:36517 %Phoenix.Tracker.State{delta: delta} = state518519 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"520521 type warning found at:522 │523 465 │ new_delta = %State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}524 │ ~525 │526 └─ lib/phoenix/tracker/state.ex:465:17: Phoenix.Tracker.State.do_add/5527528 warning: a struct for Phoenix.Tracker.State is expected on struct update:529530 %Phoenix.Tracker.State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}531532 but got type:533534 dynamic()535536 where "delta" was given the type:537538 # type: dynamic()539 # from: lib/phoenix/tracker/state.ex:541:99540 %Phoenix.Tracker.State{mode: :normal, replica: rep, clouds: clouds, context: ctx, delta: delta} =541 state542543 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"544545 type warning found at:546 │547 547 │ delta: %State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}}548 │ ~549 │550 └─ lib/phoenix/tracker/state.ex:547:19: Phoenix.Tracker.State.bump_clock/1551552 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead553 │554 269 │ worker(Phoenix.Tracker.Shard, [tracker, tracker_opts, shard_opts],555 │ ~556 │557 └─ lib/phoenix/tracker.ex:269:9: Phoenix.Tracker.init/1558559 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead560 │561 273 │ supervise(shards, strategy: :one_for_one,562 │ ~563 │564 └─ lib/phoenix/tracker.ex:273:5: Phoenix.Tracker.init/1565566 warning: a struct for Phoenix.Tracker.State is expected on struct update:567568 %Phoenix.Tracker.State{delta | range: {start_clock, new_end}}569570 but got type:571572 dynamic(%{..., range: {term(), term()}})573574 where "delta" was given the type:575576 # type: dynamic(%{..., range: {term(), term()}})577 # from: lib/phoenix/tracker/state.ex:551:30578 {start_clock, end_clock} = delta.range579580 when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"581582 type warning found at:583 │584 555 │ delta: %State{delta | range: {start_clock, new_end}}}585 │ ~586 │587 └─ lib/phoenix/tracker/state.ex:555:19: Phoenix.Tracker.State.put_context/2588589 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead590 │591 7 │ [supervisor(Phoenix.PubSub.PG2, pubsub)]592 │ ~593 │594 └─ lib/phoenix/pubsub/supervisor.ex:7:8: Phoenix.PubSub.Supervisor.start/2595596 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead597 │598 93 │ supervisor(Phoenix.PubSub.LocalSupervisor, [server, pool_size, dispatch_rules]),599 │ ~600 │601 └─ lib/phoenix/pubsub/pg2.ex:93:7: Phoenix.PubSub.PG2.init/1602603 warning: :pg2.create/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead604 │605 43 │ :ok = :pg2.create(pg2_group)606 │ ~607 │608 └─ lib/phoenix/pubsub/pg2_server.ex:43:16: Phoenix.PubSub.PG2Server.init/1609610 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead611 │612 94 │ worker(Phoenix.PubSub.PG2Server, [server, pool_size])613 │ ~614 │615 └─ lib/phoenix/pubsub/pg2.ex:94:7: Phoenix.PubSub.PG2.init/1616617 warning: :pg2.join/2 is undefined or private, this module was removed in OTP 24. Use 'pg' instead618 │619 44 │ :ok = :pg2.join(pg2_group, self())620 │ ~621 │622 └─ lib/phoenix/pubsub/pg2_server.ex:44:16: Phoenix.PubSub.PG2Server.init/1623624 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead625 │626 97 │ supervise(children, strategy: :rest_for_one)627 │ ~628 │629 └─ lib/phoenix/pubsub/pg2.ex:97:5: Phoenix.PubSub.PG2.init/1630631 warning: :pg2.get_members/1 is undefined or private, this module was removed in OTP 24. Use 'pg' instead632 │633 57 │ :pg2.get_members(pg2_namespace(server_name))634 │ ~635 │636 └─ lib/phoenix/pubsub/pg2_server.ex:57:10: Phoenix.PubSub.PG2Server.get_members/1637638 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead639 │640 35 │ worker(Phoenix.PubSub.GC, [gc_shard_name, local_shard_name]),641 │ ~642 │643 └─ lib/phoenix/pubsub/local_supervisor.ex:35:9: Phoenix.PubSub.LocalSupervisor.init/1644 └─ lib/phoenix/pubsub/local_supervisor.ex:36:9: Phoenix.PubSub.LocalSupervisor.init/1645646 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead647 │648 39 │ supervisor(Supervisor, [shard_children, [strategy: :one_for_all]], id: shard)649 │ ~650 │651 └─ lib/phoenix/pubsub/local_supervisor.ex:39:7: Phoenix.PubSub.LocalSupervisor.init/1652653 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead654 │655 42 │ supervise children, strategy: :one_for_one656 │ ~657 │658 └─ lib/phoenix/pubsub/local_supervisor.ex:42:5: Phoenix.PubSub.LocalSupervisor.init/1659660Generated phoenix_pubsub app661==> plug662Compiling 1 file (.erl)663Compiling 42 files (.ex)664Generated plug app665==> phoenix_html666Compiling 8 files (.ex)667 warning: using single-quoted strings to represent charlists is deprecated.668 Use ~c"" if you indeed want a charlist or use "" instead.669 You may run "mix format --migrate" to change all single-quoted670 strings to use the ~c sigil and fix this warning.671 │672 12 │ @anno (if :erlang.system_info(:otp_release) >= '19' do673 │ ~674 │675 └─ lib/phoenix_html/engine.ex:12:50676677 warning: the 1st pattern in clause will never match:678679 60680681 because it is expected to receive type:682683 dynamic(empty_list() or non_empty_list(term(), term()))684685 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())686687 type warning found at:688 │689 56 │ def to_iodata(?<), do: "<"690 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~691 │692 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1693694 warning: the 1st pattern in clause will never match:695696 62697698 because it is expected to receive type:699700 dynamic(empty_list() or non_empty_list(term(), term()))701702 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())703704 type warning found at:705 │706 57 │ def to_iodata(?>), do: ">"707 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~708 │709 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1710711 warning: function handle_text/3 required by behaviour EEx.Engine is not implemented (in module Phoenix.HTML.Engine)712 │713 1 │ defmodule Phoenix.HTML.Engine do714 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~715 │716 └─ lib/phoenix_html/engine.ex:1: Phoenix.HTML.Engine (module)717718 warning: the 1st pattern in clause will never match:719720 38721722 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 58 │ def to_iodata(?&), do: "&"731 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~732 │733 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1734735 warning: got "@impl true" for function handle_text/2 but no behaviour specifies such callback. The known callbacks are:736737 * EEx.Engine.handle_begin/1 (function)738 * EEx.Engine.handle_body/1 (function)739 * EEx.Engine.handle_end/1 (function)740 * EEx.Engine.handle_expr/3 (function)741 * EEx.Engine.handle_text/3 (function)742 * EEx.Engine.init/1 (function)743744 │745 52 │ def handle_text(state, text) do746 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~747 │748 └─ lib/phoenix_html/engine.ex:52: Phoenix.HTML.Engine (module)749750 warning: the 1st pattern in clause will never match:751752 34753754 because it is expected to receive type:755756 dynamic(empty_list() or non_empty_list(term(), term()))757758 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())759760 type warning found at:761 │762 59 │ def to_iodata(?"), do: """763 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~764 │765 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1766767 warning: the 1st pattern in clause will never match:768769 39770771 because it is expected to receive type:772773 dynamic(empty_list() or non_empty_list(term(), term()))774775 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())776777 type warning found at:778 │779 60 │ def to_iodata(?'), do: "'"780 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~781 │782 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1783784 warning: the 1st pattern in clause will never match:785786 {:safe, data}787788 because it is expected to receive type:789790 dynamic(empty_list() or non_empty_list(term(), term()))791792 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())793794 type warning found at:795 │796 76 │ def to_iodata({:safe, data}) do797 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~798 │799 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1800801 warning: the following clause is redundant:802803 def to_iodata(other)804805 it has type:806807 dynamic(empty_list() or non_empty_list(term(), term()))808809 previous clauses have already matched on the following types:810811 non_empty_list(term(), term())812 empty_list()813814 │815 80 │ def to_iodata(other) do816 │ ~817 │818 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1819820 warning: the 1st pattern in clause will never match:821822 h823824 because it is expected to receive type:825826 dynamic(empty_list() or non_empty_list(term(), term()))827828 where "h" was given the type:829830 # type: integer()831 # from: lib/phoenix_html/safe.ex:62:25832 is_integer(h)833834 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())835836 type warning found at:837 │838 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do839 │ ~840 │841 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1842843 warning: the 1st pattern in clause will never match:844845 h846847 because it is expected to receive type:848849 dynamic(empty_list() or non_empty_list(term(), term()))850851 where "h" was given the type:852853 # type: integer()854 # from: lib/phoenix_html/safe.ex:66:25855 is_integer(h)856857 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())858859 type warning found at:860 │861 66 │ def to_iodata(h) when is_integer(h) do862 │ ~863 │864 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1865866 warning: the 1st pattern in clause will never match:867868 h869870 because it is expected to receive type:871872 dynamic(empty_list() or non_empty_list(term(), term()))873874 where "h" was given the type:875876 # type: binary()877 # from: lib/phoenix_html/safe.ex:72:25878 is_binary(h)879880 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())881882 type warning found at:883 │884 72 │ def to_iodata(h) when is_binary(h) do885 │ ~886 │887 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1888889Generated phoenix_html app890==> uboot_env891Compiling 5 files (.ex)892Generated uboot_env app893==> nerves_system_bbb894Generated nerves_system_bbb 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: expected a module (an atom) when invoking config/1 in expression:11121113 endpoint.config(:endpoint_id)11141115 where "endpoint" was given the type:11161117 # type: dynamic(%{..., __pubsub_server__: atom()})1118 # from: lib/phoenix/transports/long_poll.ex:148:101119 verify_token(endpoint, token, opts)11201121 type warning found at:1122 │1123 150 │ server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)1124 │ ~1125 │1126 └─ lib/phoenix/transports/long_poll.ex:150:42: Phoenix.Transports.LongPoll.resume_session/311271128 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1129 │1130 14 │ supervise(children, strategy: :simple_one_for_one)1131 │ ~1132 │1133 └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/111341135 warning: unknown key .__pubsub_server__ in expression:11361137 endpoint.__pubsub_server__11381139 the given type does not have the given key:11401141 dynamic(1142 %Phoenix.Socket{1143 assigns: term(),1144 channel: term(),1145 channel_pid: term(),1146 endpoint: atom(),1147 handler: term(),1148 id: term(),1149 joined: term(),1150 join_ref: term(),1151 private: term(),1152 pubsub_server: term(),1153 ref: term(),1154 serializer: term(),1155 topic: term(),1156 transport: term(),1157 transport_pid: term()1158 } or1159 %Plug.Conn{1160 adapter: term(),1161 assigns: term(),1162 body_params: term(),1163 cookies: term(),1164 halted: term(),1165 host: term(),1166 method: term(),1167 owner: term(),1168 params: term(),1169 path_info: term(),1170 path_params: term(),1171 port: term(),1172 private: term(),1173 query_params: term(),1174 query_string: term(),1175 remote_ip: term(),1176 req_cookies: term(),1177 req_headers: term(),1178 request_path: term(),1179 resp_body: term(),1180 resp_cookies: term(),1181 resp_headers: term(),1182 scheme: term(),1183 script_name: term(),1184 secret_key_base: term(),1185 state: term(),1186 status: term()1187 } or atom() or binary()1188 )11891190 where "endpoint" was given the type:11911192 # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())1193 # from: lib/phoenix/transports/long_poll.ex:189:191194 Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])11951196 type warning found at:1197 │1198 189 │ Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])1199 │ ~~~~~~~~~~~~~~~~~1200 │1201 └─ lib/phoenix/transports/long_poll.ex:189:58: Phoenix.Transports.LongPoll.sign_token/312021203 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.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: a struct for Plug.Conn is expected on struct update:12321233 %Plug.Conn{conn | state: :sent}12341235 but got type:12361237 dynamic()12381239 where "conn" was given the type:12401241 # type: dynamic()1242 # from: lib/phoenix/endpoint/render_errors.ex:55:171243 conn12441245 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"12461247 type warning found at:1248 │1249 59 │ %Plug.Conn{conn | state: :sent}1250 │ ~1251 │1252 └─ lib/phoenix/endpoint/render_errors.ex:59:9: Phoenix.Endpoint.RenderErrors.__catch__/512531254 warning: a struct for Plug.Conn is expected on struct update:12551256 %Plug.Conn{conn | query_params: %{}, params: %{}}12571258 but got type:12591260 dynamic(%{..., params: %Plug.Conn.Unfetched{}})12611262 where "conn" was given the types:12631264 # type: dynamic(%{..., params: term()})1265 # from: lib/phoenix/endpoint/render_errors.ex:125:171266 conn.params12671268 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1269 # from: lib/phoenix/endpoint/render_errors.ex:125:171270 conn.params12711272 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"12731274 type warning found at:1275 │1276 126 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1277 │ ~1278 │1279 └─ lib/phoenix/endpoint/render_errors.ex:126:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/112801281 warning: a struct for Plug.Conn is expected on struct update:12821283 %Plug.Conn{conn | params: params}12841285 but got type:12861287 dynamic(%{..., params: map()})12881289 where "conn" was given the type:12901291 # type: dynamic(%{..., params: map()})1292 # from: lib/phoenix/controller.ex:1044:171293 Map.get(conn.params, required_key)12941295 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"12961297 type warning found at:1298 │1299 1051 │ %Plug.Conn{conn | params: params}1300 │ ~1301 │1302 └─ lib/phoenix/controller.ex:1051:5: Phoenix.Controller.scrub_params/213031304 warning: a struct for Plug.Conn is expected on struct update:13051306 %Plug.Conn{conn | query_params: %{}, params: params}13071308 but got type:13091310 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})13111312 where "conn" was given the types:13131314 # type: dynamic(%{..., params: term()})1315 # from: lib/phoenix/endpoint/render_errors.ex:125:171316 conn.params13171318 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1319 # from: lib/phoenix/endpoint/render_errors.ex:125:171320 conn.params13211322 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13231324 type warning found at:1325 │1326 127 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1327 │ ~1328 │1329 └─ lib/phoenix/endpoint/render_errors.ex:127:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/113301331 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1332 │1333 307 │ supervisor(Task.Supervisor, [[name: task_supervisor]]),1334 │ ~1335 │1336 └─ lib/phoenix/presence.ex:307:7: Phoenix.Presence.start_link/413371338 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1339 │1340 510 │ worker = worker(Phoenix.Channel.Server, [], worker_opts)1341 │ ~1342 │1343 └─ lib/phoenix/socket.ex:510:14: Phoenix.Socket.__child_spec__/213441345 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1346 │1347 512 │ supervisor(Phoenix.Socket.PoolSupervisor, [args], id: handler)1348 │ ~1349 │1350 └─ lib/phoenix/socket.ex:512:5: Phoenix.Socket.__child_spec__/213511352 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1353 │1354 308 │ worker(Phoenix.Tracker, [module, opts, opts])1355 │ ~1356 │1357 └─ lib/phoenix/presence.ex:308:7: Phoenix.Presence.start_link/413581359 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: the following clause will never match:13831384 [{^endpoint, :__handler__, _, _} | _] when reason == :undef and retry? ->13851386 because it attempts to match on the result of:13871388 System.stacktrace()13891390 which has type:13911392 empty_list()13931394 where "endpoint" was given the type:13951396 # type: dynamic()1397 # from: lib/phoenix/endpoint/cowboy2_handler.ex:18:191398 endpoint13991400 where "reason" was given the type:14011402 # type: dynamic(:undef)1403 # from: lib/phoenix/endpoint/cowboy2_handler.ex:52:591404 reason == :undef14051406 where "retry?" was given the type:14071408 # type: dynamic(true)1409 # from: lib/phoenix/endpoint/cowboy2_handler.ex:52:731410 retry?14111412 type warning found at:1413 │1414 52 │ [{^endpoint, :__handler__, _, _} | _] when reason == :undef and retry? ->1415 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1416 │1417 └─ lib/phoenix/endpoint/cowboy2_handler.ex:52: Phoenix.Endpoint.Cowboy2Handler.init/414181419 warning: expected a map or struct when accessing .__transports__ in expression:14201421 socket.__transports__14221423 where "socket" was given the type:14241425 # type: dynamic(atom())1426 # from: lib/phoenix/endpoint/cowboy_adapter.ex:115:131427 Code.ensure_loaded?(socket)14281429 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()14301431 type warning found at:1432 │1433 116 │ socket.__transports__1434 │ ~1435 │1436 └─ lib/phoenix/endpoint/cowboy_adapter.ex:116:14: Phoenix.Endpoint.CowboyAdapter.deprecated_transports/114371438 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1439 │1440 75 │ [supervisor(adapter, [pub_conf[:name], pub_conf])]1441 │ ~1442 │1443 └─ lib/phoenix/endpoint/supervisor.ex:75:8: Phoenix.Endpoint.Supervisor.pubsub_children/214441445 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1446 │1447 89 │ [worker(Phoenix.Config, args)]1448 │ ~1449 │1450 └─ lib/phoenix/endpoint/supervisor.ex:89:6: Phoenix.Endpoint.Supervisor.config_children/314511452 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1453 │1454 162 │ worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),1455 │ ~1456 │1457 └─ lib/phoenix/endpoint/supervisor.ex:162:9: Phoenix.Endpoint.Supervisor.watcher_children/314581459 warning: comparison between distinct types found:14601461 !Path.extname(file_path) == ".gz"14621463 given types:14641465 dynamic(boolean()) == binary()14661467 where "file_path" was given the type:14681469 # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))1470 # from: lib/phoenix/digester.ex:156:451471 Path.basename(file_path)14721473 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 false14741475 type warning found at:1476 │1477 157 │ !Path.extname(file_path) == ".gz"1478 │ ~1479 │1480 └─ lib/phoenix/digester.ex:157:32: Phoenix.Digester.uncompressed_digested_file?/114811482 warning: expected a module (an atom) when invoking path/1 in expression:14831484 endpoint.path("/")14851486 where "endpoint" was given the type:14871488 # type: dynamic(%{..., host: term()})1489 # from: lib/phoenix/endpoint/supervisor.ex:369:141490 endpoint.host14911492 type warning found at:1493 │1494 370 │ endpoint.path("/")1495 │ ~1496 │1497 └─ lib/phoenix/endpoint/supervisor.ex:370:14: Phoenix.Endpoint.Supervisor.warmup/114981499 warning: incompatible types given to socket_children/1:15001501 socket_children(mod)15021503 given types:15041505 -dynamic(atom())-15061507 but expected one of:15081509 %{..., __sockets__: term()}15101511 where "mod" was given the types:15121513 # type: dynamic(atom() or binary())1514 # from: lib/phoenix/endpoint/supervisor.ex:29:411515 config otp_app, mod15161517 # type: dynamic(atom())1518 # from: lib/phoenix/endpoint/supervisor.ex:32:161519 mod.init(:supervisor, default_conf)15201521 type warning found at:1522 │1523 58 │ socket_children(mod) ++1524 │ ~1525 │1526 └─ lib/phoenix/endpoint/supervisor.ex:58:7: Phoenix.Endpoint.Supervisor.init/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"