Build log
nerves_system_bbb
mishka_social 0.0.2 · fail · run mishka_social-0.0.2-1791002771048
2157 of 2157 lines
1Resolving Hex dependencies...2Resolution completed in 0.385s3Unchanged:4 castore 0.1.225 circular_buffer 1.1.06 connection 1.1.07 db_connection 2.10.28 decimal 2.4.1 VULNERABLE!9 EEF-CVE-2026-32686 (MEDIUM)10 aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v11 Unbounded exponent in decimal enables unauthenticated DoS12 https://osv.dev/vulnerability/EEF-CVE-2026-3268613 ecto 3.11.214 ecto_enum 1.4.015 ecto_sql 3.11.316 elixir_make 0.10.017 ets 0.9.018 finch 0.13.019 gettext 0.20.020 hpax 1.1.021 interactive_cmd 0.1.422 jason 1.4.523 mime 2.0.724 mint 1.11.025 mishka_developer_tools 0.0.826 mishka_installer 0.0.427 mishka_social 0.0.228 nerves 2.0.0-pre.229 nerves_discovery 0.1.530 nerves_logging 0.2.431 nerves_runtime 0.13.1332 nerves_system_bbb 2.30.233 nerves_system_br 1.34.434 nerves_system_mangopi_mq_pro 0.17.235 nerves_system_qemu_aarch64 0.4.236 nerves_system_rpi0 2.1.237 nerves_system_rpi4 2.1.238 nerves_system_rpi5 2.1.239 nerves_system_trellis 0.5.040 nerves_system_x86_64 1.34.241 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.142 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.143 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.144 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.145 nerves_toolchain_x86_64_nerves_linux_musl 15.3.146 nerves_uevent 0.1.747 nimble_options 0.4.048 nimble_pool 0.2.649 oauth2 2.1.150 oban 2.19.451 phoenix 1.7.2452 phoenix_html 3.3.453 phoenix_live_view 0.17.14 VULNERABLE!54 EEF-CVE-2026-64941 (LOW)55 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf56 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR57 https://osv.dev/vulnerability/EEF-CVE-2026-6494158 phoenix_pubsub 2.3.059 phoenix_template 1.1.060 plug 1.20.361 plug_crypto 2.2.062 postgrex 0.16.5 VULNERABLE!63 EEF-CVE-2026-32687 (HIGH)64 aka: CVE-2026-32687, GHSA-r73h-97w8-m54h65 SQL injection via channel name in Postgrex.Notifications.listen/3 and unlisten/366 https://osv.dev/vulnerability/EEF-CVE-2026-326876768 EEF-CVE-2026-58225 (LOW)69 aka: CVE-2026-58225, GHSA-4mw9-4qgj-m97w70 SQL injection via unescaped dollar-quote in Postgrex.Notifications reconnect replay causes notification denial of service71 https://osv.dev/vulnerability/EEF-CVE-2026-5822572 property_table 0.3.473 ring_logger 0.11.774 sourceror 0.11.275 tablet 0.3.376 telemetry 1.4.277 tesla 1.21.378 toolshed 0.5.079 uboot_env 1.0.280 ueberauth 0.7.081 ueberauth_github 0.8.382 ueberauth_google 0.10.183 websock 0.5.384 websock_adapter 0.5.985* Getting mishka_social (Hex package)86* Getting nerves (Hex package)87* Getting ring_logger (Hex package)88* Getting toolshed (Hex package)89* Getting nerves_runtime (Hex package)90* Getting nerves_system_bbb (Hex package)91* Getting nerves_system_mangopi_mq_pro (Hex package)92* Getting nerves_system_qemu_aarch64 (Hex package)93* Getting nerves_system_rpi0 (Hex package)94* Getting nerves_system_rpi4 (Hex package)95* Getting nerves_system_rpi5 (Hex package)96* Getting nerves_system_trellis (Hex package)97* Getting nerves_system_x86_64 (Hex package)98* Getting nerves_system_br (Hex package)99* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)100* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)101* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)102* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)103* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)104* Getting nerves_logging (Hex package)105* Getting nerves_uevent (Hex package)106* Getting uboot_env (Hex package)107* Getting elixir_make (Hex package)108* Getting property_table (Hex package)109* Getting circular_buffer (Hex package)110* Getting interactive_cmd (Hex package)111* Getting nerves_discovery (Hex package)112* Getting tablet (Hex package)113* Getting mishka_installer (Hex package)114* Getting phoenix (Hex package)115* Getting phoenix_live_view (Hex package)116* Getting ueberauth (Hex package)117* Getting ueberauth_github (Hex package)118* Getting ueberauth_google (Hex package)119* Getting oauth2 (Hex package)120* Getting tesla (Hex package)121* Getting mime (Hex package)122* Getting plug (Hex package)123* Getting plug_crypto (Hex package)124* Getting telemetry (Hex package)125* Getting phoenix_html (Hex package)126* Getting castore (Hex package)127* Getting phoenix_pubsub (Hex package)128* Getting phoenix_template (Hex package)129* Getting websock_adapter (Hex package)130* Getting websock (Hex package)131* Getting ets (Hex package)132* Getting finch (Hex package)133* Getting gettext (Hex package)134* Getting jason (Hex package)135* Getting mishka_developer_tools (Hex package)136* Getting oban (Hex package)137* Getting sourceror (Hex package)138* Getting ecto_sql (Hex package)139* Getting db_connection (Hex package)140* Getting ecto (Hex package)141* Getting decimal (Hex package)142* Getting ecto_enum (Hex package)143* Getting postgrex (Hex package)144* Getting connection (Hex package)145* Getting mint (Hex package)146* Getting nimble_options (Hex package)147* Getting nimble_pool (Hex package)148* Getting hpax (Hex package)149Found packages with security advisories, see above for details150==> nerves_system_br151Generated nerves_system_br app152==> connection153Compiling 1 file (.ex)154 warning: using single-quoted strings to represent charlists is deprecated.155 Use ~c"" if you indeed want a charlist or use "" instead.156 You may run "mix format --migrate" to change all single-quoted157 strings to use the ~c sigil and fix this warning.158 │159 553 │ [{:data, [{'State', mod_state}]}]160 │ ~161 │162 └─ lib/connection.ex:553:20163164 warning: using single-quoted strings to represent charlists is deprecated.165 Use ~c"" if you indeed want a charlist or use "" instead.166 You may run "mix format --migrate" to change all single-quoted167 strings to use the ~c sigil and fix this warning.168 │169 680 │ format = '** Generic server ~p terminating \n' ++170 │ ~171 │172 └─ lib/connection.ex:680:14173174 warning: using single-quoted strings to represent charlists is deprecated.175 Use ~c"" if you indeed want a charlist or use "" instead.176 You may run "mix format --migrate" to change all single-quoted177 strings to use the ~c sigil and fix this warning.178 │179 681 │ '** Last message in was ~p~n' ++ ## No last message180 │ ~181 │182 └─ lib/connection.ex:681:7183184 warning: using single-quoted strings to represent charlists is deprecated.185 Use ~c"" if you indeed want a charlist or use "" instead.186 You may run "mix format --migrate" to change all single-quoted187 strings to use the ~c sigil and fix this warning.188 │189 682 │ '** When Server state == ~p~n' ++190 │ ~191 │192 └─ lib/connection.ex:682:7193194 warning: using single-quoted strings to represent charlists is deprecated.195 Use ~c"" if you indeed want a charlist or use "" instead.196 You may run "mix format --migrate" to change all single-quoted197 strings to use the ~c sigil and fix this warning.198 │199 683 │ '** Reason for termination == ~n** ~p~n'200 │ ~201 │202 └─ lib/connection.ex:683:7203204Generated connection app205==> mime206Compiling 1 file (.ex)207Generated mime app208==> circular_buffer209Compiling 1 file (.ex)210Generated circular_buffer app211==> nimble_options212Compiling 3 files (.ex)213Generated nimble_options app214==> plug_crypto215Compiling 5 files (.ex)216Generated plug_crypto app217==> hpax218Compiling 4 files (.ex)219Generated hpax app220==> gettext221warning: in order to compile .yrl files, you must add "compilers: [:yecc] ++ Mix.compilers()" to the "def project" section of gettext's mix.exs222Compiling 1 file (.yrl)223Compiling 1 file (.erl)224Compiling 21 files (.ex)225 warning: using single-quoted strings to represent charlists is deprecated.226 Use ~c"" if you indeed want a charlist or use "" instead.227 You may run "mix format --migrate" to change all single-quoted228 strings to use the ~c sigil and fix this warning.229 │230 156 │ defp parse_error_reason('syntax error before: ' = prefix, "<<" <> rest),231 │ ~232 │233 └─ lib/gettext/po/parser.ex:156:27234235 warning: using single-quoted strings to represent charlists is deprecated.236 Use ~c"" if you indeed want a charlist or use "" instead.237 You may run "mix format --migrate" to change all single-quoted238 strings to use the ~c sigil and fix this warning.239 │240 149 │ msg = :io_lib.format('unexpected token: "~ts" (codepoint U+~4.16.0B)', [[char], char])241 │ ~242 │243 └─ lib/gettext/po/tokenizer.ex:149:26244245 warning: using single-quoted strings to represent charlists is deprecated.246 Use ~c"" if you indeed want a charlist or use "" instead.247 You may run "mix format --migrate" to change all single-quoted248 strings to use the ~c sigil and fix this warning.249 │250 177 │ defp tokenize_plural_form(<<digit, rest::binary>>, acc) when digit in '0123456789' do251 │ ~252 │253 └─ lib/gettext/po/tokenizer.ex:177:73254255 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead256 │257 430 │ Kernel.ParallelCompiler.async(fn ->258 │ ~259 │260 └─ lib/gettext/compiler.ex:430:39: Gettext.Compiler.compile_po_files/3261262Generated gettext app263==> ets264Compiling 7 files (.ex)265Generated ets app266==> tablet267Compiling 2 files (.ex)268Generated tablet app269==> elixir_make270Compiling 8 files (.ex)271Generated elixir_make app272==> nerves_logging273 CC kmsg_tailer.o274 LD kmsg_tailer275Compiling 5 files (.ex)276Generated nerves_logging app277warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"278 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2279 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1280 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5281 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2282 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4283 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2284285==> castore286Compiling 1 file (.ex)287Generated castore app288==> mint289Compiling 1 file (.erl)290Compiling 21 files (.ex)291Generated mint app292==> sourceror293warning: in order to compile .yrl files, you must add "compilers: [:yecc] ++ Mix.compilers()" to the "def project" section of sourceror's mix.exs294Compiling 1 file (.yrl)295Compiling 5 files (.erl)296Compiling 12 files (.ex)297 warning: using single-quoted strings to represent charlists is deprecated.298 Use ~c"" if you indeed want a charlist or use "" instead.299 You may run "mix format --migrate" to change all single-quoted300 strings to use the ~c sigil and fix this warning.301 │302 53 │ defp next_eol_count('\s' ++ rest, count), do: next_eol_count(rest, count)303 │ ~304 │305 └─ lib/sourceror/code.ex:53:23306307 warning: using single-quoted strings to represent charlists is deprecated.308 Use ~c"" if you indeed want a charlist or use "" instead.309 You may run "mix format --migrate" to change all single-quoted310 strings to use the ~c sigil and fix this warning.311 │312 54 │ defp next_eol_count('\t' ++ rest, count), do: next_eol_count(rest, count)313 │ ~314 │315 └─ lib/sourceror/code.ex:54:23316317 warning: using single-quoted strings to represent charlists is deprecated.318 Use ~c"" if you indeed want a charlist or use "" instead.319 You may run "mix format --migrate" to change all single-quoted320 strings to use the ~c sigil and fix this warning.321 │322 55 │ defp next_eol_count('\n' ++ rest, count), do: next_eol_count(rest, count + 1)323 │ ~324 │325 └─ lib/sourceror/code.ex:55:23326327 warning: using single-quoted strings to represent charlists is deprecated.328 Use ~c"" if you indeed want a charlist or use "" instead.329 You may run "mix format --migrate" to change all single-quoted330 strings to use the ~c sigil and fix this warning.331 │332 56 │ defp next_eol_count('\r\n' ++ rest, count), do: next_eol_count(rest, count + 1)333 │ ~334 │335 └─ lib/sourceror/code.ex:56:23336337warning: 1..-2 has a default step of -1, please write 1..-2//-1 instead338 lib/sourceror.ex:206: Sourceror.to_string/2339340 warning: using single-quoted strings to represent charlists is deprecated.341 Use ~c"" if you indeed want a charlist or use "" instead.342 You may run "mix format --migrate" to change all single-quoted343 strings to use the ~c sigil and fix this warning.344 │345 583 │ 'Elixir.' ++ _ -> false346 │ ~347 │348 └─ lib/sourceror/code/normalizer.ex:583:7349350 warning: using single-quoted strings to represent charlists is deprecated.351 Use ~c"" if you indeed want a charlist or use "" instead.352 You may run "mix format --migrate" to change all single-quoted353 strings to use the ~c sigil and fix this warning.354 │355 1594 │ |> Enum.intersperse('_')356 │ ~357 │358 └─ lib/sourceror/code/formatter.ex:1594:29359360 warning: using single-quoted strings to represent charlists is deprecated.361 Use ~c"" if you indeed want a charlist or use "" instead.362 You may run "mix format --migrate" to change all single-quoted363 strings to use the ~c sigil and fix this warning.364 │365 98 │ def valid_alias?('Elixir' ++ rest), do: valid_alias_piece?(rest)366 │ ~367 │368 └─ lib/sourceror/identifier.ex:98:20369370Generated sourceror app371==> nerves_discovery372Compiling 5 files (.ex)373Generated nerves_discovery app374==> ring_logger375Compiling 7 files (.ex)376Generated ring_logger app377==> decimal378Compiling 4 files (.ex)379 warning: this clause of defp check_dbl_min_max/1 is never used (or it will always fail/warn when invoked)380 │381 2842 │ defp check_dbl_min_max(%Decimal{coef: :inf} = infinity), do: infinity382 │ ~383 │384 └─ lib/decimal.ex:2842:8: Decimal.check_dbl_min_max/1385386Generated decimal app387==> jason388Compiling 10 files (.ex)389Generated jason app390==> interactive_cmd391Compiling 1 file (.ex)392Generated interactive_cmd app393==> nerves394Compiling 65 files (.ex)395 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)396 │397 6 │ defmodule Mix.Tasks.Nerves.Init do398 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~399 │400 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)401402 warning: redefining module Nerves (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.beam)403 │404 6 │ defmodule Nerves do405 │ ~~~~~~~~~~~~~~~~~~~406 │407 └─ lib/nerves.ex:6: Nerves (module)408409 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)410 │411 5 │ defmodule Nerves.ArtifactResolver do412 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~413 │414 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)415416 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)417 │418 6 │ defmodule Nerves.BuildAction.AppModes do419 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~420 │421 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)422423 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)424 │425 5 │ defmodule Nerves.BuildAction.CheckExecutables do426 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~427 │428 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)429430 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)431 │432 8 │ defmodule Nerves.BuildAction.Erlinit do433 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~434 │435 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)436437 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)438 │439 5 │ defmodule Nerves.BuildAction.Firmware do440 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~441 │442 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)443444 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)445 │446 7 │ defmodule Nerves.BuildAction.IExStartupCheck do447 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~448 │449 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)450451 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)452 │453 5 │ defmodule Nerves.BuildAction.NervesV1System do454 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~455 │456 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)457458 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)459 │460 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do461 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~462 │463 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)464465 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)466 │467 5 │ defmodule Nerves.BuildAction.Rootfs do468 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~469 │470 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)471472 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)473 │474 6 │ defmodule Nerves.BuildAction.SortApps do475 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~476 │477 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)478479 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)480 │481 5 │ defmodule Nerves.BuildAction.StripAll do482 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~483 │484 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)485486 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)487 │488 5 │ defmodule Nerves.BuildAction.Trimmer do489 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~490 │491 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)492493 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)494 │495 5 │ defmodule Nerves.BuildPlan do496 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~497 │498 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)499500 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)501 │502 5 │ defmodule Nerves.BuildPlan.Checks do503 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~504 │505 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)506507 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Container.beam)508 │509 6 │ defmodule Nerves.Container do510 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~511 │512 └─ lib/nerves/container.ex:6: Nerves.Container (module)513514 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)515 │516 5 │ defmodule Nerves.Fingerprint do517 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~518 │519 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)520521 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)522 │523 5 │ defmodule Nerves.MixPackage do524 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~525 │526 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)527528 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Paths.beam)529 │530 5 │ defmodule Nerves.Paths do531 │ ~~~~~~~~~~~~~~~~~~~~~~~~~532 │533 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)534535 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)536 │537 5 │ defmodule Nerves.TargetTuple do538 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~539 │540 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)541542Generated nerves app543==> nerves_toolchain_armv7_nerves_linux_gnueabihf544Compiling 1 file (.ex)545Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app546==> nerves_compatibility_test547===> Analyzing applications...548===> Compiling telemetry549==> db_connection550Compiling 18 files (.ex)551Generated db_connection app552==> ecto553Compiling 56 files (.ex)554 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead555 │556 297 │ @spec insert(557 │ ~~~~~~~~~~~~~558 │559 └─ lib/ecto/multi.ex:297: Ecto.Multi (module)560561 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead562 │563 338 │ @spec update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t564 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~565 │566 └─ lib/ecto/multi.ex:338: Ecto.Multi (module)567568 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead569 │570 371 │ @spec insert_or_update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t571 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~572 │573 └─ lib/ecto/multi.ex:371: Ecto.Multi (module)574575 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead576 │577 417 │ @spec delete(578 │ ~~~~~~~~~~~~~579 │580 └─ lib/ecto/multi.ex:417: Ecto.Multi (module)581582 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead583 │584 451 │ @spec one(585 │ ~~~~~~~~~~586 │587 └─ lib/ecto/multi.ex:451: Ecto.Multi (module)588589 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead590 │591 482 │ @spec all(592 │ ~~~~~~~~~~593 │594 └─ lib/ecto/multi.ex:482: Ecto.Multi (module)595596 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead597 │598 513 │ @spec exists?(599 │ ~~~~~~~~~~~~~~600 │601 └─ lib/ecto/multi.ex:513: Ecto.Multi (module)602603 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead604 │605 623 │ @spec insert_all(606 │ ~~~~~~~~~~~~~~~~~607 │608 └─ lib/ecto/multi.ex:623: Ecto.Multi (module)609610 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead611 │612 667 │ @spec update_all(613 │ ~~~~~~~~~~~~~~~~~614 │615 └─ lib/ecto/multi.ex:667: Ecto.Multi (module)616617 warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead618 │619 712 │ @spec delete_all(t, name, Ecto.Queryable.t() | fun(Ecto.Queryable.t()), Keyword.t()) :: t620 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~621 │622 └─ lib/ecto/multi.ex:712: Ecto.Multi (module)623624 warning: BadStructError.exception/1 is undefined (module BadStructError is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined)625 │626 347 │ raise BadStructError, struct: struct, term: data627 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~628 │629 └─ lib/ecto/repo/queryable.ex:347: Ecto.Repo.Queryable.process/4630631Generated ecto app632==> phoenix_pubsub633Compiling 12 files (.ex)634Generated phoenix_pubsub app635==> plug636Compiling 1 file (.erl)637Compiling 42 files (.ex)638Generated plug app639==> ueberauth640Compiling 9 files (.ex)641Generated ueberauth app642==> phoenix_html643Compiling 9 files (.ex)644 warning: comparison between distinct types found:645646 id == nil647648 given types:649650 dynamic(not false and not nil and not binary()) == nil651652 where "id" was given the types:653654 # type: dynamic(not false and not nil)655 # from: lib/phoenix_html/form_data.ex:92:8656 id = Keyword.get(opts, :id) || name657658 # type: dynamic(not false and not nil and not binary())659 # from: lib/phoenix_html/form_data.ex:94:12660 is_binary(id)661662 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 false663664 type warning found at:665 │666 94 │ unless is_binary(id) or is_nil(id) do667 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~668 │669 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2670671 warning: the 1st pattern in clause will never match:672673 60674675 because it is expected to receive type:676677 dynamic(empty_list() or non_empty_list(term(), term()))678679 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())680681 type warning found at:682 │683 56 │ def to_iodata(?<), do: "<"684 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~685 │686 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1687688 warning: the 1st pattern in clause will never match:689690 62691692 because it is expected to receive type:693694 dynamic(empty_list() or non_empty_list(term(), term()))695696 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())697698 type warning found at:699 │700 57 │ def to_iodata(?>), do: ">"701 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~702 │703 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1704705 warning: the 1st pattern in clause will never match:706707 38708709 because it is expected to receive type:710711 dynamic(empty_list() or non_empty_list(term(), term()))712713 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())714715 type warning found at:716 │717 58 │ def to_iodata(?&), do: "&"718 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~719 │720 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1721722 warning: the 1st pattern in clause will never match:723724 34725726 because it is expected to receive type:727728 dynamic(empty_list() or non_empty_list(term(), term()))729730 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())731732 type warning found at:733 │734 59 │ def to_iodata(?"), do: """735 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~736 │737 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1738739 warning: the 1st pattern in clause will never match:740741 39742743 because it is expected to receive type:744745 dynamic(empty_list() or non_empty_list(term(), term()))746747 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())748749 type warning found at:750 │751 60 │ def to_iodata(?'), do: "'"752 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~753 │754 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1755756 warning: the 1st pattern in clause will never match:757758 {:safe, data}759760 because it is expected to receive type:761762 dynamic(empty_list() or non_empty_list(term(), term()))763764 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())765766 type warning found at:767 │768 76 │ def to_iodata({:safe, data}) do769 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~770 │771 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1772773 warning: the following clause is redundant:774775 def to_iodata(other)776777 it has type:778779 dynamic(empty_list() or non_empty_list(term(), term()))780781 previous clauses have already matched on the following types:782783 non_empty_list(term(), term())784 empty_list()785786 │787 80 │ def to_iodata(other) do788 │ ~789 │790 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1791792 warning: the 1st pattern in clause will never match:793794 h795796 because it is expected to receive type:797798 dynamic(empty_list() or non_empty_list(term(), term()))799800 where "h" was given the type:801802 # type: integer()803 # from: lib/phoenix_html/safe.ex:62:25804 is_integer(h)805806 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())807808 type warning found at:809 │810 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do811 │ ~812 │813 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1814815 warning: the 1st pattern in clause will never match:816817 h818819 because it is expected to receive type:820821 dynamic(empty_list() or non_empty_list(term(), term()))822823 where "h" was given the type:824825 # type: integer()826 # from: lib/phoenix_html/safe.ex:66:25827 is_integer(h)828829 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())830831 type warning found at:832 │833 66 │ def to_iodata(h) when is_integer(h) do834 │ ~835 │836 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1837838 warning: the 1st pattern in clause will never match:839840 h841842 because it is expected to receive type:843844 dynamic(empty_list() or non_empty_list(term(), term()))845846 where "h" was given the type:847848 # type: binary()849 # from: lib/phoenix_html/safe.ex:72:25850 is_binary(h)851852 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())853854 type warning found at:855 │856 72 │ def to_iodata(h) when is_binary(h) do857 │ ~858 │859 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1860861Generated phoenix_html app862==> phoenix_template863Compiling 4 files (.ex)864Generated phoenix_template app865warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"866 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2867 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1868 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5869 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2870 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4871 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2872873==> postgrex874Compiling 64 files (.ex)875 warning: the variable "positions_bytes" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator876 │877 52 │ <<positions::binary-size(positions_bytes), remaining_data::binary>> = rest878 │ ~879 │880 └─ lib/postgrex/extensions/tsvector.ex:52:30: Postgrex.Extensions.TSVector.decode_tsvector_values/1881882 warning: the variable "rest_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator883 │884 98 │ <<data::size(rest_size)>> = rest885 │ ~886 │887 └─ lib/postgrex/messages.ex:98:24: Postgrex.Messages.parse/3888889 warning: unused require Postgrex.Messages890 │891 55 │ require Postgrex.Messages892 │ ~893 │894 └─ lib/postgrex/query.ex:55:3895896 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator897 │898 3201 │ <<body::binary(size), rest::binary>> ->899 │ ~900 │901 └─ lib/postgrex/protocol.ex:3201:22: Postgrex.Protocol.msg_decode/1902903 warning: the variable "last_pos" (context Postgrex.Extensions.BitString) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator904 │905 16 │ <<binary::binary-size(last_pos), last::bits>> = val906 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~907 │908 └─ lib/postgrex/extensions/bit_string.ex:16: Postgrex.DefaultTypes."Elixir.Postgrex.Extensions.BitString"/1909910 warning: the following clause will never match:911912 {:error, %Postgrex.Error{} = err, s, buffer} ->913914 because it attempts to match on the result of:915916 msg_send(%{s | buffer: nil}, msgs, buffer)917918 which has type:919920 dynamic(:ok or {:disconnect, term(), term()})921922 type warning found at:923 │924 1128 │ {:error, %Postgrex.Error{} = err, s, buffer} ->925 │ ~926 │927 └─ lib/postgrex/protocol.ex:1128:7: Postgrex.Protocol.handle_simple/3928929 warning: the following clause will never match:930931 {:error, %Postgrex.Error{} = err, s, buffer} ->932933 because it attempts to match on the result of:934935 msg_send(%{s | buffer: nil}, msgs, buffer)936937 which has type:938939 dynamic(:ok or {:disconnect, term(), term()})940941 type warning found at:942 │943 1238 │ {:error, %Postgrex.Error{} = err, s, buffer} ->944 │ ~945 │946 └─ lib/postgrex/protocol.ex:1238:7: Postgrex.Protocol.handle_streaming/2947948 warning: a struct for Postgrex.Query is expected on struct update:949950 %Postgrex.Query{951 query952 | param_oids: param_oids,953 param_formats: param_formats,954 param_types: param_types955 }956957 but got type:958959 dynamic()960961 where "query" was given the type:962963 # type: dynamic()964 # from: lib/postgrex/protocol.ex:1637:41965 query966967 when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"968969 type warning found at:970 │971 1640 │ query = %Query{972 │ ~973 │974 └─ lib/postgrex/protocol.ex:1640:15: Postgrex.Protocol.describe_params/3975976 warning: a struct for Postgrex.Query is expected on struct update:977978 %Postgrex.Query{979 query980 | ref: make_ref(),981 types: types,982 columns: nil,983 result_oids: nil,984 result_formats: [],985 result_types: nil986 }987988 but got type:989990 dynamic()991992 where "query" was given the type:993994 # type: dynamic()995 # from: lib/postgrex/protocol.ex:1668:41996 query997998 when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"9991000 type warning found at:1001 │1002 1669 │ query = %Query{1003 │ ~1004 │1005 └─ lib/postgrex/protocol.ex:1669:13: Postgrex.Protocol.describe_result/410061007 warning: a struct for Postgrex.Query is expected on struct update:10081009 %Postgrex.Query{1010 query1011 | ref: make_ref(),1012 types: types,1013 columns: columns,1014 result_oids: result_oids,1015 result_formats: result_formats,1016 result_types: result_types1017 }10181019 but got type:10201021 dynamic()10221023 where "query" was given the type:10241025 # type: dynamic()1026 # from: lib/postgrex/protocol.ex:1682:411027 query10281029 when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"10301031 type warning found at:1032 │1033 1685 │ query = %Query{1034 │ ~1035 │1036 └─ lib/postgrex/protocol.ex:1685:15: Postgrex.Protocol.describe_result/410371038 warning: the following clause will never match:10391040 {:error, %Postgrex.Error{} = err, s, buffer} ->10411042 because it attempts to match on the result of:10431044 msg_send(%{s | buffer: nil}, msgs, buffer)10451046 which has type:10471048 dynamic(:ok or {:disconnect, term(), term()})10491050 type warning found at:1051 │1052 2865 │ {:error, %Postgrex.Error{} = err, s, buffer} ->1053 │ ~1054 │1055 └─ lib/postgrex/protocol.ex:2865:7: Postgrex.Protocol.handle_transaction/310561057Generated postgrex app1058warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1059 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21060 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11061 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51062 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21063 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41064 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210651066==> ecto_sql1067Compiling 25 files (.ex)1068 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1069 │1070 93 │ <<_, unquoted::binary-size(size), _>> = quoted1071 │ ~1072 │1073 └─ lib/ecto/adapters/postgres/connection.ex:93:34: Ecto.Adapters.Postgres.Connection.strip_quotes/110741075 warning: unused require Ecto.Query1076 │1077 140 │ require Ecto.Query1078 │ ~1079 │1080 └─ lib/ecto/adapters/tds.ex:140:310811082 warning: unused require Logger1083 │1084 139 │ require Logger1085 │ ~1086 │1087 └─ lib/ecto/adapters/tds.ex:139:310881089 warning: unused require Ecto.Query1090 │1091 107 │ require Ecto.Query1092 │ ~1093 │1094 └─ lib/ecto/migrator.ex:107:310951096 warning: this clause of defp drop_reference_if_exists_expr/3 is never used (or it will always fail/warn when invoked)1097 │1098 1732 │ defp drop_reference_if_exists_expr(_, _, _),1099 │ ~1100 │1101 └─ lib/ecto/adapters/postgres/connection.ex:1732:10: Ecto.Adapters.Postgres.Connection.drop_reference_if_exists_expr/311021103 warning: this clause of defp validate_index_opts!/1 is never used (or it will always fail/warn when invoked)1104 │1105 1558 │ defp validate_index_opts!(opts), do: opts1106 │ ~1107 │1108 └─ lib/ecto/migration.ex:1558:8: Ecto.Migration.validate_index_opts!/111091110 warning: List.zip/1 is deprecated. Use Enum.zip/1 instead1111 │1112 681 │ |> List.zip()1113 │ ~1114 │1115 └─ lib/ecto/adapters/sql.ex:681:15: Ecto.Adapters.SQL.format_table/11116 └─ lib/ecto/adapters/sql.ex:712:15: Ecto.Adapters.SQL.cells/211171118Generated ecto_sql app1119warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1120 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21121 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11122 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51123 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21124 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41125 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211261127==> oban1128Compiling 61 files (.ex)1129 warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1130 │1131 158 │ error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1132 │ ~1133 │1134 └─ lib/oban/repo.ex:158:11: Oban.Repo.transaction/411351136 warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1137 │1138 123 │ error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1139 │ ~1140 │1141 └─ lib/oban/peers/database.ex:123:11: Oban.Peers.Database.handle_info/211421143Generated oban app1144==> ecto_enum1145Compiling 5 files (.ex)1146Generated ecto_enum app1147==> mishka_developer_tools1148Compiling 3 files (.ex)1149 warning: expected a map or struct when accessing .__struct__ in expression:11501151 module.__struct__11521153 where "module" was given the type:11541155 # type: dynamic(atom())1156 # from: lib/macros/database/crud.ex:260:121157 module.changeset(module.__struct__, attrs)11581159 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()11601161 type warning found at:1162 │1163 260 │ module.changeset(module.__struct__, attrs)1164 │ ~1165 │1166 └─ lib/macros/database/crud.ex:260:29: MishkaDeveloperTools.DB.CRUD.create_record/311671168Generated mishka_developer_tools app1169==> uboot_env1170Compiling 5 files (.ex)1171Generated uboot_env app1172==> nimble_pool1173Compiling 2 files (.ex)1174Generated nimble_pool app1175==> finch1176Compiling 13 files (.ex)1177 warning: the variable "window" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1178 │1179 55 │ <<bytes_to_send::binary-size(window), rest::binary>> ->1180 │ ~1181 │1182 └─ lib/finch/http2/request_stream.ex:55:36: Finch.HTTP2.RequestStream.next_chunk/211831184 warning: the variable "fittable_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1185 │1186 77 │ <<fittable_binary::binary-size(fittable_size), overload_binary::binary>> =1187 │ ~1188 │1189 └─ lib/finch/http2/request_stream.ex:77:40: Finch.HTTP2.RequestStream.continue_reduce/211901191 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1192 │1193 362 │ Logger.warn(["Received unknown message: ", inspect(message)])1194 │ ~1195 │1196 └─ lib/finch/http2/pool.ex:362:16: Finch.HTTP2.Pool.connected/311971198 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1199 │1200 460 │ Logger.warn(["Received unknown message: ", inspect(message)])1201 │ ~1202 │1203 └─ lib/finch/http2/pool.ex:460:16: Finch.HTTP2.Pool.connected_read_only/312041205Generated finch app1206==> tesla1207Compiling 57 files (.ex)1208Generated tesla app1209==> oauth21210Compiling 13 files (.ex)1211Generated oauth2 app1212==> ueberauth_github1213Compiling 3 files (.ex)1214Generated ueberauth_github app1215==> ueberauth_google1216Compiling 3 files (.ex)1217Generated ueberauth_google app1218==> nerves_system_bbb1219Generated nerves_system_bbb app1220==> property_table1221Compiling 8 files (.ex)1222Generated property_table app1223==> nerves_uevent1224 CC uevent.o1225 LD uevent1226Compiling 5 files (.ex)1227Generated nerves_uevent app1228==> nerves_runtime1229Compiling 14 files (.ex)1230Generated nerves_runtime app1231==> toolshed1232Compiling 5 files (.ex)1233Generated toolshed app1234==> websock1235Compiling 1 file (.ex)1236Generated websock app1237==> websock_adapter1238Compiling 4 files (.ex)1239Generated websock_adapter app1240warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1241 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21242 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11243 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51244 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21245 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41246 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212471248==> phoenix1249Compiling 71 files (.ex)1250 warning: unused require Logger1251 │1252 9 │ require Logger1253 │ ~1254 │1255 └─ lib/phoenix/config.ex:9:312561257 warning: unused require Logger1258 │1259 281 │ require Logger1260 │ ~1261 │1262 └─ lib/phoenix/endpoint.ex:281:312631264 warning: unused require Phoenix.Endpoint1265 │1266 6 │ require Phoenix.Endpoint1267 │ ~1268 │1269 └─ lib/phoenix/controller.ex:6:312701271 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 operator1272 │1273 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1274 │ ~1275 │1276 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/212771278 warning: unused require Phoenix.Endpoint1279 │1280 17 │ require Phoenix.Endpoint1281 │ ~1282 │1283 └─ lib/phoenix/endpoint/render_errors.ex:17:312841285 warning: unused require Phoenix.Endpoint1286 │1287 6 │ require Phoenix.Endpoint1288 │ ~1289 │1290 └─ lib/phoenix/channel/server.ex:6:312911292 warning: unused require Phoenix.Endpoint1293 │1294 202 │ require Phoenix.Endpoint1295 │ ~1296 │1297 └─ lib/phoenix/socket.ex:202:312981299 warning: unused require Logger1300 │1301 70 │ require Logger1302 │ ~1303 │1304 └─ lib/phoenix/socket/pool_supervisor.ex:70:313051306 warning: unused require Logger1307 │1308 100 │ require Logger1309 │ ~1310 │1311 └─ lib/phoenix/token.ex:100:313121313 warning: comparison between distinct types found:13141315 merge_all != []13161317 given types:13181319 dynamic(non_empty_list({atom(), term()})) != empty_list()13201321 where "merge_all" was given the type:13221323 # type: dynamic(non_empty_list({atom(), term()}))1324 # from: lib/phoenix/router/route.ex:121:151325 merge_all = merge_params ++ merge_private ++ merge_assigns13261327 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 false13281329 type warning found at:1330 │1331 123 │ if merge_all != [] do1332 │ ~1333 │1334 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/113351336 warning: a struct for Plug.Conn is expected on struct update:13371338 %Plug.Conn{conn | state: :sent}13391340 but got type:13411342 dynamic()13431344 where "conn" was given the type:13451346 # type: dynamic()1347 # from: lib/phoenix/endpoint/render_errors.ex:55:171348 conn13491350 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13511352 type warning found at:1353 │1354 60 │ %Plug.Conn{conn | state: :sent}1355 │ ~1356 │1357 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/513581359 warning: a struct for Plug.Conn is expected on struct update:13601361 %Plug.Conn{conn | query_params: %{}, params: %{}}13621363 but got type:13641365 dynamic(%{..., params: %Plug.Conn.Unfetched{}})13661367 where "conn" was given the types:13681369 # type: dynamic(%{..., params: term()})1370 # from: lib/phoenix/endpoint/render_errors.ex:133:171371 conn.params13721373 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1374 # from: lib/phoenix/endpoint/render_errors.ex:133:171375 conn.params13761377 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13781379 type warning found at:1380 │1381 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1382 │ ~1383 │1384 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/113851386 warning: a struct for Plug.Conn is expected on struct update:13871388 %Plug.Conn{conn | query_params: %{}, params: params}13891390 but got type:13911392 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})13931394 where "conn" was given the types:13951396 # type: dynamic(%{..., params: term()})1397 # from: lib/phoenix/endpoint/render_errors.ex:133:171398 conn.params13991400 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1401 # from: lib/phoenix/endpoint/render_errors.ex:133:171402 conn.params14031404 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14051406 type warning found at:1407 │1408 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1409 │ ~1410 │1411 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/114121413 warning: a struct for Plug.Conn is expected on struct update:14141415 %Plug.Conn{conn | params: params}14161417 but got type:14181419 dynamic(%{..., params: map()})14201421 where "conn" was given the type:14221423 # type: dynamic(%{..., params: map()})1424 # from: lib/phoenix/controller.ex:1327:171425 Map.get(conn.params, required_key)14261427 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14281429 type warning found at:1430 │1431 1334 │ %Plug.Conn{conn | params: params}1432 │ ~1433 │1434 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/214351436Generated phoenix app1437warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1438 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21439 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11440 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51441 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21442 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41443 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214441445==> phoenix_live_view1446Compiling 31 files (.ex)1447 warning: using single-quoted strings to represent charlists is deprecated.1448 Use ~c"" if you indeed want a charlist or use "" instead.1449 You may run "mix format --migrate" to change all single-quoted1450 strings to use the ~c sigil and fix this warning.1451 │1452 319 │ {'LiveView', view},1453 │ ~1454 │1455 └─ lib/phoenix_live_view/channel.ex:319:1014561457 warning: using single-quoted strings to represent charlists is deprecated.1458 Use ~c"" if you indeed want a charlist or use "" instead.1459 You may run "mix format --migrate" to change all single-quoted1460 strings to use the ~c sigil and fix this warning.1461 │1462 320 │ {'Parent pid', parent_pid},1463 │ ~1464 │1465 └─ lib/phoenix_live_view/channel.ex:320:1014661467 warning: using single-quoted strings to represent charlists is deprecated.1468 Use ~c"" if you indeed want a charlist or use "" instead.1469 You may run "mix format --migrate" to change all single-quoted1470 strings to use the ~c sigil and fix this warning.1471 │1472 321 │ {'Transport pid', transport_pid},1473 │ ~1474 │1475 └─ lib/phoenix_live_view/channel.ex:321:1014761477 warning: using single-quoted strings to represent charlists is deprecated.1478 Use ~c"" if you indeed want a charlist or use "" instead.1479 You may run "mix format --migrate" to change all single-quoted1480 strings to use the ~c sigil and fix this warning.1481 │1482 322 │ {'Topic', topic},1483 │ ~1484 │1485 └─ lib/phoenix_live_view/channel.ex:322:1014861487 warning: using single-quoted strings to represent charlists is deprecated.1488 Use ~c"" if you indeed want a charlist or use "" instead.1489 You may run "mix format --migrate" to change all single-quoted1490 strings to use the ~c sigil and fix this warning.1491 │1492 323 │ {'Components count', map_size(cid_to_component)}1493 │ ~1494 │1495 └─ lib/phoenix_live_view/channel.ex:323:1014961497 warning: using single-quoted strings to represent charlists is deprecated.1498 Use ~c"" if you indeed want a charlist or use "" instead.1499 You may run "mix format --migrate" to change all single-quoted1500 strings to use the ~c sigil and fix this warning.1501 │1502 329 │ [data: [{'State', state}]]1503 │ ~1504 │1505 └─ lib/phoenix_live_view/channel.ex:329:1415061507 warning: using single-quoted strings to represent charlists is deprecated.1508 Use ~c"" if you indeed want a charlist or use "" instead.1509 You may run "mix format --migrate" to change all single-quoted1510 strings to use the ~c sigil and fix this warning.1511 │1512 112 │ @codepoints '\s\n\r\t'1513 │ ~1514 │1515 └─ lib/phoenix_live_view/html_algebra.ex:112:1515161517 warning: using single-quoted strings to represent charlists is deprecated.1518 Use ~c"" if you indeed want a charlist or use "" instead.1519 You may run "mix format --migrate" to change all single-quoted1520 strings to use the ~c sigil and fix this warning.1521 │1522 125 │ do: :binary.first(text) in '\n\r'1523 │ ~1524 │1525 └─ lib/phoenix_live_view/html_algebra.ex:125:3215261527 warning: using single-quoted strings to represent charlists is deprecated.1528 Use ~c"" if you indeed want a charlist or use "" instead.1529 You may run "mix format --migrate" to change all single-quoted1530 strings to use the ~c sigil and fix this warning.1531 │1532 130 │ do: :binary.last(text) in '\n\r'1533 │ ~1534 │1535 └─ lib/phoenix_live_view/html_algebra.ex:130:3115361537 warning: using single-quoted strings to represent charlists is deprecated.1538 Use ~c"" if you indeed want a charlist or use "" instead.1539 You may run "mix format --migrate" to change all single-quoted1540 strings to use the ~c sigil and fix this warning.1541 │1542 503 │ defp count_newlines_until_text(<<char, rest::binary>>, counter) when char in '\s\t\r',1543 │ ~1544 │1545 └─ lib/phoenix_live_view/html_formatter.ex:503:8015461547 warning: using single-quoted strings to represent charlists is deprecated.1548 Use ~c"" if you indeed want a charlist or use "" instead.1549 You may run "mix format --migrate" to change all single-quoted1550 strings to use the ~c sigil and fix this warning.1551 │1552 536 │ do: if(String.trim_leading(text) == "", do: false, else: !(:binary.last(text) in '\s\t'))1553 │ ~1554 │1555 └─ lib/phoenix_live_view/html_formatter.ex:536:8615561557 warning: using single-quoted strings to represent charlists is deprecated.1558 Use ~c"" if you indeed want a charlist or use "" instead.1559 You may run "mix format --migrate" to change all single-quoted1560 strings to use the ~c sigil and fix this warning.1561 │1562 546 │ if String.trim_leading(text) != "" and :binary.first(text) not in '\s\t\n\r' do1563 │ ~1564 │1565 └─ lib/phoenix_live_view/html_formatter.ex:546:7315661567 warning: using single-quoted strings to represent charlists is deprecated.1568 Use ~c"" if you indeed want a charlist or use "" instead.1569 You may run "mix format --migrate" to change all single-quoted1570 strings to use the ~c sigil and fix this warning.1571 │1572 3 │ @space_chars '\s\t\f'1573 │ ~1574 │1575 └─ lib/phoenix_live_view/html_tokenizer.ex:3:1615761577 warning: using single-quoted strings to represent charlists is deprecated.1578 Use ~c"" if you indeed want a charlist or use "" instead.1579 You may run "mix format --migrate" to change all single-quoted1580 strings to use the ~c sigil and fix this warning.1581 │1582 4 │ @quote_chars '"\''1583 │ ~1584 │1585 └─ lib/phoenix_live_view/html_tokenizer.ex:4:1615861587 warning: using single-quoted strings to represent charlists is deprecated.1588 Use ~c"" if you indeed want a charlist or use "" instead.1589 You may run "mix format --migrate" to change all single-quoted1590 strings to use the ~c sigil and fix this warning.1591 │1592 5 │ @stop_chars '>/=\r\n' ++ @quote_chars ++ @space_chars1593 │ ~1594 │1595 └─ lib/phoenix_live_view/html_tokenizer.ex:5:1515961597 warning: unused require Logger1598 │1599 25 │ require Logger1600 │ ~1601 │1602 └─ lib/phoenix_live_view/socket.ex:25:316031604 warning: unused require Phoenix.ChannelTest1605 │1606 179 │ require Phoenix.ChannelTest1607 │ ~1608 │1609 └─ lib/phoenix_live_view/test/live_view_test.ex:179:316101611 warning: unused require Phoenix.ConnTest1612 │1613 178 │ require Phoenix.ConnTest1614 │ ~1615 │1616 └─ lib/phoenix_live_view/test/live_view_test.ex:178:316171618 warning: unused require Phoenix.ChannelTest1619 │1620 4 │ require Phoenix.ChannelTest1621 │ ~1622 │1623 └─ lib/phoenix_live_view/test/upload_client.ex:4:316241625 warning: unused require Logger1626 │1627 6 │ require Logger1628 │ ~1629 │1630 └─ lib/phoenix_live_view/upload_channel.ex:6:316311632 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:16331634 %Phoenix.LiveView.Socket{1635 socket1636 | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1637 }16381639 but got type:16401641 dynamic()16421643 where "socket" was given the type:16441645 # type: dynamic()1646 # from: lib/phoenix_live_view/utils.ex:459:211647 socket16481649 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"16501651 type warning found at:1652 │1653 460 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1654 │ ~1655 │1656 └─ lib/phoenix_live_view/utils.ex:460:5: Phoenix.LiveView.Utils.do_mount_opt/316571658 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:16591660 %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}16611662 but got type:16631664 dynamic()16651666 where "socket" was given the type:16671668 # type: dynamic()1669 # from: lib/phoenix_live_view/utils.ex:463:211670 socket16711672 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"16731674 type warning found at:1675 │1676 464 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1677 │ ~1678 │1679 └─ lib/phoenix_live_view/utils.ex:464:5: Phoenix.LiveView.Utils.do_mount_opt/316801681 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:16821683 %Phoenix.LiveView.Socket{1684 socket1685 | assigns: Map.merge(temp_assigns, socket.assigns),1686 private: Map.put(socket.private, :temporary_assigns, temp_assigns)1687 }16881689 but got type:16901691 dynamic()16921693 where "socket" was given the type:16941695 # type: dynamic()1696 # from: lib/phoenix_live_view/utils.ex:473:211697 socket16981699 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"17001701 type warning found at:1702 │1703 480 │ %Socket{1704 │ ~1705 │1706 └─ lib/phoenix_live_view/utils.ex:480:5: Phoenix.LiveView.Utils.do_mount_opt/317071708 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:17091710 %Phoenix.LiveView.Socket{1711 socket1712 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1713 }17141715 but got type:17161717 dynamic(%{..., assigns: term()})17181719 where "socket" was given the type:17201721 # type: dynamic(%{..., assigns: term()})1722 # from: lib/phoenix_live_view/utils.ex:491:431723 %{assigns: assigns} = socket17241725 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"17261727 type warning found at:1728 │1729 492 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1730 │ ~1731 │1732 └─ lib/phoenix_live_view/utils.ex:492:14: Phoenix.LiveView.Utils.render_assigns/117331734 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:17351736 %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}17371738 but got type:17391740 dynamic()17411742 where "entry" was given the type:17431744 # type: dynamic()1745 # from: lib/phoenix_live_view/upload_config.ex:339:281746 entry <- conf.entries17471748 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"17491750 type warning found at:1751 │1752 339 │ | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1753 │ ~1754 │1755 └─ lib/phoenix_live_view/upload_config.ex:339:49: Phoenix.LiveView.UploadConfig.mark_preflighted/117561757 warning: a struct for Phoenix.HTML.Form is expected on struct update:17581759 %Phoenix.HTML.Form{Phoenix.HTML.FormData.to_form(form_for, form_options) | action: action || "#"}17601761 but got type:17621763 dynamic()17641765 where "form_for" was given the type:17661767 # type: dynamic(not false and not nil)1768 # from: lib/phoenix_live_view/helpers.ex:1101:141769 form_for = assigns[:for] || :erlang.error(ArgumentError.exception("missing :for assign to form"))17701771 where "form_options" was given the type:17721773 # type: dynamic(list({term(), term()}))1774 # from: lib/phoenix_live_view/helpers.ex:1102:181775 form_options = assigns_to_attributes(assigns, [:action, :for])17761777 you must assign "Phoenix.HTML.FormData.to_form(form_for, form_options)" to variable and pattern match on "%Phoenix.HTML.Form{}"17781779 type warning found at:1780 │1781 1106 │ form = %Phoenix.HTML.Form{1782 │ ~1783 │1784 └─ lib/phoenix_live_view/helpers.ex:1106:14: Phoenix.LiveView.Helpers.form/117851786 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:17871788 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}17891790 but got type:17911792 dynamic()17931794 where "entry" was given the type:17951796 # type: dynamic()1797 # from: lib/phoenix_live_view/upload_config.ex:539:301798 entry17991800 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"18011802 type warning found at:1803 │1804 540 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1805 │ ~1806 │1807 └─ lib/phoenix_live_view/upload_config.ex:540:13: Phoenix.LiveView.UploadConfig.put_valid_entry/218081809 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18101811 %Phoenix.LiveView.UploadEntry{entry | valid?: false}18121813 but got type:18141815 dynamic()18161817 where "entry" was given the type:18181819 # type: dynamic()1820 # from: lib/phoenix_live_view/upload_config.ex:552:321821 entry18221823 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"18241825 type warning found at:1826 │1827 553 │ entry = %UploadEntry{entry | valid?: false}1828 │ ~1829 │1830 └─ lib/phoenix_live_view/upload_config.ex:553:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/318311832 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18331834 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}18351836 but got type:18371838 dynamic()18391840 where "entry" was given the type:18411842 # type: dynamic()1843 # from: lib/phoenix_live_view/upload_config.ex:635:421844 entry18451846 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"18471848 type warning found at:1849 │1850 635 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1851 │ ~1852 │1853 └─ lib/phoenix_live_view/upload_config.ex:635:51: Phoenix.LiveView.UploadConfig.cancel_entry/218541855 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1856 │1857 72 │ Logger.disable(self())1858 │ ~1859 │1860 └─ lib/phoenix_live_view/test/client_proxy.ex:72:12: Phoenix.LiveViewTest.ClientProxy.init/118611862 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:18631864 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}18651866 but got type:18671868 dynamic(%{..., rendered: map()})18691870 where "view" was given the type:18711872 # type: dynamic(%{..., rendered: map()})1873 # from: lib/phoenix_live_view/test/client_proxy.ex:701:241874 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)18751876 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"18771878 type warning found at:1879 │1880 702 │ new_view = %ClientProxy{view | rendered: rendered}1881 │ ~1882 │1883 └─ lib/phoenix_live_view/test/client_proxy.ex:702:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/318841885 warning: the right-hand side of || (shown as ... below) will never be executed:18861887 conn.private[:live_view_connect_info] || prune_conn(conn) || ...18881889 because the left-hand side always evaluates to:18901891 dynamic(not false and not nil)18921893 where "conn" was given the types:18941895 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1896 # from: lib/phoenix_live_view/test/live_view_test.ex:320:721897 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn18981899 # type: dynamic(%Plug.Conn{1900 assigns: %{..., live_module: term()},1901 private:1902 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1903 non_struct_map(),1904 status: integer()1905 })1906 # from: lib/phoenix_live_view/test/live_view_test.ex:334:351907 conn.private[:live_view_connect_params]19081909 type warning found at:1910 │1911 335 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1912 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1913 │1914 └─ lib/phoenix_live_view/test/live_view_test.ex:335: Phoenix.LiveViewTest.connect_from_static_token/219151916 warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1917 │1918 1095 │ Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1919 │ ~1920 │1921 └─ lib/phoenix_live_view/test/client_proxy.ex:1095:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31922 └─ lib/phoenix_live_view/test/client_proxy.ex:1100:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31923 └─ lib/phoenix_live_view/test/client_proxy.ex:1110:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31924 └─ lib/phoenix_live_view/test/client_proxy.ex:1119:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/319251926 warning: the following clause is redundant:19271928 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)19291930 it has type:19311932 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))19331934 previous clauses have already matched on the following types:19351936 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1937 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1938 term(), term(), (none(), none() -> term())1939 term(), term(), (none() -> term())19401941 │1942 952 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1943 │ ~1944 │1945 └─ lib/phoenix_live_view.ex:952:7: Phoenix.LiveView.update/319461947 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1948 │1949 603 │ defp class_names(nil), do: []1950 │ ~1951 │1952 └─ lib/phoenix_live_view/js.ex:603:8: Phoenix.LiveView.JS.class_names/119531954 warning: the following clause is redundant:19551956 def to_iodata(%_{} = struct)19571958 it has type:19591960 dynamic(%Phoenix.LiveView.Rendered{})19611962 previous clauses have already matched on the following types:19631964 %Phoenix.LiveView.Rendered{}19651966 │1967 127 │ def to_iodata(%_{} = struct) do1968 │ ~1969 │1970 └─ lib/phoenix_live_view/engine.ex:127:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/119711972 warning: the 1st pattern in clause will never match:19731974 nil19751976 because it is expected to receive type:19771978 dynamic(%Phoenix.LiveView.Rendered{})19791980 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}19811982 type warning found at:1983 │1984 131 │ def to_iodata(nil) do1985 │ ~~~~~~~~~~~~~~~~~~~~~1986 │1987 └─ lib/phoenix_live_view/engine.ex:131: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/119881989 warning: the following clause is redundant:19901991 def to_iodata(other)19921993 it has type:19941995 dynamic(%Phoenix.LiveView.Rendered{})19961997 previous clauses have already matched on the following types:19981999 %Phoenix.LiveView.Rendered{}20002001 │2002 135 │ def to_iodata(other) do2003 │ ~2004 │2005 └─ lib/phoenix_live_view/engine.ex:135:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/120062007Generated phoenix_live_view app2008warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"2009 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/22010 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/12011 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52012 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22013 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42014 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/220152016==> mishka_installer2017Compiling 33 files (.ex)2018 warning: using single-quoted strings to represent charlists is deprecated.2019 Use ~c"" if you indeed want a charlist or use "" instead.2020 You may run "mix format --migrate" to change all single-quoted2021 strings to use the ~c sigil and fix this warning.2022 │2023 418 │ {:error, :application_ensure, :load, {'no such file or directory', _app}} ->2024 │ ~2025 │2026 └─ lib/installer/dep_changes_protector.ex:418:4920272028 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead2029 │2030 102 │ Logger.warn("Your ETS state of setting is going to be updated")2031 │ ~2032 │2033 └─ lib/helper/setting.ex:102:12: MishkaInstaller.Helper.Setting.handle_info/220342035 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead2036 │2037 114 │ Logger.warn("Your ETS state of setting was restarted by a problem")2038 │ ~2039 │2040 └─ lib/helper/setting.ex:114:12: MishkaInstaller.Helper.Setting.terminate/220412042 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead2043 │2044 409 │ Logger.warn("Try to re-add installed extensions")2045 │ ~2046 │2047 └─ lib/installer/dep_changes_protector.ex:409:14: MishkaInstaller.Installer.DepChangesProtector.add_extensions_when_server_reset/120482049 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead2050 │2051 225 │ Logger.warn("Try to re-create Mix file")2052 │ ~2053 │2054 └─ lib/installer/dep_handler.ex:225:14: MishkaInstaller.Installer.DepHandler.create_mix_file_and_start_compile/220552056 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead2057 │2058 256 │ Logger.warn("Try to re-create Mix file")2059 │ ~2060 │2061 └─ lib/installer/dep_handler.ex:256:14: MishkaInstaller.Installer.DepHandler.create_mix_file/020622063 warning: using single-quoted strings to represent charlists is deprecated.2064 Use ~c"" if you indeed want a charlist or use "" instead.2065 You may run "mix format --migrate" to change all single-quoted2066 strings to use the ~c sigil and fix this warning.2067 │2068 383 │ {'MIX_ENV', '#{Mix.env()}'},2069 │ ~2070 │2071 └─ lib/installer/run_time_sourcing.ex:383:1220722073 warning: using single-quoted strings to represent charlists is deprecated.2074 Use ~c"" if you indeed want a charlist or use "" instead.2075 You may run "mix format --migrate" to change all single-quoted2076 strings to use the ~c sigil and fix this warning.2077 │2078 383 │ {'MIX_ENV', '#{Mix.env()}'},2079 │ ~2080 │2081 └─ lib/installer/run_time_sourcing.ex:383:2320822083 warning: using single-quoted strings to represent charlists is deprecated.2084 Use ~c"" if you indeed want a charlist or use "" instead.2085 You may run "mix format --migrate" to change all single-quoted2086 strings to use the ~c sigil and fix this warning.2087 │2088 384 │ {'INSTALLER_DB', '#{MishkaInstaller.repo()}'},2089 │ ~2090 │2091 └─ lib/installer/run_time_sourcing.ex:384:1220922093 warning: using single-quoted strings to represent charlists is deprecated.2094 Use ~c"" if you indeed want a charlist or use "" instead.2095 You may run "mix format --migrate" to change all single-quoted2096 strings to use the ~c sigil and fix this warning.2097 │2098 384 │ {'INSTALLER_DB', '#{MishkaInstaller.repo()}'},2099 │ ~2100 │2101 └─ lib/installer/run_time_sourcing.ex:384:2821022103 warning: using single-quoted strings to represent charlists is deprecated.2104 Use ~c"" if you indeed want a charlist or use "" instead.2105 You may run "mix format --migrate" to change all single-quoted2106 strings to use the ~c sigil and fix this warning.2107 │2108 385 │ {'INSTALLER_PROJECT_PATH', '#{MishkaInstaller.get_config(:project_path)}'}2109 │ ~2110 │2111 └─ lib/installer/run_time_sourcing.ex:385:1221122113 warning: using single-quoted strings to represent charlists is deprecated.2114 Use ~c"" if you indeed want a charlist or use "" instead.2115 You may run "mix format --migrate" to change all single-quoted2116 strings to use the ~c sigil and fix this warning.2117 │2118 385 │ {'INSTALLER_PROJECT_PATH', '#{MishkaInstaller.get_config(:project_path)}'}2119 │ ~2120 │2121 └─ lib/installer/run_time_sourcing.ex:385:3821222123 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead2124 │2125 43 │ Logger.warn("Your ETS state of plugin was restarted by a problem")2126 │ ~2127 │2128 └─ lib/plugin_manager/state/plugin_ets.ex:43:12: MishkaInstaller.PluginETS.terminate/221292130 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead2131 │2132 180 │ if Mix.env() == :test, do: Logger.warn("Plugin State of #{element.name} is being pushed")2133 │ ~2134 │2135 └─ lib/plugin_manager/state/plugin_state.ex:180:43: MishkaInstaller.PluginState.push_call/121362137 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead2138 │2139 391 │ Logger.warn(2140 │ ~2141 │2142 └─ lib/plugin_manager/state/plugin_state.ex:391:14: MishkaInstaller.PluginState.terminate/221432144 warning: unused require Logger2145 │2146 88 │ require Logger2147 │ ~2148 │2149 └─ lib/installer/live/dep_getter.ex:88:3215021512152== Compilation error in file lib/database/setting.ex ==2153** (RuntimeError) This module does not exist or is not configured if it is related to Ecto. Please read the documentation at GitHub. 2154 Output: nil.2155 lib/mishka_installer.ex:281: MishkaInstaller.ensure_compiled/12156 lib/database/setting.ex:14: (module)2157could not compile dependency :mishka_installer, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile mishka_installer --force", update it with "mix deps.update mishka_installer" or clean it with "mix deps.clean mishka_installer"