Build log
nerves_system_bbb
kino_live_view_native 0.2.2 · fail · run kino_live_view_native-0.2.2-1790967424002
1625 of 1625 lines
1Resolving Hex dependencies...2Resolution completed in 0.524s3Unchanged:4 castore 1.0.215 circular_buffer 1.1.06 cowboy 2.19.07 cowboy_telemetry 0.4.08 cowlib 2.20.0 VULNERABLE!9 EEF-CVE-2026-43966 (MEDIUM)10 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c11 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/212 https://osv.dev/vulnerability/EEF-CVE-2026-439661314 EEF-CVE-2026-43969 (LOW)15 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5616 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/117 https://osv.dev/vulnerability/EEF-CVE-2026-4396918 decimal 3.1.119 deep_merge 1.0.220 dns_cluster 0.1.321 ecto 3.14.222 elixir_make 0.10.023 esbuild 0.10.024 expo 1.1.125 file_system 1.1.126 finch 0.24.027 floki 0.38.428 fss 0.1.129 gettext 0.26.230 hpax 1.1.031 interactive_cmd 0.1.432 jason 1.4.533 kino 0.12.334 kino_live_view_native 0.2.235 live_view_native 0.2.036 live_view_native_platform 0.2.037 live_view_native_stylesheet 0.2.038 live_view_native_swiftui 0.2.139 makeup 1.2.240 makeup_json 0.1.141 makeup_swift 0.0.242 mime 2.0.743 mint 1.11.044 nerves 2.0.0-pre.245 nerves_discovery 0.1.546 nerves_logging 0.2.447 nerves_runtime 0.13.1348 nerves_system_bbb 2.30.249 nerves_system_br 1.34.450 nerves_system_mangopi_mq_pro 0.17.251 nerves_system_qemu_aarch64 0.4.252 nerves_system_rpi0 2.1.253 nerves_system_rpi4 2.1.254 nerves_system_rpi5 2.1.255 nerves_system_trellis 0.5.056 nerves_system_x86_64 1.34.257 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.158 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.159 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.160 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.161 nerves_toolchain_x86_64_nerves_linux_musl 15.3.162 nerves_uevent 0.1.763 nimble_options 1.1.164 nimble_parsec 1.4.265 nimble_pool 1.1.066 owl 0.13.167 phoenix 1.7.2468 phoenix_html 3.3.469 phoenix_live_dashboard 0.8.770 phoenix_live_reload 1.7.071 phoenix_live_view 0.20.2 VULNERABLE!72 EEF-CVE-2026-64941 (LOW)73 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf74 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR75 https://osv.dev/vulnerability/EEF-CVE-2026-6494176 phoenix_pubsub 2.3.077 phoenix_template 1.1.078 phoenix_view 2.0.479 plug 1.20.380 plug_cowboy 2.9.081 plug_crypto 2.2.082 property_table 0.3.483 ranch 2.3.084 ring_logger 0.11.785 table 0.1.286 tablet 0.3.387 tailwind 0.2.488 telemetry 1.4.289 telemetry_metrics 0.6.290 telemetry_poller 1.3.091 toolshed 0.5.092 uboot_env 1.0.293 websock 0.5.394 websock_adapter 0.5.995* Getting kino_live_view_native (Hex package)96* Getting nerves (Hex package)97* Getting ring_logger (Hex package)98* Getting toolshed (Hex package)99* Getting nerves_runtime (Hex package)100* Getting nerves_system_bbb (Hex package)101* Getting nerves_system_mangopi_mq_pro (Hex package)102* Getting nerves_system_qemu_aarch64 (Hex package)103* Getting nerves_system_rpi0 (Hex package)104* Getting nerves_system_rpi4 (Hex package)105* Getting nerves_system_rpi5 (Hex package)106* Getting nerves_system_trellis (Hex package)107* Getting nerves_system_x86_64 (Hex package)108* Getting nerves_system_br (Hex package)109* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)110* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)111* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)112* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)113* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)114* Getting nerves_logging (Hex package)115* Getting nerves_uevent (Hex package)116* Getting uboot_env (Hex package)117* Getting elixir_make (Hex package)118* Getting property_table (Hex package)119* Getting circular_buffer (Hex package)120* Getting interactive_cmd (Hex package)121* Getting nerves_discovery (Hex package)122* Getting tablet (Hex package)123* Getting dns_cluster (Hex package)124* Getting esbuild (Hex package)125* Getting finch (Hex package)126* Getting floki (Hex package)127* Getting gettext (Hex package)128* Getting jason (Hex package)129* Getting kino (Hex package)130* Getting live_view_native (Hex package)131* Getting live_view_native_swiftui (Hex package)132* Getting phoenix (Hex package)133* Getting phoenix_html (Hex package)134* Getting phoenix_live_dashboard (Hex package)135* Getting phoenix_live_reload (Hex package)136* Getting phoenix_live_view (Hex package)137* Getting plug_cowboy (Hex package)138* Getting tailwind (Hex package)139* Getting telemetry_metrics (Hex package)140* Getting telemetry_poller (Hex package)141* Getting telemetry (Hex package)142* Getting castore (Hex package)143* Getting cowboy (Hex package)144* Getting cowboy_telemetry (Hex package)145* Getting plug (Hex package)146* Getting mime (Hex package)147* Getting plug_crypto (Hex package)148* Getting cowlib (Hex package)149* Getting ranch (Hex package)150* Getting phoenix_template (Hex package)151* Getting file_system (Hex package)152* Getting phoenix_pubsub (Hex package)153* Getting websock_adapter (Hex package)154* Getting websock (Hex package)155* Getting live_view_native_platform (Hex package)156* Getting live_view_native_stylesheet (Hex package)157* Getting makeup_json (Hex package)158* Getting makeup_swift (Hex package)159* Getting nimble_parsec (Hex package)160* Getting makeup (Hex package)161* Getting ecto (Hex package)162* Getting decimal (Hex package)163* Getting deep_merge (Hex package)164* Getting owl (Hex package)165* Getting phoenix_view (Hex package)166* Getting fss (Hex package)167* Getting table (Hex package)168* Getting expo (Hex package)169* Getting mint (Hex package)170* Getting nimble_options (Hex package)171* Getting nimble_pool (Hex package)172* Getting hpax (Hex package)173Found packages with security advisories, see above for details174You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more175==> nerves_system_br176Generated nerves_system_br app177==> file_system178Compiling 7 files (.ex)179Generated file_system app180==> floki181Compiling 1 file (.xrl)182Compiling 2 files (.erl)183Compiling 30 files (.ex)184Generated floki app185==> mime186Compiling 1 file (.ex)187Generated mime app188==> circular_buffer189Compiling 1 file (.ex)190Generated circular_buffer app191==> nimble_options192Compiling 3 files (.ex)193Generated nimble_options app194==> plug_crypto195Compiling 5 files (.ex)196Generated plug_crypto app197==> hpax198Compiling 4 files (.ex)199Generated hpax app200==> nerves_compatibility_test201===> Analyzing applications...202===> Compiling ranch203==> tablet204Compiling 2 files (.ex)205Generated tablet app206==> owl207Compiling 19 files (.ex)208Generated owl app209==> elixir_make210Compiling 8 files (.ex)211Generated elixir_make app212==> nerves_logging213 CC kmsg_tailer.o214 LD kmsg_tailer215Compiling 5 files (.ex)216Generated nerves_logging app217==> castore218Compiling 1 file (.ex)219Generated castore app220==> mint221Compiling 1 file (.erl)222Compiling 21 files (.ex)223Generated mint app224==> nerves_compatibility_test225===> Analyzing applications...226===> Compiling cowlib227==> nerves_discovery228Compiling 5 files (.ex)229Generated nerves_discovery app230==> ring_logger231Compiling 7 files (.ex)232Generated ring_logger app233==> deep_merge234Compiling 2 files (.ex)235Generated deep_merge app236==> decimal237Compiling 4 files (.ex)238Generated decimal app239==> jason240Compiling 10 files (.ex)241Generated jason app242==> esbuild243Compiling 4 files (.ex)244Generated esbuild app245==> table246Compiling 5 files (.ex)247Generated table app248==> interactive_cmd249Compiling 1 file (.ex)250Generated interactive_cmd app251==> nerves252Compiling 65 files (.ex)253 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)254 │255 6 │ defmodule Mix.Tasks.Nerves.Init do256 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~257 │258 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)259260 warning: redefining module Nerves (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.beam)261 │262 6 │ defmodule Nerves do263 │ ~~~~~~~~~~~~~~~~~~~264 │265 └─ lib/nerves.ex:6: Nerves (module)266267 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)268 │269 5 │ defmodule Nerves.ArtifactResolver do270 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~271 │272 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)273274 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)275 │276 6 │ defmodule Nerves.BuildAction.AppModes do277 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~278 │279 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)280281 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)282 │283 5 │ defmodule Nerves.BuildAction.CheckExecutables do284 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~285 │286 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)287288 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)289 │290 8 │ defmodule Nerves.BuildAction.Erlinit do291 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~292 │293 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)294295 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)296 │297 5 │ defmodule Nerves.BuildAction.Firmware do298 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~299 │300 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)301302 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)303 │304 7 │ defmodule Nerves.BuildAction.IExStartupCheck do305 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~306 │307 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)308309 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)310 │311 5 │ defmodule Nerves.BuildAction.NervesV1System do312 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~313 │314 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)315316 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)317 │318 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do319 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~320 │321 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)322323 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)324 │325 5 │ defmodule Nerves.BuildAction.Rootfs do326 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~327 │328 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)329330 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)331 │332 6 │ defmodule Nerves.BuildAction.SortApps do333 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~334 │335 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)336337 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)338 │339 5 │ defmodule Nerves.BuildAction.StripAll do340 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~341 │342 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)343344 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)345 │346 5 │ defmodule Nerves.BuildAction.Trimmer do347 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~348 │349 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)350351 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)352 │353 5 │ defmodule Nerves.BuildPlan do354 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~355 │356 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)357358 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)359 │360 5 │ defmodule Nerves.BuildPlan.Checks do361 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~362 │363 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)364365 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Container.beam)366 │367 6 │ defmodule Nerves.Container do368 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~369 │370 └─ lib/nerves/container.ex:6: Nerves.Container (module)371372 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)373 │374 5 │ defmodule Nerves.Fingerprint do375 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~376 │377 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)378379 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)380 │381 5 │ defmodule Nerves.MixPackage do382 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~383 │384 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)385386 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Paths.beam)387 │388 5 │ defmodule Nerves.Paths do389 │ ~~~~~~~~~~~~~~~~~~~~~~~~~390 │391 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)392393 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)394 │395 5 │ defmodule Nerves.TargetTuple do396 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~397 │398 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)399400Generated nerves app401==> nerves_toolchain_armv7_nerves_linux_gnueabihf402Compiling 1 file (.ex)403Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app404==> nimble_parsec405Compiling 4 files (.ex)406Generated nimble_parsec app407==> makeup408Compiling 15 files (.ex)409Generated makeup app410==> makeup_swift411Compiling 3 files (.ex)412 warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause413 │414 233 │ defparsec(415 │ ~~~~~~~~~~416 │417 └─ lib/makeup/lexers/swift_lexer.ex:233418419 warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause420 │421 233 │ defparsec(422 │ ~~~~~~~~~~423 │424 └─ lib/makeup/lexers/swift_lexer.ex:233425426 warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause427 │428 233 │ defparsec(429 │ ~~~~~~~~~~430 │431 └─ lib/makeup/lexers/swift_lexer.ex:233432433Generated makeup_swift app434==> nerves_compatibility_test435===> Analyzing applications...436===> Compiling telemetry437==> telemetry_metrics438Compiling 7 files (.ex)439 warning: unused require Logger440 │441 391 │ require Logger442 │ ~443 │444 └─ lib/telemetry_metrics.ex:391:3445446Generated telemetry_metrics app447==> nerves_compatibility_test448===> Analyzing applications...449===> Compiling telemetry_poller450==> ecto451Compiling 56 files (.ex)452Generated ecto app453==> nerves_compatibility_test454===> Analyzing applications...455===> Compiling cowboy456==> expo457Compiling 2 files (.erl)458Compiling 22 files (.ex)459Generated expo app460==> gettext461Compiling 18 files (.ex)462 warning: unused require Gettext.Macros463 │464 594 │ require Gettext.Macros465 │ ~466 │467 └─ lib/gettext.ex:594:3468469 warning: the following clause is redundant:470471 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)472473 it has type:474475 dynamic(%Expo.Message.Plural{})476477 previous clauses have already matched on the following types:478479 %Expo.Message.Singular{}480 %Expo.Message.Plural{}481482 │483 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do484 │ ~485 │486 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1487488 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead489 │490 426 │ Kernel.ParallelCompiler.async(fn ->491 │ ~492 │493 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3494495Generated gettext app496==> phoenix_pubsub497Compiling 12 files (.ex)498Generated phoenix_pubsub app499==> live_view_native_stylesheet500Compiling 14 files (.ex)501Generated live_view_native_stylesheet app502==> dns_cluster503Compiling 1 file (.ex)504 warning: comparison between distinct types found:505506 net_state.started != :no507508 given types:509510 dynamic(not :no) != :no511512 where "net_state" was given the types:513514 # type: dynamic()515 # from: lib/dns_cluster.ex:166:8516 net_state517518 # type: dynamic(not false and not nil)519 # from: lib/dns_cluster.ex:166:8520 net_state521522 # type: dynamic(%{..., started: term()})523 # from: lib/dns_cluster.ex:169:25524 net_state.started == :no525526 # type: dynamic(%{..., started: not :no})527 # from: lib/dns_cluster.ex:179:25528 net_state.started == :no529530 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 false531532 type warning found at:533 │534 180 │ (!release? and net_state.started != :no and net_state[:name_domain] != :longnames) ->535 │ ~536 │537 └─ lib/dns_cluster.ex:180:44: DNSCluster.warn_on_invalid_dist/0538539Generated dns_cluster app540==> makeup_json541Compiling 3 files (.ex)542Generated makeup_json app543==> fss544Compiling 4 files (.ex)545Generated fss app546==> kino547Compiling 47 files (.ex)548 warning: unused require Logger549 │550 4 │ require Logger551 │ ~552 │553 └─ lib/kino/smart_cell/server.ex:4:3554555 warning: unused require Logger556 │557 183 │ require Logger558 │ ~559 │560 └─ lib/kino/smart_cell.ex:183:3561562 warning: you are implementing a protocol for Nx.Heatmap but said module is not available. Make sure the module name is correct. If Nx.Heatmap is an optional dependency, please wrap the protocol implementation in a Code.ensure_loaded?(Nx.Heatmap) check563 │564 239 │ defimpl Kino.Render, for: Nx.Heatmap do565 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~566 │567 └─ lib/kino/render.ex:239: (file)568569 warning: comparison between distinct types found:570571 assets_path != nil572573 given types:574575 dynamic(binary() or empty_list() or non_empty_list(term(), term())) != nil576577 where "assets_path" was given the types:578579 # type: dynamic(nil or binary() or empty_list() or non_empty_list(term(), term()))580 # from: lib/kino/js.ex:253:19581 __paths__(assets_path)582583 # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))584 # from: lib/kino/js.ex:257:25585 Path.join(assets_path, path)586587 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 false588589 type warning found at:590 │591 266 │ assets_path_defined? = assets_path != nil592 │ ~593 │594 └─ lib/kino/js.ex:266:40: Kino.JS.__before_compile__/1595596Generated kino app597==> plug598Compiling 1 file (.erl)599Compiling 42 files (.ex)600Generated plug app601==> phoenix_html602Compiling 9 files (.ex)603 warning: comparison between distinct types found:604605 id == nil606607 given types:608609 dynamic(not false and not nil and not binary()) == nil610611 where "id" was given the types:612613 # type: dynamic(not false and not nil)614 # from: lib/phoenix_html/form_data.ex:92:8615 id = Keyword.get(opts, :id) || name616617 # type: dynamic(not false and not nil and not binary())618 # from: lib/phoenix_html/form_data.ex:94:12619 is_binary(id)620621 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 false622623 type warning found at:624 │625 94 │ unless is_binary(id) or is_nil(id) do626 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~627 │628 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2629630 warning: the 1st pattern in clause will never match:631632 60633634 because it is expected to receive type:635636 dynamic(empty_list() or non_empty_list(term(), term()))637638 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())639640 type warning found at:641 │642 56 │ def to_iodata(?<), do: "<"643 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~644 │645 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1646647 warning: the 1st pattern in clause will never match:648649 62650651 because it is expected to receive type:652653 dynamic(empty_list() or non_empty_list(term(), term()))654655 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())656657 type warning found at:658 │659 57 │ def to_iodata(?>), do: ">"660 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~661 │662 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1663664 warning: the 1st pattern in clause will never match:665666 38667668 because it is expected to receive type:669670 dynamic(empty_list() or non_empty_list(term(), term()))671672 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())673674 type warning found at:675 │676 58 │ def to_iodata(?&), do: "&"677 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~678 │679 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1680681 warning: the 1st pattern in clause will never match:682683 34684685 because it is expected to receive type:686687 dynamic(empty_list() or non_empty_list(term(), term()))688689 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())690691 type warning found at:692 │693 59 │ def to_iodata(?"), do: """694 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~695 │696 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1697698 warning: the 1st pattern in clause will never match:699700 39701702 because it is expected to receive type:703704 dynamic(empty_list() or non_empty_list(term(), term()))705706 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())707708 type warning found at:709 │710 60 │ def to_iodata(?'), do: "'"711 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~712 │713 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1714715 warning: the 1st pattern in clause will never match:716717 {:safe, data}718719 because it is expected to receive type:720721 dynamic(empty_list() or non_empty_list(term(), term()))722723 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())724725 type warning found at:726 │727 76 │ def to_iodata({:safe, data}) do728 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~729 │730 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1731732 warning: the following clause is redundant:733734 def to_iodata(other)735736 it has type:737738 dynamic(empty_list() or non_empty_list(term(), term()))739740 previous clauses have already matched on the following types:741742 non_empty_list(term(), term())743 empty_list()744745 │746 80 │ def to_iodata(other) do747 │ ~748 │749 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1750751 warning: the 1st pattern in clause will never match:752753 h754755 because it is expected to receive type:756757 dynamic(empty_list() or non_empty_list(term(), term()))758759 where "h" was given the type:760761 # type: integer()762 # from: lib/phoenix_html/safe.ex:62:25763 is_integer(h)764765 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())766767 type warning found at:768 │769 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do770 │ ~771 │772 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1773774 warning: the 1st pattern in clause will never match:775776 h777778 because it is expected to receive type:779780 dynamic(empty_list() or non_empty_list(term(), term()))781782 where "h" was given the type:783784 # type: integer()785 # from: lib/phoenix_html/safe.ex:66:25786 is_integer(h)787788 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())789790 type warning found at:791 │792 66 │ def to_iodata(h) when is_integer(h) do793 │ ~794 │795 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1796797 warning: the 1st pattern in clause will never match:798799 h800801 because it is expected to receive type:802803 dynamic(empty_list() or non_empty_list(term(), term()))804805 where "h" was given the type:806807 # type: binary()808 # from: lib/phoenix_html/safe.ex:72:25809 is_binary(h)810811 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())812813 type warning found at:814 │815 72 │ def to_iodata(h) when is_binary(h) do816 │ ~817 │818 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1819820Generated phoenix_html app821==> phoenix_template822Compiling 4 files (.ex)823Generated phoenix_template app824==> live_view_native_platform825Compiling 11 files (.ex)826 warning: "else" clauses will never match because all patterns in "with" will always match827 │828 38 │ with spec <- Application.spec(otp_app),829 │ ~830 │831 └─ lib/live_view_native_platform/env.ex:38:5832833 warning: the following clause will never match:834835 error ->836837 it is expected to match on type:838839 none()840841 type warning found at:842 │843 64 │ error ->844 │ ~845 │846 └─ lib/live_view_native_platform/env.ex:64:7: LiveViewNativePlatform.Env.define/2847848Generated live_view_native_platform app849==> phoenix_view850Compiling 1 file (.ex)851 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 operator852 │853 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix854 │ ~855 │856 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2857858Generated phoenix_view app859==> uboot_env860Compiling 5 files (.ex)861Generated uboot_env app862==> nimble_pool863Compiling 2 files (.ex)864Generated nimble_pool app865==> finch866Compiling 23 files (.ex)867Generated finch app868==> nerves_system_bbb869Generated nerves_system_bbb app870==> property_table871Compiling 8 files (.ex)872Generated property_table app873==> nerves_uevent874 CC uevent.o875 LD uevent876Compiling 5 files (.ex)877Generated nerves_uevent app878==> nerves_runtime879Compiling 14 files (.ex)880Generated nerves_runtime app881==> toolshed882Compiling 5 files (.ex)883Generated toolshed app884==> tailwind885Compiling 3 files (.ex)886Generated tailwind app887==> nerves_compatibility_test888===> Analyzing applications...889===> Compiling cowboy_telemetry890==> plug_cowboy891Compiling 5 files (.ex)892Generated plug_cowboy app893==> websock894Compiling 1 file (.ex)895Generated websock app896==> websock_adapter897Compiling 4 files (.ex)898Generated websock_adapter app899warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"900 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2901 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1902 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5903 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2904 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4905 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2906907==> phoenix908Compiling 71 files (.ex)909 warning: unused require Logger910 │911 9 │ require Logger912 │ ~913 │914 └─ lib/phoenix/config.ex:9:3915916 warning: unused require Logger917 │918 281 │ require Logger919 │ ~920 │921 └─ lib/phoenix/endpoint.ex:281:3922923 warning: unused require Phoenix.Endpoint924 │925 6 │ require Phoenix.Endpoint926 │ ~927 │928 └─ lib/phoenix/controller.ex:6:3929930 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 operator931 │932 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix933 │ ~934 │935 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2936937 warning: unused require Phoenix.Endpoint938 │939 17 │ require Phoenix.Endpoint940 │ ~941 │942 └─ lib/phoenix/endpoint/render_errors.ex:17:3943944 warning: unused require Phoenix.Endpoint945 │946 6 │ require Phoenix.Endpoint947 │ ~948 │949 └─ lib/phoenix/channel/server.ex:6:3950951 warning: unused require Phoenix.Endpoint952 │953 202 │ require Phoenix.Endpoint954 │ ~955 │956 └─ lib/phoenix/socket.ex:202:3957958 warning: unused require Logger959 │960 70 │ require Logger961 │ ~962 │963 └─ lib/phoenix/socket/pool_supervisor.ex:70:3964965 warning: unused require Logger966 │967 100 │ require Logger968 │ ~969 │970 └─ lib/phoenix/token.ex:100:3971972 warning: comparison between distinct types found:973974 merge_all != []975976 given types:977978 dynamic(non_empty_list({atom(), term()})) != empty_list()979980 where "merge_all" was given the type:981982 # type: dynamic(non_empty_list({atom(), term()}))983 # from: lib/phoenix/router/route.ex:121:15984 merge_all = merge_params ++ merge_private ++ merge_assigns985986 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 false987988 type warning found at:989 │990 123 │ if merge_all != [] do991 │ ~992 │993 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/1994995 warning: a struct for Plug.Conn is expected on struct update:996997 %Plug.Conn{conn | state: :sent}998999 but got type:10001001 dynamic()10021003 where "conn" was given the type:10041005 # type: dynamic()1006 # from: lib/phoenix/endpoint/render_errors.ex:55:171007 conn10081009 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10101011 type warning found at:1012 │1013 60 │ %Plug.Conn{conn | state: :sent}1014 │ ~1015 │1016 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/510171018 warning: a struct for Plug.Conn is expected on struct update:10191020 %Plug.Conn{conn | query_params: %{}, params: %{}}10211022 but got type:10231024 dynamic(%{..., params: %Plug.Conn.Unfetched{}})10251026 where "conn" was given the types:10271028 # type: dynamic(%{..., params: term()})1029 # from: lib/phoenix/endpoint/render_errors.ex:133:171030 conn.params10311032 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1033 # from: lib/phoenix/endpoint/render_errors.ex:133:171034 conn.params10351036 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10371038 type warning found at:1039 │1040 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1041 │ ~1042 │1043 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110441045 warning: a struct for Plug.Conn is expected on struct update:10461047 %Plug.Conn{conn | query_params: %{}, params: params}10481049 but got type:10501051 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})10521053 where "conn" was given the types:10541055 # type: dynamic(%{..., params: term()})1056 # from: lib/phoenix/endpoint/render_errors.ex:133:171057 conn.params10581059 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1060 # from: lib/phoenix/endpoint/render_errors.ex:133:171061 conn.params10621063 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10641065 type warning found at:1066 │1067 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1068 │ ~1069 │1070 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110711072 warning: a struct for Plug.Conn is expected on struct update:10731074 %Plug.Conn{conn | params: params}10751076 but got type:10771078 dynamic(%{..., params: map()})10791080 where "conn" was given the type:10811082 # type: dynamic(%{..., params: map()})1083 # from: lib/phoenix/controller.ex:1327:171084 Map.get(conn.params, required_key)10851086 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10871088 type warning found at:1089 │1090 1334 │ %Plug.Conn{conn | params: params}1091 │ ~1092 │1093 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/210941095Generated phoenix app1096==> phoenix_live_reload1097Compiling 5 files (.ex)1098Generated phoenix_live_reload app1099warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1100 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21101 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11102 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51103 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21104 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41105 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211061107==> phoenix_live_view1108Compiling 39 files (.ex)1109 warning: unused require Logger1110 │1111 48 │ require Logger1112 │ ~1113 │1114 └─ lib/phoenix_live_view/socket.ex:48:311151116 warning: unused require Phoenix.ChannelTest1117 │1118 183 │ require Phoenix.ChannelTest1119 │ ~1120 │1121 └─ lib/phoenix_live_view/test/live_view_test.ex:183:311221123 warning: unused require Phoenix.ConnTest1124 │1125 182 │ require Phoenix.ConnTest1126 │ ~1127 │1128 └─ lib/phoenix_live_view/test/live_view_test.ex:182:311291130 warning: unused require Phoenix.ChannelTest1131 │1132 5 │ require Phoenix.ChannelTest1133 │ ~1134 │1135 └─ lib/phoenix_live_view/test/upload_client.ex:5:311361137 warning: unused require Logger1138 │1139 6 │ require Logger1140 │ ~1141 │1142 └─ lib/phoenix_live_view/upload_channel.ex:6:311431144 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:11451146 %Phoenix.LiveView.Socket{1147 socket1148 | assigns: Map.merge(temp_assigns, socket.assigns),1149 private: Map.put(socket.private, :temporary_assigns, temp_assigns)1150 }11511152 but got type:11531154 dynamic()11551156 where "socket" was given the type:11571158 # type: dynamic()1159 # from: lib/phoenix_live_view/utils.ex:528:211160 socket11611162 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"11631164 type warning found at:1165 │1166 535 │ %Socket{1167 │ ~1168 │1169 └─ lib/phoenix_live_view/utils.ex:535:5: Phoenix.LiveView.Utils.do_mount_opt/311701171 warning: the following clause will never match:11721173 {:error, reason} ->11741175 because it attempts to match on the result of:11761177 IO.binwrite(state.file, data)11781179 which has type:11801181 dynamic(not {:error, term()})11821183 type warning found at:1184 │1185 23 │ {:error, reason} -> {:error, reason, state}1186 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1187 │1188 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/211891190 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11911192 %Phoenix.LiveView.UploadEntry{1193 entry1194 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs_awaiting)1195 }11961197 but got type:11981199 dynamic()12001201 where "entry" was given the type:12021203 # type: dynamic()1204 # from: lib/phoenix_live_view/upload_config.ex:363:171205 entry <- conf.entries12061207 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12081209 type warning found at:1210 │1211 364 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs_awaiting}1212 │ ~1213 │1214 └─ lib/phoenix_live_view/upload_config.ex:364:9: Phoenix.LiveView.UploadConfig.mark_preflighted/112151216 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12171218 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}12191220 but got type:12211222 dynamic()12231224 where "entry" was given the type:12251226 # type: dynamic()1227 # from: lib/phoenix_live_view/upload_config.ex:579:301228 entry12291230 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12311232 type warning found at:1233 │1234 580 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1235 │ ~1236 │1237 └─ lib/phoenix_live_view/upload_config.ex:580:13: Phoenix.LiveView.UploadConfig.put_valid_entry/212381239 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12401241 %Phoenix.LiveView.UploadEntry{entry | valid?: false}12421243 but got type:12441245 dynamic()12461247 where "entry" was given the type:12481249 # type: dynamic()1250 # from: lib/phoenix_live_view/upload_config.ex:592:321251 entry12521253 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12541255 type warning found at:1256 │1257 593 │ entry = %UploadEntry{entry | valid?: false}1258 │ ~1259 │1260 └─ lib/phoenix_live_view/upload_config.ex:593:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/312611262 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12631264 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}12651266 but got type:12671268 dynamic()12691270 where "entry" was given the type:12711272 # type: dynamic()1273 # from: lib/phoenix_live_view/upload_config.ex:676:421274 entry12751276 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12771278 type warning found at:1279 │1280 676 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1281 │ ~1282 │1283 └─ lib/phoenix_live_view/upload_config.ex:676:51: Phoenix.LiveView.UploadConfig.cancel_entry/212841285 warning: the following clause is redundant:12861287 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)12881289 it has type:12901291 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))12921293 previous clauses have already matched on the following types:12941295 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1296 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1297 term(), term(), (none(), none() -> term())1298 term(), term(), (none() -> term())12991300 │1301 1366 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1302 │ ~1303 │1304 └─ lib/phoenix_component.ex:1366:7: Phoenix.Component.update/313051306 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1307 │1308 73 │ Logger.disable(self())1309 │ ~1310 │1311 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/113121313 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:13141315 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}13161317 but got type:13181319 dynamic(%{..., rendered: map()})13201321 where "view" was given the type:13221323 # type: dynamic(%{..., rendered: map()})1324 # from: lib/phoenix_live_view/test/client_proxy.ex:739:241325 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)13261327 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"13281329 type warning found at:1330 │1331 740 │ new_view = %ClientProxy{view | rendered: rendered}1332 │ ~1333 │1334 └─ lib/phoenix_live_view/test/client_proxy.ex:740:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/313351336 warning: the right-hand side of || (shown as ... below) will never be executed:13371338 conn.private[:live_view_connect_info] || prune_conn(conn) || ...13391340 because the left-hand side always evaluates to:13411342 dynamic(not false and not nil)13431344 where "conn" was given the types:13451346 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1347 # from: lib/phoenix_live_view/test/live_view_test.ex:324:721348 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn13491350 # type: dynamic(%Plug.Conn{1351 assigns: %{..., live_module: term()},1352 private:1353 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1354 non_struct_map(),1355 status: integer()1356 })1357 # from: lib/phoenix_live_view/test/live_view_test.ex:338:351358 conn.private[:live_view_connect_params]13591360 type warning found at:1361 │1362 339 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1363 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1364 │1365 └─ lib/phoenix_live_view/test/live_view_test.ex:339: Phoenix.LiveViewTest.connect_from_static_token/213661367 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13681369 %Phoenix.LiveView.Socket{1370 socket1371 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1372 }13731374 but got type:13751376 dynamic(%{..., assigns: term()})13771378 where "socket" was given the type:13791380 # type: dynamic(%{..., assigns: term()})1381 # from: lib/phoenix_live_view/renderer.ex:121:431382 %{assigns: assigns} = socket13831384 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13851386 type warning found at:1387 │1388 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1389 │ ~1390 │1391 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/113921393 warning: the following pattern will never match:13941395 template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")13961397 because the right-hand side has type:13981399 none()14001401 where "template" was given the types:14021403 # type: binary()1404 # from: lib/phoenix_live_view/router.ex:288:661405 is_binary(template)14061407 # type: binary()1408 # from: lib/phoenix_live_view/router.ex1409 {:root_layout, {mod, template}}14101411 type warning found at:1412 │1413 289 │ template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")1414 │ ~1415 │1416 └─ lib/phoenix_live_view/router.ex:289:18: Phoenix.LiveView.Router.validate_live_session_opts/314171418 warning: the following pattern will never match:14191420 template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")14211422 because the right-hand side has type:14231424 none()14251426 where "template" was given the types:14271428 # type: binary()1429 # from: lib/phoenix_live_view/router.ex:305:611430 is_binary(template)14311432 # type: binary()1433 # from: lib/phoenix_live_view/router.ex1434 {:layout, {mod, template}}14351436 type warning found at:1437 │1438 306 │ template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")1439 │ ~1440 │1441 └─ lib/phoenix_live_view/router.ex:306:18: Phoenix.LiveView.Router.validate_live_session_opts/314421443 warning: the following clause is redundant:14441445 def to_iodata(%_{} = struct)14461447 it has type:14481449 dynamic(%Phoenix.LiveView.Rendered{})14501451 previous clauses have already matched on the following types:14521453 %Phoenix.LiveView.Rendered{}14541455 │1456 153 │ def to_iodata(%_{} = struct) do1457 │ ~1458 │1459 └─ lib/phoenix_live_view/engine.ex:153:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114601461 warning: the 1st pattern in clause will never match:14621463 nil14641465 because it is expected to receive type:14661467 dynamic(%Phoenix.LiveView.Rendered{})14681469 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}14701471 type warning found at:1472 │1473 157 │ def to_iodata(nil) do1474 │ ~~~~~~~~~~~~~~~~~~~~~1475 │1476 └─ lib/phoenix_live_view/engine.ex:157: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114771478 warning: the following clause is redundant:14791480 def to_iodata(other)14811482 it has type:14831484 dynamic(%Phoenix.LiveView.Rendered{})14851486 previous clauses have already matched on the following types:14871488 %Phoenix.LiveView.Rendered{}14891490 │1491 161 │ def to_iodata(other) do1492 │ ~1493 │1494 └─ lib/phoenix_live_view/engine.ex:161:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114951496 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1497 │1498 799 │ defp class_names(nil), do: []1499 │ ~1500 │1501 └─ lib/phoenix_live_view/js.ex:799:8: Phoenix.LiveView.JS.class_names/115021503Generated phoenix_live_view app1504==> live_view_native1505Compiling 21 files (.ex)1506 warning: the following clause will never match:15071508 _ ->15091510 it is expected to match on type:15111512 none()15131514 type warning found at:1515 │1516 31 │ _ ->1517 │ ~1518 │1519 └─ lib/live_view_native/templates.ex:31:7: LiveViewNative.Templates.compile_class_tree/315201521Generated live_view_native app1522warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1523 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21524 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11525 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51526 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21527 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41528 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/215291530==> phoenix_live_dashboard1531Compiling 36 files (.ex)1532 warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1533 │1534 281 │ do: struct.to_string(value)1535 │ ~1536 │1537 └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:281:16: Phoenix.LiveDashboard.EctoStatsPage.format/215381539Generated phoenix_live_dashboard app1540==> live_view_native_swiftui1541Compiling 14 files (.ex)1542 warning: unused require Logger1543 │1544 12 │ require Logger1545 │ ~1546 │1547 └─ lib/live_view_native/swiftui/platform.ex:12:515481549Compiling lib/live_view_native/swiftui/rules_parser/modifiers.ex (it's taking more than 10s)1550 warning: the following clause will never match:15511552 {:., annotations, [nil, part]} ->15531554 because it attempts to match on the result of:15551556 outer15571558 which has type:15591560 dynamic(atom())15611562 type warning found at:1563 │1564 96 │ {:., annotations, [nil, part]} ->1565 │ ~1566 │1567 └─ lib/live_view_native/swiftui/rules_parser/post_processors.ex:96:9: LiveViewNative.SwiftUI.RulesParser.PostProcessors.combine_chain_ast_parts/215681569Generated live_view_native_swiftui app1570==> kino_live_view_native1571Compiling 19 files (.ex)1572 warning: unused require IEx.Helpers1573 │1574 3 │ require IEx.Helpers1575 │ ~1576 │1577 └─ lib/server/smart_cells/live_view_native.ex:3:315781579warning: defining a Gettext backend by calling15801581 use Gettext, otp_app: ...15821583is deprecated. To define a backend, call:15841585 use Gettext.Backend, otp_app: :my_app15861587Then, instead of importing your backend, call this in your module:15881589 use Gettext, backend: MyApp.Gettext15901591 lib/server_web/gettext.ex:23: ServerWeb.Gettext (module)15921593 warning: variable "params" is unused (if the variable is not meant to be used, prefix it with an underscore)1594 │1595 4 │ def mount(params, session, socket) do1596 │ ~~~~~~1597 │1598 └─ lib/server_web/live/hello_live.ex:4:13: ServerWeb.HelloLive.mount/315991600 warning: variable "session" is unused (if the variable is not meant to be used, prefix it with an underscore)1601 │1602 4 │ def mount(params, session, socket) do1603 │ ~~~~~~~1604 │1605 └─ lib/server_web/live/hello_live.ex:4:21: ServerWeb.HelloLive.mount/316061607 warning: variable "assigns" is unused (if the variable is not meant to be used, prefix it with an underscore)1608 │1609 8 │ def render(assigns = %{format: :swiftui}) do1610 │ ~~~~~~~1611 │1612 └─ lib/server_web/live/hello_live.ex:8:14: ServerWeb.HelloLive.render/116131614 error: undefined function sigil_SWIFTUI/2 (expected ServerWeb.HelloLive to define such a function or for it to be imported, but none are available)1615 │1616 9 │ ~SWIFTUI"""1617 │ ^^^^^^^^^^^^^1618 │1619 └─ lib/server_web/live/hello_live.ex:9:5: ServerWeb.HelloLive.render/1162016211622== Compilation error in file lib/server_web/live/hello_live.ex ==1623** (CompileError) lib/server_web/live/hello_live.ex: cannot compile module ServerWeb.HelloLive (errors have been logged)16241625could not compile dependency :kino_live_view_native, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile kino_live_view_native --force", update it with "mix deps.update kino_live_view_native" or clean it with "mix deps.clean kino_live_view_native"