flowy

Build log

nerves_system_bbb

flowy 0.1.6 · fail · run flowy-0.1.6-1791185200071
2216 of 2216 lines
1Resolving Hex dependencies...2Resolution completed in 0.521s3Unchanged:4  castore 1.0.215  circular_buffer 1.1.06  combine 0.10.07  cowboy 2.19.08  cowboy_telemetry 0.4.09  cowlib 2.20.0 VULNERABLE!10    EEF-CVE-2026-43966 (MEDIUM)11    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c12    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/213    https://osv.dev/vulnerability/EEF-CVE-2026-439661415    EEF-CVE-2026-43969 (LOW)16    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5617    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/118    https://osv.dev/vulnerability/EEF-CVE-2026-4396919  db_connection 2.10.220  decimal 3.1.121  earmark 1.4.49 RETIRED! VULNERABLE!22    (deprecated) Earmark is no longer maintained. Migrate to a replacement, for example MDEx (https://hex.pm/packages/mdex).2324    EEF-CVE-2026-48591 (MEDIUM)25    aka: CVE-2026-48591, GHSA-52mm-h59v-f3c726    Stored XSS via unescaped HTML attribute values in earmark27    https://osv.dev/vulnerability/EEF-CVE-2026-4859128  ecto 3.14.229  ecto_sql 3.14.030  elixir_make 0.10.031  esbuild 0.10.032  expo 1.1.133  finch 0.24.034  flowy 0.1.635  gettext 0.26.236  heroicons 0.5.637  hpax 1.1.038  inflex 2.1.039  interactive_cmd 0.1.440  jason 1.4.541  joken 2.7.042  jose 1.11.1243  makeup 1.2.344  makeup_elixir 0.16.245  mime 2.0.746  mint 1.11.047  nerves 2.0.0-pre.248  nerves_discovery 0.1.549  nerves_logging 0.2.450  nerves_runtime 0.13.1351  nerves_system_bbb 2.30.252  nerves_system_br 1.34.453  nerves_system_mangopi_mq_pro 0.17.254  nerves_system_qemu_aarch64 0.4.255  nerves_system_rpi0 2.1.256  nerves_system_rpi4 2.1.257  nerves_system_rpi5 2.1.258  nerves_system_trellis 0.5.059  nerves_system_x86_64 1.34.260  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.161  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.162  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.163  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.164  nerves_toolchain_x86_64_nerves_linux_musl 15.3.165  nerves_uevent 0.1.766  nimble_options 1.1.167  nimble_parsec 1.4.268  nimble_pool 1.1.069  oauth2 2.1.170  octo_fetch 0.5.071  paleta 0.1.072  phoenix 1.7.2473  phoenix_html 3.3.474  phoenix_live_view 0.20.17 VULNERABLE!75    EEF-CVE-2026-64941 (LOW)76    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf77    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR78    https://osv.dev/vulnerability/EEF-CVE-2026-6494179  phoenix_pubsub 2.3.080  phoenix_template 1.1.081  plug 1.20.382  plug_cowboy 2.9.083  plug_crypto 2.2.084  postgrex 0.22.485  prom_ex 1.9.086  property_table 0.3.487  ranch 2.3.088  recase 0.9.189  ring_logger 0.11.790  ssl_verify_fun 1.1.791  tablet 0.3.392  tailwind 0.5.193  telemetry 1.4.294  telemetry_metrics 0.6.295  telemetry_metrics_prometheus_core 1.2.196  telemetry_poller 1.3.097  tesla 1.21.398  timex 3.7.1399  toolshed 0.5.0100  tzdata 1.2.2101  uboot_env 1.0.2102  ueberauth 0.10.5103  ueberauth_okta 0.3.1104  websock 0.5.3105  websock_adapter 0.5.9106* Getting flowy (Hex package)107* Getting nerves (Hex package)108* Getting ring_logger (Hex package)109* Getting toolshed (Hex package)110* Getting nerves_runtime (Hex package)111* Getting nerves_system_bbb (Hex package)112* Getting nerves_system_mangopi_mq_pro (Hex package)113* Getting nerves_system_qemu_aarch64 (Hex package)114* Getting nerves_system_rpi0 (Hex package)115* Getting nerves_system_rpi4 (Hex package)116* Getting nerves_system_rpi5 (Hex package)117* Getting nerves_system_trellis (Hex package)118* Getting nerves_system_x86_64 (Hex package)119* Getting nerves_system_br (Hex package)120* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)121* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)122* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)123* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)124* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)125* Getting nerves_logging (Hex package)126* Getting nerves_uevent (Hex package)127* Getting uboot_env (Hex package)128* Getting elixir_make (Hex package)129* Getting property_table (Hex package)130* Getting circular_buffer (Hex package)131* Getting interactive_cmd (Hex package)132* Getting nerves_discovery (Hex package)133* Getting tablet (Hex package)134* Getting ecto_sql (Hex package)135* Getting finch (Hex package)136* Getting jason (Hex package)137* Getting joken (Hex package)138* Getting nimble_options (Hex package)139* Getting oauth2 (Hex package)140* Getting paleta (Hex package)141* Getting phoenix (Hex package)142* Getting phoenix_live_view (Hex package)143* Getting postgrex (Hex package)144* Getting prom_ex (Hex package)145* Getting recase (Hex package)146* Getting telemetry (Hex package)147* Getting ueberauth (Hex package)148* Getting ueberauth_okta (Hex package)149* Getting plug (Hex package)150* Getting mime (Hex package)151* Getting plug_crypto (Hex package)152* Getting octo_fetch (Hex package)153* Getting plug_cowboy (Hex package)154* Getting telemetry_metrics (Hex package)155* Getting telemetry_metrics_prometheus_core (Hex package)156* Getting telemetry_poller (Hex package)157* Getting cowboy (Hex package)158* Getting cowboy_telemetry (Hex package)159* Getting cowlib (Hex package)160* Getting ranch (Hex package)161* Getting castore (Hex package)162* Getting ssl_verify_fun (Hex package)163* Getting db_connection (Hex package)164* Getting decimal (Hex package)165* Getting phoenix_html (Hex package)166* Getting phoenix_template (Hex package)167* Getting phoenix_pubsub (Hex package)168* Getting websock_adapter (Hex package)169* Getting websock (Hex package)170* Getting earmark (Hex package)171* Getting esbuild (Hex package)172* Getting heroicons (Hex package)173* Getting inflex (Hex package)174* Getting makeup (Hex package)175* Getting makeup_elixir (Hex package)176* Getting tailwind (Hex package)177* Getting timex (Hex package)178* Getting combine (Hex package)179* Getting gettext (Hex package)180* Getting tzdata (Hex package)181* Getting expo (Hex package)182* Getting nimble_parsec (Hex package)183* Getting tesla (Hex package)184* Getting jose (Hex package)185* Getting mint (Hex package)186* Getting nimble_pool (Hex package)187* Getting hpax (Hex package)188* Getting ecto (Hex package)189Found retired packages, see above for details190Found packages with security advisories, see above for details191You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more192==> nerves_system_br193Generated nerves_system_br app194==> combine195Compiling 6 files (.ex)196    warning: the variable "n" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator197    │198 26 │       <<bits::bitstring-size(n), rest::bitstring>> ->199    │                              ~200    │201    └─ lib/combine/parsers/binary.ex:26:30: Combine.Parsers.Binary.bits_impl/2202203    warning: the variable "bits_size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator204    │205 48 │       <<bits::bitstring-size(bits_size), rest::bitstring>> ->206    │                              ~207    │208    └─ lib/combine/parsers/binary.ex:48:30: Combine.Parsers.Binary.bytes_impl/2209210    warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator211    │212 70 │           <<int::big-unsigned-size(size), rest::bitstring>> ->213    │                                    ~214    │215    └─ lib/combine/parsers/binary.ex:70:36: Combine.Parsers.Binary.uint_impl/3216217    warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator218    │219 77 │           <<int::little-unsigned-size(size), rest::bitstring>> ->220    │                                       ~221    │222    └─ lib/combine/parsers/binary.ex:77:39: Combine.Parsers.Binary.uint_impl/3223224     warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator225     │226 101 │           <<int::big-signed-size(size), rest::bitstring>> ->227     │                                  ~228     │229     └─ lib/combine/parsers/binary.ex:101:34: Combine.Parsers.Binary.int_impl/3230231     warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator232     │233 108 │           <<int::little-signed-size(size), rest::bitstring>> ->234     │                                     ~235     │236     └─ lib/combine/parsers/binary.ex:108:37: Combine.Parsers.Binary.int_impl/3237238     warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator239     │240 128 │       <<num::float-size(size), rest::bitstring>> ->241     │                         ~242     │243     └─ lib/combine/parsers/binary.ex:128:25: Combine.Parsers.Binary.float_impl/2244245     warning: the variable "byte_size" (context Combine.Parsers.Text) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator246     │247 432 │         <<^expected::binary-size(byte_size), rest::binary>> ->248     │                                  ~249     │250     └─ lib/combine/parsers/text.ex:432:34: Combine.Parsers.Text.string_impl/2251252     warning: the following clause is redundant:253254         defp word_of_impl(%Combine.ParserState{...} = state, _pattern)255256     it has type:257258         dynamic(%Combine.ParserState{status: :ok}), dynamic()259260     previous clauses have already matched on the following types:261262         %Combine.ParserState{status: :error}, term()263         %Combine.ParserState{status: :ok}, term()264265     │266 488 │   defp word_of_impl(%ParserState{status: :ok} = state, _pattern) do267     │        ~268     │269     └─ lib/combine/parsers/text.ex:488:8: Combine.Parsers.Text.word_of_impl/2270271Generated combine app272==> mime273Compiling 1 file (.ex)274Generated mime app275==> circular_buffer276Compiling 1 file (.ex)277Generated circular_buffer app278==> nimble_options279Compiling 3 files (.ex)280Generated nimble_options app281==> plug_crypto282Compiling 5 files (.ex)283Generated plug_crypto app284==> hpax285Compiling 4 files (.ex)286Generated hpax app287==> recase288Compiling 15 files (.ex)289Generated recase app290==> jose291Compiling 113 files (.erl)292src/jose_server.erl:137:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.293Compile directive 'nowarn_deprecated_catch' can be used to suppress294warnings in selected modules.295%  137| 		_ = catch jose_jwa:unsecured_signing(UnsecuredSigning),296%     | 		    ^297298src/jose_server.erl:797:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.299Compile directive 'nowarn_deprecated_catch' can be used to suppress300warnings in selected modules.301%  797| 	case catch jose_crypto_compat:crypto_one_time(Cipher, Key, PlainText, true) of302%     | 	     ^303304src/jose_server.erl:799:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.305Compile directive 'nowarn_deprecated_catch' can be used to suppress306warnings in selected modules.307%  799| 			case catch jose_crypto_compat:crypto_one_time(Cipher, Key, CipherText, false) of308%     | 			     ^309310src/jose_server.erl:809:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.311Compile directive 'nowarn_deprecated_catch' can be used to suppress312warnings in selected modules.313%  809| 	case catch jose_crypto_compat:crypto_one_time(Cipher, Key, IV, PlainText, true) of314%     | 	     ^315316src/jose_server.erl:811:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.317Compile directive 'nowarn_deprecated_catch' can be used to suppress318warnings in selected modules.319%  811| 			case catch jose_crypto_compat:crypto_one_time(Cipher, Key, IV, CipherText, false) of320%     | 			     ^321322src/jose_server.erl:821:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.323Compile directive 'nowarn_deprecated_catch' can be used to suppress324warnings in selected modules.325%  821| 	case catch jose_crypto_compat:crypto_one_time(Cipher, Key, IV, {AAD, PlainText}, true) of326%     | 	     ^327328src/jose_server.erl:823:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.329Compile directive 'nowarn_deprecated_catch' can be used to suppress330warnings in selected modules.331%  823| 			case catch jose_crypto_compat:crypto_one_time(Cipher, Key, IV, {AAD, CipherText, CipherTag}, false) of332%     | 			     ^333334src/jose_server.erl:837:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.335Compile directive 'nowarn_deprecated_catch' can be used to suppress336warnings in selected modules.337%  837| 	case catch public_key:encrypt_public(PlainText, PublicKey, FutureOptions) of338%     | 	     ^339340src/jose_server.erl:840:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.341Compile directive 'nowarn_deprecated_catch' can be used to suppress342warnings in selected modules.343%  840| 			case catch public_key:decrypt_private(CipherText, PrivateKey, FutureOptions) of344%     | 			     ^345346src/jose_server.erl:842:11: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.347Compile directive 'nowarn_deprecated_catch' can be used to suppress348warnings in selected modules.349%  842| 					case catch public_key:decrypt_private(rsa_ciphertext(Algorithm), PrivateKey, FutureOptions) of350%     | 					     ^351352src/jose_server.erl:859:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.353Compile directive 'nowarn_deprecated_catch' can be used to suppress354warnings in selected modules.355%  859| 	case catch public_key:encrypt_public(PlainText, PublicKey, LegacyOptions) of356%     | 	     ^357358src/jose_server.erl:862:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.359Compile directive 'nowarn_deprecated_catch' can be used to suppress360warnings in selected modules.361%  862| 			case catch public_key:decrypt_private(CipherText, PrivateKey, LegacyOptions) of362%     | 			     ^363364src/jose_server.erl:864:11: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.365Compile directive 'nowarn_deprecated_catch' can be used to suppress366warnings in selected modules.367%  864| 					case catch public_key:decrypt_private(rsa_ciphertext(Algorithm), PrivateKey, LegacyOptions) of368%     | 					     ^369370src/jose_server.erl:882:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.371Compile directive 'nowarn_deprecated_catch' can be used to suppress372warnings in selected modules.373%  882| 	case catch public_key:sign(Message, DigestType, PrivateKey, Options) of374%     | 	     ^375376src/jose_server.erl:885:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.377Compile directive 'nowarn_deprecated_catch' can be used to suppress378warnings in selected modules.379%  885| 			case catch public_key:verify(Message, DigestType, Signature, PublicKey, Options) of380%     | 			     ^381382src/jose_server.erl:897:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.383Compile directive 'nowarn_deprecated_catch' can be used to suppress384warnings in selected modules.385%  897| 	case catch public_key:sign(Message, DigestType, PrivateKey) of386%     | 	     ^387388src/jose_server.erl:900:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.389Compile directive 'nowarn_deprecated_catch' can be used to suppress390warnings in selected modules.391%  900| 			case catch public_key:verify(Message, DigestType, Signature, PublicKey) of392%     | 			     ^393394src/jwa/jose_jwa.erl:230:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.395Compile directive 'nowarn_deprecated_catch' can be used to suppress396warnings in selected modules.397%  230| 	case catch block_cipher(Cipher) of398%     | 	     ^399400src/jwa/jose_jwa.erl:238:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.401Compile directive 'nowarn_deprecated_catch' can be used to suppress402warnings in selected modules.403%  238| 	case catch ?MAYBE_START_JOSE(ets:lookup_element(?TAB, chacha20_poly1305_module, 2)) of404%     | 	     ^405406src/jwa/jose_jwa.erl:246:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.407Compile directive 'nowarn_deprecated_catch' can be used to suppress408warnings in selected modules.409%  246| 	case catch rsa_crypt(Padding) of410%     | 	     ^411412src/jwa/jose_jwa.erl:254:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.413Compile directive 'nowarn_deprecated_catch' can be used to suppress414warnings in selected modules.415%  254| 	case catch rsa_sign(Padding) of416%     | 	     ^417418src/jwa/jose_jwa.erl:262:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.419Compile directive 'nowarn_deprecated_catch' can be used to suppress420warnings in selected modules.421%  262| 	case catch ?MAYBE_START_JOSE(ets:lookup_element(?TAB, xchacha20_poly1305_module, 2)) of422%     | 	     ^423424Compiling 8 files (.ex)425Generated jose app426==> nerves_compatibility_test427===> Analyzing applications...428===> Compiling ranch429==> ssl_verify_fun430Compiling 7 files (.erl)431Generated ssl_verify_fun app432==> tzdata433Compiling 18 files (.ex)434Generated tzdata app435==> tablet436Compiling 2 files (.ex)437Generated tablet app438==> inflex439Compiling 6 files (.ex)440Generated inflex app441==> elixir_make442Compiling 8 files (.ex)443Generated elixir_make app444==> nerves_logging445 CC kmsg_tailer.o446 LD kmsg_tailer447Compiling 5 files (.ex)448Generated nerves_logging app449==> castore450Compiling 1 file (.ex)451Generated castore app452==> octo_fetch453Compiling 3 files (.ex)454Generated octo_fetch app455==> mint456Compiling 1 file (.erl)457Compiling 21 files (.ex)458Generated mint app459==> earmark460Compiling 2 files (.xrl)461Compiling 1 file (.yrl)462Compiling 3 files (.erl)463Compiling 61 files (.ex)464    warning: unused require Logger465    │466  3 │   require Logger467    │   ~468    │469    └─ lib/earmark_parser/line_scanner.ex:3:3470471     warning: this clause of defp _maybe_remove_paras/2 is never used (or it will always fail/warn when invoked)472     │473 616 │   defp _maybe_remove_paras(ast, %Options{inner_html: true}) do474     │        ~475     │476     └─ lib/earmark/transform.ex:616:8: Earmark.Transform._maybe_remove_paras/2477478Generated earmark app479==> nerves_compatibility_test480===> Analyzing applications...481===> Compiling cowlib482==> nerves_discovery483Compiling 5 files (.ex)484Generated nerves_discovery app485==> ring_logger486Compiling 7 files (.ex)487Generated ring_logger app488==> decimal489Compiling 4 files (.ex)490Generated decimal app491==> jason492Compiling 10 files (.ex)493Generated jason app494==> esbuild495Compiling 4 files (.ex)496Generated esbuild app497==> interactive_cmd498Compiling 1 file (.ex)499Generated interactive_cmd app500==> nerves501Compiling 65 files (.ex)502    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)503    │504  6 │ defmodule Mix.Tasks.Nerves.Init do505    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~506    │507    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)508509    warning: redefining module Nerves (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.beam)510    │511  6 │ defmodule Nerves do512    │ ~~~~~~~~~~~~~~~~~~~513    │514    └─ lib/nerves.ex:6: Nerves (module)515516    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)517    │518  5 │ defmodule Nerves.ArtifactResolver do519    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~520    │521    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)522523    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)524    │525  6 │ defmodule Nerves.BuildAction.AppModes do526    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~527    │528    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)529530    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)531    │532  5 │ defmodule Nerves.BuildAction.CheckExecutables do533    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~534    │535    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)536537    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)538    │539  8 │ defmodule Nerves.BuildAction.Erlinit do540    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~541    │542    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)543544    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)545    │546  5 │ defmodule Nerves.BuildAction.Firmware do547    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~548    │549    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)550551    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)552    │553  7 │ defmodule Nerves.BuildAction.IExStartupCheck do554    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~555    │556    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)557558    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)559    │560  5 │ defmodule Nerves.BuildAction.NervesV1System do561    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~562    │563    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)564565    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)566    │567  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do568    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~569    │570    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)571572    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)573    │574  5 │ defmodule Nerves.BuildAction.Rootfs do575    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~576    │577    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)578579    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)580    │581  6 │ defmodule Nerves.BuildAction.SortApps do582    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~583    │584    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)585586    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)587    │588  5 │ defmodule Nerves.BuildAction.StripAll do589    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~590    │591    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)592593    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)594    │595  5 │ defmodule Nerves.BuildAction.Trimmer do596    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~597    │598    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)599600    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)601    │602  5 │ defmodule Nerves.BuildPlan do603    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~604    │605    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)606607    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)608    │609  5 │ defmodule Nerves.BuildPlan.Checks do610    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~611    │612    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)613614    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Container.beam)615    │616  6 │ defmodule Nerves.Container do617    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~618    │619    └─ lib/nerves/container.ex:6: Nerves.Container (module)620621    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)622    │623  5 │ defmodule Nerves.Fingerprint do624    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~625    │626    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)627628    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)629    │630  5 │ defmodule Nerves.MixPackage do631    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~632    │633    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)634635    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Paths.beam)636    │637  5 │ defmodule Nerves.Paths do638    │ ~~~~~~~~~~~~~~~~~~~~~~~~~639    │640    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)641642    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)643    │644  5 │ defmodule Nerves.TargetTuple do645    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~646    │647    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)648649Generated nerves app650==> nerves_toolchain_armv7_nerves_linux_gnueabihf651Compiling 1 file (.ex)652Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app653==> nimble_parsec654Compiling 4 files (.ex)655Generated nimble_parsec app656==> makeup657Compiling 15 files (.ex)658Generated makeup app659==> makeup_elixir660Compiling 6 files (.ex)661Compiling lib/makeup/lexers/elixir_lexer.ex (it's taking more than 10s)662Generated makeup_elixir app663==> nerves_compatibility_test664===> Analyzing applications...665===> Compiling telemetry666==> telemetry_metrics667Compiling 7 files (.ex)668     warning: unused require Logger669     │670 391 │   require Logger671     │   ~672     │673     └─ lib/telemetry_metrics.ex:391:3674675Generated telemetry_metrics app676==> telemetry_metrics_prometheus_core677Compiling 9 files (.ex)678     warning: unused require Logger679     │680 148 │   require Logger681     │   ~682     │683     └─ lib/core.ex:148:3684685warning: first..last inside match is deprecated, you must always match on the step: first..last//var or first..last//_ if you want to ignore it686  lib/core/registry.ex:87: TelemetryMetricsPrometheus.Core.Registry.validate_distribution_buckets!/1687688Generated telemetry_metrics_prometheus_core app689==> nerves_compatibility_test690===> Analyzing applications...691===> Compiling telemetry_poller692==> db_connection693Compiling 18 files (.ex)694Generated db_connection app695==> ecto696Compiling 56 files (.ex)697Generated ecto app698==> nerves_compatibility_test699===> Analyzing applications...700===> Compiling cowboy701==> expo702Compiling 2 files (.erl)703Compiling 22 files (.ex)704Generated expo app705==> gettext706Compiling 18 files (.ex)707     warning: unused require Gettext.Macros708     │709 594 │   require Gettext.Macros710     │   ~711     │712     └─ lib/gettext.ex:594:3713714     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead715     │716 426 │               Kernel.ParallelCompiler.async(fn ->717     │                                       ~718     │719     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3720721     warning: the following clause is redundant:722723         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)724725     it has type:726727         dynamic(%Expo.Message.Plural{})728729     previous clauses have already matched on the following types:730731         %Expo.Message.Singular{}732         %Expo.Message.Plural{}733734     │735 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do736     │        ~737     │738     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1739740Generated gettext app741==> phoenix_pubsub742Compiling 12 files (.ex)743Generated phoenix_pubsub app744==> plug745Compiling 1 file (.erl)746Compiling 42 files (.ex)747Generated plug app748==> ueberauth749Compiling 9 files (.ex)750Generated ueberauth app751==> phoenix_html752Compiling 9 files (.ex)753    warning: comparison between distinct types found:754755        id == nil756757    given types:758759        dynamic(not false and not nil and not binary()) == nil760761    where "id" was given the types:762763        # type: dynamic(not false and not nil)764        # from: lib/phoenix_html/form_data.ex:92:8765        id = Keyword.get(opts, :id) || name766767        # type: dynamic(not false and not nil and not binary())768        # from: lib/phoenix_html/form_data.ex:94:12769        is_binary(id)770771    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 false772773    type warning found at:774    │775 94 │     unless is_binary(id) or is_nil(id) do776    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~777    │778    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2779780    warning: the 1st pattern in clause will never match:781782        60783784    because it is expected to receive type:785786        dynamic(empty_list() or non_empty_list(term(), term()))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 56 │   def to_iodata(?<), do: "&lt;"793    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~794    │795    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1796797    warning: the 1st pattern in clause will never match:798799        62800801    because it is expected to receive type:802803        dynamic(empty_list() or non_empty_list(term(), term()))804805    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())806807    type warning found at:808    │809 57 │   def to_iodata(?>), do: "&gt;"810    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~811    │812    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1813814    warning: the 1st pattern in clause will never match:815816        38817818    because it is expected to receive type:819820        dynamic(empty_list() or non_empty_list(term(), term()))821822    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())823824    type warning found at:825    │826 58 │   def to_iodata(?&), do: "&amp;"827    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~828    │829    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1830831    warning: the 1st pattern in clause will never match:832833        34834835    because it is expected to receive type:836837        dynamic(empty_list() or non_empty_list(term(), term()))838839    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())840841    type warning found at:842    │843 59 │   def to_iodata(?"), do: "&quot;"844    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~845    │846    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1847848    warning: the 1st pattern in clause will never match:849850        39851852    because it is expected to receive type:853854        dynamic(empty_list() or non_empty_list(term(), term()))855856    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())857858    type warning found at:859    │860 60 │   def to_iodata(?'), do: "&#39;"861    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~862    │863    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1864865    warning: the 1st pattern in clause will never match:866867        {:safe, data}868869    because it is expected to receive type:870871        dynamic(empty_list() or non_empty_list(term(), term()))872873    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())874875    type warning found at:876    │877 76 │   def to_iodata({:safe, data}) do878    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~879    │880    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1881882    warning: the following clause is redundant:883884        def to_iodata(other)885886    it has type:887888        dynamic(empty_list() or non_empty_list(term(), term()))889890    previous clauses have already matched on the following types:891892        non_empty_list(term(), term())893        empty_list()894895    │896 80 │   def to_iodata(other) do897    │       ~898    │899    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1900901    warning: the 1st pattern in clause will never match:902903        h904905    because it is expected to receive type:906907        dynamic(empty_list() or non_empty_list(term(), term()))908909    where "h" was given the type:910911        # type: integer()912        # from: lib/phoenix_html/safe.ex:62:25913        is_integer(h)914915    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())916917    type warning found at:918    │919 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do920    │                 ~921    │922    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1923924    warning: the 1st pattern in clause will never match:925926        h927928    because it is expected to receive type:929930        dynamic(empty_list() or non_empty_list(term(), term()))931932    where "h" was given the type:933934        # type: integer()935        # from: lib/phoenix_html/safe.ex:66:25936        is_integer(h)937938    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())939940    type warning found at:941    │942 66 │   def to_iodata(h) when is_integer(h) do943    │                 ~944    │945    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1946947    warning: the 1st pattern in clause will never match:948949        h950951    because it is expected to receive type:952953        dynamic(empty_list() or non_empty_list(term(), term()))954955    where "h" was given the type:956957        # type: binary()958        # from: lib/phoenix_html/safe.ex:72:25959        is_binary(h)960961    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())962963    type warning found at:964    │965 72 │   def to_iodata(h) when is_binary(h) do966    │                 ~967    │968    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1969970Generated phoenix_html app971==> phoenix_template972Compiling 4 files (.ex)973Generated phoenix_template app974warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"975  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2976  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1977  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5978  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2979  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4980  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2981982==> postgrex983Compiling 70 files (.ex)984Generated postgrex app985==> ecto_sql986Compiling 25 files (.ex)987Generated ecto_sql app988==> joken989Compiling 8 files (.ex)990Generated joken app991==> uboot_env992Compiling 5 files (.ex)993Generated uboot_env app994==> timex995Compiling 62 files (.ex)996    warning: default arguments in protocol definitions is deprecated997    │998 84 │   def compare(a, b, granularity \\ :microsecond)999    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1000    │1001    └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)10021003     warning: default arguments in protocol definitions is deprecated1004     │1005 139 │   def diff(a, b, granularity \\ :microsecond)1006     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1007     │1008     └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)10091010    warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/21011    │1012  1 │ defprotocol Timex.Comparable do1013    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1014    │1015    └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)10161017     warning: the variable "len" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1018     │1019 317 │     <<abbrevs::bytes(len), rest::binary>> = data1020     │                      ~1021     │1022     └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/410231024    warning: default arguments in protocol definitions is deprecated1025    │1026 48 │   def to_datetime(datetime, timezone \\ :utc)1027    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1028    │1029    └─ lib/protocol.ex:48: Timex.Protocol (module)10301031    warning: protocols can only define functions without implementation via def/1, found: to_datetime/11032    │1033  1 │ defprotocol Timex.Protocol do1034    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1035    │1036    └─ lib/protocol.ex:1: Timex.Protocol (module)10371038    warning: unused require Timex.Macros1039    │1040  5 │   require Timex.Macros1041    │   ~1042    │1043    └─ lib/comparable/tuple.ex:5:310441045    warning: unused require Timex.Macros1046    │1047  5 │   require Timex.Macros1048    │   ~1049    │1050    └─ lib/comparable/naivedatetime.ex:5:310511052    warning: unused require Bitwise1053    │1054  5 │   require Bitwise1055    │   ~1056    │1057    └─ lib/calendar/julian.ex:5:310581059Compiling lib/l10n/gettext.ex (it's taking more than 10s)1060     warning: the following clause will never match:10611062         {ty, a, b} when ty === :gap or ty === :ambiguous ->10631064     it is expected to match on type:10651066         dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})10671068     where "ty" was given the type:10691070         # type: :ambiguous or :gap1071         # from: lib/timezone/timezone.ex:5481072         ty in [:gap, :ambiguous]10731074     type warning found at:1075     │1076 548 │       {ty, a, b} when ty in [:gap, :ambiguous] ->1077     │       ~1078     │1079     └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/210801081     warning: a struct for Timex.PosixTimezone is expected on struct update:10821083         %Timex.PosixTimezone{rule | std_abbr: abbr}10841085     but got type:10861087         dynamic()10881089     where "rule" was given the type:10901091         # type: dynamic()1092         # from: lib/parse/posix/parser.ex:119:331093         rule10941095     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"10961097     type warning found at:1098     │1099 121 │       parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})1100     │                                   ~1101     │1102     └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/311031104     warning: a struct for Timex.PosixTimezone is expected on struct update:11051106         %Timex.PosixTimezone{rule | std_offset: offset}11071108     but got type:11091110         dynamic()11111112     where "rule" was given the type:11131114         # type: dynamic()1115         # from: lib/parse/posix/parser.ex:125:351116         rule11171118     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11191120     type warning found at:1121     │1122 127 │       parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})1123     │                                 ~1124     │1125     └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/311261127     warning: a struct for Timex.PosixTimezone is expected on struct update:11281129         %Timex.PosixTimezone{rule | dst_abbr: abbr}11301131     but got type:11321133         dynamic()11341135     where "rule" was given the type:11361137         # type: dynamic()1138         # from: lib/parse/posix/parser.ex:141:331139         rule11401141     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11421143     type warning found at:1144     │1145 143 │          rule = %TZ{rule | dst_abbr: abbr} do1146     │                 ~1147     │1148     └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/311491150     warning: a struct for Timex.PosixTimezone is expected on struct update:11511152         %Timex.PosixTimezone{rule | dst_offset: offset}11531154     but got type:11551156         dynamic()11571158     where "rule" was given the type:11591160         # type: dynamic()1161         # from: lib/parse/posix/parser.ex:160:351162         rule11631164     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11651166     type warning found at:1167     │1168 162 │          rule = %TZ{rule | dst_offset: offset} do1169     │                 ~1170     │1171     └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/311721173     warning: a struct for Timex.PosixTimezone is expected on struct update:11741175         %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}11761177     but got type:11781179         dynamic()11801181     where "rule" was given the type:11821183         # type: dynamic()1184         # from: lib/parse/posix/parser.ex:185:361185         rule11861187     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11881189     type warning found at:1190     │1191 190 │           {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}1192     │                 ~1193     │1194     └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/311951196     warning: the following clause will never match:11971198         :error ->11991200     it is expected to match on type:12011202         dynamic({:error, :invalid_number, binary()})12031204     type warning found at:1205     │1206 264 │       :error ->1207     │       ~~~~~~~~~1208     │1209     └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/312101211    warning: the following pattern will never match:12121213        {y, m, d} <- to_erl_datetime(date)12141215    because the right-hand side has type:12161217        dynamic(1218          {:error, :invalid_date} or1219            {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}1220        )12211222    where "date" was given the type:12231224        # type: dynamic({...})1225        # from: lib/datetime/erlang.ex:7:171226        date12271228    type warning found at:1229    │1230  8 │     with {y, m, d} <- to_erl_datetime(date),1231    │          ~1232    │1233    └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/112341235     warning: the following clause is redundant:12361237         def shift(_, _)12381239     it has type:12401241         dynamic(%Date{}), dynamic()12421243     previous clauses have already matched on the following types:12441245         %Date{}, term()12461247     │1248 227 │   def shift(_, _), do: {:error, :badarg}1249     │       ~1250     │1251     └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/212521253     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:12541255         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}12561257     but got type:12581259         dynamic(%{..., leaps: term(), transitions: term()})12601261     where "zone" was given the types:12621263         # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})1264         # from: lib/parse/zoneinfo/parser.ex:156:281265         {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})12661267         # type: dynamic(%{..., transitions: term()})1268         # from: lib/parse/zoneinfo/parser.ex:157:261269         Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)12701271         # type: dynamic(%{..., leaps: term(), transitions: term()})1272         # from: lib/parse/zoneinfo/parser.ex:158:201273         Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)12741275     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"12761277     type warning found at:1278     │1279 159 │       {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}1280     │             ~1281     │1282     └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/212831284     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:12851286         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}12871288     but got type:12891290         dynamic()12911292     where "zone" was given the type:12931294         # type: dynamic()1295         # from: lib/parse/zoneinfo/parser.ex:270:921296         zone12971298     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"12991300     type warning found at:1301     │1302 272 │     parse_transition_info(version, rest, header, %Zone{zone | transitions: times})1303     │                                                  ~1304     │1305     └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/413061307     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13081309         %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}13101311     but got type:13121313         dynamic()13141315     where "zone" was given the type:13161317         # type: dynamic()1318         # from: lib/parse/zoneinfo/parser.ex:330:791319         zone13201321     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13221323     type warning found at:1324     │1325 344 │     parse_flags(version, rest, header, %Zone{zone | leaps: leaps})1326     │                                        ~1327     │1328     └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/413291330     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13311332         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13331334     but got type:13351336         dynamic(%{..., transitions: term()})13371338     where "zone" was given the type:13391340         # type: dynamic(%{..., transitions: term()})1341         # from: lib/parse/zoneinfo/parser.ex:354:151342         Enum.with_index(zone.transitions)13431344     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13451346     type warning found at:1347     │1348 362 │       parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})1349     │                                           ~1350     │1351     └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/413521353     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13541355         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13561357     but got type:13581359         dynamic(%{..., transitions: term()})13601361     where "zone" was given the type:13621363         # type: dynamic(%{..., transitions: term()})1364         # from: lib/parse/zoneinfo/parser.ex:354:151365         Enum.with_index(zone.transitions)13661367     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13681369     type warning found at:1370     │1371 364 │       {:ok, %Zone{zone | transitions: transitions}, rest}1372     │             ~1373     │1374     └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/413751376     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13771378         %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}13791380     but got type:13811382         dynamic()13831384     where "zone" was given the type:13851386         # type: dynamic()1387         # from: lib/parse/zoneinfo/parser.ex:369:621388         zone13891390     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13911392     type warning found at:1393     │1394 372 │       {:ok, %Zone{zone | rule: rule}, format_rest <> rest}1395     │             ~1396     │1397     └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/313981399     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14001401         %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}14021403     but got type:14041405         dynamic()14061407     where "rule" was given the type:14081409         # type: dynamic()1410         # from: lib/parse/zoneinfo/parser.ex:383:331411         rule14121413     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14141415     type warning found at:1416     │1417 385 │       parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})1418     │                                   ~1419     │1420     └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/314211422     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14231424         %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}14251426     but got type:14271428         dynamic()14291430     where "rule" was given the type:14311432         # type: dynamic()1433         # from: lib/parse/zoneinfo/parser.ex:389:351434         rule14351436     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14371438     type warning found at:1439     │1440 391 │       parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})1441     │                                 ~1442     │1443     └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/314441445     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14461447         %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}14481449     but got type:14501451         dynamic()14521453     where "rule" was given the type:14541455         # type: dynamic()1456         # from: lib/parse/zoneinfo/parser.ex:405:331457         rule14581459     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14601461     type warning found at:1462     │1463 407 │          rule = %Rule{rule | dst_abbr: abbr} do1464     │                 ~1465     │1466     └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/314671468     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14691470         %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}14711472     but got type:14731474         dynamic()14751476     where "rule" was given the type:14771478         # type: dynamic()1479         # from: lib/parse/zoneinfo/parser.ex:424:351480         rule14811482     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14831484     type warning found at:1485     │1486 426 │          rule = %Rule{rule | dst_offset: offset} do1487     │                 ~1488     │1489     └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/314901491     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14921493         %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}14941495     but got type:14961497         dynamic()14981499     where "rule" was given the type:15001501         # type: dynamic()1502         # from: lib/parse/zoneinfo/parser.ex:449:361503         rule15041505     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"15061507     type warning found at:1508     │1509 454 │           {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}1510     │                 ~1511     │1512     └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/315131514     warning: the following clause will never match:15151516         :error ->15171518     it is expected to match on type:15191520         dynamic({:error, :invalid_number, binary()})15211522     type warning found at:1523     │1524 528 │       :error ->1525     │       ~~~~~~~~~1526     │1527     └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/315281529Generated timex app1530==> nimble_pool1531Compiling 2 files (.ex)1532Generated nimble_pool app1533==> finch1534Compiling 23 files (.ex)1535Generated finch app1536==> tesla1537Compiling 57 files (.ex)1538Generated tesla app1539==> oauth21540Compiling 13 files (.ex)1541Generated oauth2 app1542==> ueberauth_okta1543Compiling 3 files (.ex)1544    warning: unused require Jason1545    │1546 16 │   require Jason1547    │   ~1548    │1549    └─ lib/ueberauth/strategy/okta/oauth.ex:16:315501551Generated ueberauth_okta app1552==> nerves_system_bbb1553Generated nerves_system_bbb app1554==> property_table1555Compiling 8 files (.ex)1556Generated property_table app1557==> nerves_uevent1558 CC uevent.o1559 LD uevent1560Compiling 5 files (.ex)1561Generated nerves_uevent app1562==> nerves_runtime1563Compiling 14 files (.ex)1564Generated nerves_runtime app1565==> toolshed1566Compiling 5 files (.ex)1567Generated toolshed app1568==> tailwind1569Compiling 3 files (.ex)1570Generated tailwind app1571==> nerves_compatibility_test1572===> Analyzing applications...1573===> Compiling cowboy_telemetry1574==> plug_cowboy1575Compiling 5 files (.ex)1576Generated plug_cowboy app1577==> websock1578Compiling 1 file (.ex)1579Generated websock app1580==> websock_adapter1581Compiling 4 files (.ex)1582Generated websock_adapter app1583warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1584  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21585  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11586  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51587  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21588  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41589  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/215901591==> phoenix1592Compiling 71 files (.ex)1593    warning: unused require Logger1594    │1595  9 │   require Logger1596    │   ~1597    │1598    └─ lib/phoenix/config.ex:9:315991600     warning: unused require Logger1601     │1602 281 │   require Logger1603     │   ~1604     │1605     └─ lib/phoenix/endpoint.ex:281:316061607    warning: unused require Phoenix.Endpoint1608    │1609  6 │   require Phoenix.Endpoint1610    │   ~1611    │1612    └─ lib/phoenix/controller.ex:6:316131614    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 operator1615    │1616 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1617    │                             ~1618    │1619    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/216201621    warning: unused require Phoenix.Endpoint1622    │1623 17 │   require Phoenix.Endpoint1624    │   ~1625    │1626    └─ lib/phoenix/endpoint/render_errors.ex:17:316271628    warning: unused require Phoenix.Endpoint1629    │1630  6 │   require Phoenix.Endpoint1631    │   ~1632    │1633    └─ lib/phoenix/channel/server.ex:6:316341635    warning: unused require Logger1636    │1637 70 │   require Logger1638    │   ~1639    │1640    └─ lib/phoenix/socket/pool_supervisor.ex:70:316411642     warning: unused require Phoenix.Endpoint1643     │1644 202 │   require Phoenix.Endpoint1645     │   ~1646     │1647     └─ lib/phoenix/socket.ex:202:316481649     warning: unused require Logger1650     │1651 100 │   require Logger1652     │   ~1653     │1654     └─ lib/phoenix/token.ex:100:316551656     warning: comparison between distinct types found:16571658         merge_all != []16591660     given types:16611662         dynamic(non_empty_list({atom(), term()})) != empty_list()16631664     where "merge_all" was given the type:16651666         # type: dynamic(non_empty_list({atom(), term()}))1667         # from: lib/phoenix/router/route.ex:121:151668         merge_all = merge_params ++ merge_private ++ merge_assigns16691670     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 false16711672     type warning found at:1673     │1674 123 │     if merge_all != [] do1675     │                  ~1676     │1677     └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/116781679    warning: a struct for Plug.Conn is expected on struct update:16801681        %Plug.Conn{conn | state: :sent}16821683    but got type:16841685        dynamic()16861687    where "conn" was given the type:16881689        # type: dynamic()1690        # from: lib/phoenix/endpoint/render_errors.ex:55:171691        conn16921693    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"16941695    type warning found at:1696    │1697 60 │           %Plug.Conn{conn | state: :sent}1698    │           ~1699    │1700    └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/517011702     warning: a struct for Plug.Conn is expected on struct update:17031704         %Plug.Conn{conn | query_params: %{}, params: %{}}17051706     but got type:17071708         dynamic(%{..., params: %Plug.Conn.Unfetched{}})17091710     where "conn" was given the types:17111712         # type: dynamic(%{..., params: term()})1713         # from: lib/phoenix/endpoint/render_errors.ex:133:171714         conn.params17151716         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1717         # from: lib/phoenix/endpoint/render_errors.ex:133:171718         conn.params17191720     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17211722     type warning found at:1723     │1724 134 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1725     │                                   ~1726     │1727     └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/117281729     warning: a struct for Plug.Conn is expected on struct update:17301731         %Plug.Conn{conn | query_params: %{}, params: params}17321733     but got type:17341735         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})17361737     where "conn" was given the types:17381739         # type: dynamic(%{..., params: term()})1740         # from: lib/phoenix/endpoint/render_errors.ex:133:171741         conn.params17421743         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1744         # from: lib/phoenix/endpoint/render_errors.ex:133:171745         conn.params17461747     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17481749     type warning found at:1750     │1751 135 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1752     │                   ~1753     │1754     └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/117551756      warning: a struct for Plug.Conn is expected on struct update:17571758          %Plug.Conn{conn | params: params}17591760      but got type:17611762          dynamic(%{..., params: map()})17631764      where "conn" was given the type:17651766          # type: dynamic(%{..., params: map()})1767          # from: lib/phoenix/controller.ex:1327:171768          Map.get(conn.params, required_key)17691770      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17711772      type warning found at:1773      │1774 1334 │     %Plug.Conn{conn | params: params}1775      │     ~1776      │1777      └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/217781779Generated phoenix app1780warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1781  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21782  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11783  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51784  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21785  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41786  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/217871788==> phoenix_live_view1789Compiling 39 files (.ex)1790    warning: unused require Logger1791    │1792 48 │   require Logger1793    │   ~1794    │1795    └─ lib/phoenix_live_view/socket.ex:48:317961797     warning: unused require Phoenix.ChannelTest1798     │1799 183 │   require Phoenix.ChannelTest1800     │   ~1801     │1802     └─ lib/phoenix_live_view/test/live_view_test.ex:183:318031804     warning: unused require Phoenix.ConnTest1805     │1806 182 │   require Phoenix.ConnTest1807     │   ~1808     │1809     └─ lib/phoenix_live_view/test/live_view_test.ex:182:318101811    warning: unused require Phoenix.ChannelTest1812    │1813  5 │   require Phoenix.ChannelTest1814    │   ~1815    │1816    └─ lib/phoenix_live_view/test/upload_client.ex:5:318171818    warning: unused require Logger1819    │1820  6 │   require Logger1821    │   ~1822    │1823    └─ lib/phoenix_live_view/upload_channel.ex:6:318241825     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:18261827         %Phoenix.LiveView.Socket{1828           socket1829           | assigns: Map.merge(temp_assigns, socket.assigns),1830             private:1831               Map.update(1832                 socket.private,1833                 :temporary_assigns,1834                 temp_assigns,1835                 &Map.merge(&1, temp_assigns)1836               )1837         }18381839     but got type:18401841         dynamic()18421843     where "socket" was given the type:18441845         # type: dynamic()1846         # from: lib/phoenix_live_view/utils.ex:415:281847         socket18481849     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"18501851     type warning found at:1852     │1853 422 │     %Socket{1854     │     ~1855     │1856     └─ lib/phoenix_live_view/utils.ex:422:5: Phoenix.LiveView.Utils.handle_mount_option/318571858    warning: the following clause will never match:18591860        {:error, reason} ->18611862    because it attempts to match on the result of:18631864        IO.binwrite(state.file, data)18651866    which has type:18671868        dynamic(not {:error, term()})18691870    type warning found at:1871    │1872 23 │       {:error, reason} -> {:error, reason, state}1873    │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1874    │1875    └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/218761877     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18781879         %Phoenix.LiveView.UploadEntry{1880           entry1881           | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)1882         }18831884     but got type:18851886         dynamic()18871888     where "entry" was given the type:18891890         # type: dynamic()1891         # from: lib/phoenix_live_view/upload_config.ex:362:171892         entry <- conf.entries18931894     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"18951896     type warning found at:1897     │1898 363 │         %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}1899     │         ~1900     │1901     └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/219021903     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19041905         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}19061907     but got type:19081909         dynamic()19101911     where "entry" was given the type:19121913         # type: dynamic()1914         # from: lib/phoenix_live_view/upload_config.ex:572:301915         entry19161917     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19181919     type warning found at:1920     │1921 573 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1922     │             ~1923     │1924     └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/219251926      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 1378 │   def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1943      │       ~1944      │1945      └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/319461947     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19481949         %Phoenix.LiveView.UploadEntry{entry | valid?: false}19501951     but got type:19521953         dynamic()19541955     where "entry" was given the type:19561957         # type: dynamic()1958         # from: lib/phoenix_live_view/upload_config.ex:585:321959         entry19601961     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19621963     type warning found at:1964     │1965 586 │     entry = %UploadEntry{entry | valid?: false}1966     │             ~1967     │1968     └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/319691970     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19711972         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}19731974     but got type:19751976         dynamic()19771978     where "entry" was given the type:19791980         # type: dynamic()1981         # from: lib/phoenix_live_view/upload_config.ex:669:421982         entry19831984     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19851986     type warning found at:1987     │1988 669 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1989     │                                                   ~1990     │1991     └─ lib/phoenix_live_view/upload_config.ex:669:51: Phoenix.LiveView.UploadConfig.cancel_entry/219921993    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1994    │1995 73 │     Logger.disable(self())1996    │            ~1997    │1998    └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/119992000     warning: the right-hand side of || (shown as ... below) will never be executed:20012002         conn.private[:live_view_connect_info] || prune_conn(conn) || ...20032004     because the left-hand side always evaluates to:20052006         dynamic(not false and not nil)20072008     where "conn" was given the types:20092010         # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})2011         # from: lib/phoenix_live_view/test/live_view_test.ex:319:722012         %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn20132014         # type: dynamic(%Plug.Conn{2015           assigns: %{..., live_module: term()},2016           private:2017             %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or2018               non_struct_map(),2019           status: integer()2020         })2021         # from: lib/phoenix_live_view/test/live_view_test.ex:333:352022         conn.private[:live_view_connect_params]20232024     type warning found at:2025     │2026 334 │       connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},2027     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2028     │2029     └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/220302031     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:20322033         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}20342035     but got type:20362037         dynamic(%{..., rendered: map()})20382039     where "view" was given the type:20402041         # type: dynamic(%{..., rendered: map()})2042         # from: lib/phoenix_live_view/test/client_proxy.ex:727:262043         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)20442045     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"20462047     type warning found at:2048     │2049 728 │           new_view = %ClientProxy{view | rendered: rendered}2050     │                      ~2051     │2052     └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/320532054     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:20552056         %Phoenix.LiveView.Socket{2057           socket2058           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}2059         }20602061     but got type:20622063         dynamic(%{..., assigns: term()})20642065     where "socket" was given the type:20662067         # type: dynamic(%{..., assigns: term()})2068         # from: lib/phoenix_live_view/renderer.ex:121:432069         %{assigns: assigns} = socket20702071     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"20722073     type warning found at:2074     │2075 122 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}2076     │              ~2077     │2078     └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/120792080     warning: the following pattern will never match:20812082         template = Phoenix.LiveView.Utils.normalize_layout(template)20832084     because the right-hand side has type:20852086         none()20872088     where "template" was given the types:20892090         # type: binary()2091         # from: lib/phoenix_live_view/router.ex:299:662092         is_binary(template)20932094         # type: binary()2095         # from: lib/phoenix_live_view/router.ex2096         {:root_layout, {mod, template}}20972098     type warning found at:2099     │2100 300 │         template = Phoenix.LiveView.Utils.normalize_layout(template)2101     │                  ~2102     │2103     └─ lib/phoenix_live_view/router.ex:300:18: Phoenix.LiveView.Router.validate_live_session_opts/321042105     warning: the following pattern will never match:21062107         template = Phoenix.LiveView.Utils.normalize_layout(template)21082109     because the right-hand side has type:21102111         none()21122113     where "template" was given the types:21142115         # type: binary()2116         # from: lib/phoenix_live_view/router.ex:316:612117         is_binary(template)21182119         # type: binary()2120         # from: lib/phoenix_live_view/router.ex2121         {:layout, {mod, template}}21222123     type warning found at:2124     │2125 317 │         template = Phoenix.LiveView.Utils.normalize_layout(template)2126     │                  ~2127     │2128     └─ lib/phoenix_live_view/router.ex:317:18: Phoenix.LiveView.Router.validate_live_session_opts/321292130     warning: the following clause is redundant:21312132         def to_iodata(%_{} = struct)21332134     it has type:21352136         dynamic(%Phoenix.LiveView.Rendered{})21372138     previous clauses have already matched on the following types:21392140         %Phoenix.LiveView.Rendered{}21412142     │2143 152 │     def to_iodata(%_{} = struct) do2144     │         ~2145     │2146     └─ lib/phoenix_live_view/engine.ex:152:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121472148     warning: the 1st pattern in clause will never match:21492150         nil21512152     because it is expected to receive type:21532154         dynamic(%Phoenix.LiveView.Rendered{})21552156     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}21572158     type warning found at:2159     │2160 156 │     def to_iodata(nil) do2161     │     ~~~~~~~~~~~~~~~~~~~~~2162     │2163     └─ lib/phoenix_live_view/engine.ex:156: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121642165     warning: the following clause is redundant:21662167         def to_iodata(other)21682169     it has type:21702171         dynamic(%Phoenix.LiveView.Rendered{})21722173     previous clauses have already matched on the following types:21742175         %Phoenix.LiveView.Rendered{}21762177     │2178 160 │     def to_iodata(other) do2179     │         ~2180     │2181     └─ lib/phoenix_live_view/engine.ex:160:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121822183     warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)2184     │2185 903 │   defp class_names(nil), do: []2186     │        ~2187     │2188     └─ lib/phoenix_live_view/js.ex:903:8: Phoenix.LiveView.JS.class_names/121892190Generated phoenix_live_view app2191warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"2192  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/22193  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/12194  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52195  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22196  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42197  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/221982199==> heroicons2200Compiling 3 files (.ex)2201Compiling lib/heroicons.ex (it's taking more than 10s)2202Generated heroicons app2203==> paleta2204Compiling 67 files (.ex)2205    error: undefined function live_component/2 (expected Paleta.Components.AppHeader to define such a function or for it to be imported, but none are available)2206    │2207 56 │             <%= live_component(Paleta.Components.Live.GlobalSearch,2208    │                 ^^^^^^^^^^^^^^2209    │2210    └─ lib/components/app_header.ex:56:17: Paleta.Components.AppHeader."app_header (overridable 1)"/1221122122213== Compilation error in file lib/components/app_header.ex ==2214** (CompileError) lib/components/app_header.ex: cannot compile module Paleta.Components.AppHeader (errors have been logged)22152216could not compile dependency :paleta, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile paleta --force", update it with "mix deps.update paleta" or clean it with "mix deps.clean paleta"