kino_live_view_native

Build log

nerves_system_x86_64

kino_live_view_native 0.2.2 · fail · run kino_live_view_native-0.2.2-1790967424002
1051 of 1051 lines
1Resolving Hex dependencies...2Resolution completed in 0.49s3Unchanged: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==> file_system176Compiling 7 files (.ex)177Generated file_system app178==> floki179Compiling 1 file (.xrl)180Compiling 2 files (.erl)181Compiling 30 files (.ex)182Generated floki app183==> owl184Compiling 19 files (.ex)185Generated owl app186==> nerves_compatibility_test187===> Analyzing applications...188===> Compiling cowlib189==> esbuild190Compiling 4 files (.ex)191Generated esbuild app192==> makeup193Compiling 15 files (.ex)194Generated makeup app195==> makeup_swift196Compiling 3 files (.ex)197     warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause198     │199 233 │   defparsec(200     │   ~~~~~~~~~~201     │202     └─ lib/makeup/lexers/swift_lexer.ex:233203204     warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause205     │206 233 │   defparsec(207     │   ~~~~~~~~~~208     │209     └─ lib/makeup/lexers/swift_lexer.ex:233210211     warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause212     │213 233 │   defparsec(214     │   ~~~~~~~~~~215     │216     └─ lib/makeup/lexers/swift_lexer.ex:233217218Generated makeup_swift app219==> telemetry_metrics220Compiling 7 files (.ex)221     warning: unused require Logger222     │223 391 │   require Logger224     │   ~225     │226     └─ lib/telemetry_metrics.ex:391:3227228Generated telemetry_metrics app229==> nerves_compatibility_test230===> Analyzing applications...231===> Compiling telemetry_poller232===> Analyzing applications...233===> Compiling cowboy234==> live_view_native_stylesheet235Compiling 14 files (.ex)236Generated live_view_native_stylesheet app237==> dns_cluster238Compiling 1 file (.ex)239     warning: comparison between distinct types found:240241         net_state.started != :no242243     given types:244245         dynamic(not :no) != :no246247     where "net_state" was given the types:248249         # type: dynamic()250         # from: lib/dns_cluster.ex:166:8251         net_state252253         # type: dynamic(not false and not nil)254         # from: lib/dns_cluster.ex:166:8255         net_state256257         # type: dynamic(%{..., started: term()})258         # from: lib/dns_cluster.ex:169:25259         net_state.started == :no260261         # type: dynamic(%{..., started: not :no})262         # from: lib/dns_cluster.ex:179:25263         net_state.started == :no264265     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 false266267     type warning found at:268     │269 180 │           (!release? and net_state.started != :no and net_state[:name_domain] != :longnames) ->270     │                                            ~271     │272     └─ lib/dns_cluster.ex:180:44: DNSCluster.warn_on_invalid_dist/0273274Generated dns_cluster app275==> makeup_json276Compiling 3 files (.ex)277Generated makeup_json app278==> live_view_native_platform279Compiling 11 files (.ex)280    warning: "else" clauses will never match because all patterns in "with" will always match281    │282 38 │     with spec <- Application.spec(otp_app),283    │     ~284    │285    └─ lib/live_view_native_platform/env.ex:38:5286287    warning: the following clause will never match:288289        error ->290291    it is expected to match on type:292293        none()294295    type warning found at:296    │297 64 │       error ->298    │       ~299    │300    └─ lib/live_view_native_platform/env.ex:64:7: LiveViewNativePlatform.Env.define/2301302Generated live_view_native_platform app303==> phoenix_view304Compiling 1 file (.ex)305     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 operator306     │307 655 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix308     │                             ~309     │310     └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2311312Generated phoenix_view app313==> tailwind314Compiling 3 files (.ex)315Generated tailwind app316==> nerves_compatibility_test317===> Analyzing applications...318===> Compiling cowboy_telemetry319==> plug_cowboy320Compiling 5 files (.ex)321Generated plug_cowboy app322==> websock_adapter323Compiling 4 files (.ex)324Generated websock_adapter app325warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"326  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2327  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1328  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5329  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2330  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4331  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2332333==> phoenix334Compiling 71 files (.ex)335    warning: unused require Logger336    │337  9 │   require Logger338    │   ~339    │340    └─ lib/phoenix/config.ex:9:3341342     warning: unused require Logger343     │344 281 │   require Logger345     │   ~346     │347     └─ lib/phoenix/endpoint.ex:281:3348349    warning: unused require Phoenix.Endpoint350    │351  6 │   require Phoenix.Endpoint352    │   ~353    │354    └─ lib/phoenix/controller.ex:6:3355356    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 operator357    │358 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix359    │                             ~360    │361    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2362363    warning: unused require Phoenix.Endpoint364    │365 17 │   require Phoenix.Endpoint366    │   ~367    │368    └─ lib/phoenix/endpoint/render_errors.ex:17:3369370    warning: unused require Phoenix.Endpoint371    │372  6 │   require Phoenix.Endpoint373    │   ~374    │375    └─ lib/phoenix/channel/server.ex:6:3376377     warning: unused require Phoenix.Endpoint378     │379 202 │   require Phoenix.Endpoint380     │   ~381     │382     └─ lib/phoenix/socket.ex:202:3383384    warning: unused require Logger385    │386 70 │   require Logger387    │   ~388    │389    └─ lib/phoenix/socket/pool_supervisor.ex:70:3390391     warning: unused require Logger392     │393 100 │   require Logger394     │   ~395     │396     └─ lib/phoenix/token.ex:100:3397398     warning: comparison between distinct types found:399400         merge_all != []401402     given types:403404         dynamic(non_empty_list({atom(), term()})) != empty_list()405406     where "merge_all" was given the type:407408         # type: dynamic(non_empty_list({atom(), term()}))409         # from: lib/phoenix/router/route.ex:121:15410         merge_all = merge_params ++ merge_private ++ merge_assigns411412     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 false413414     type warning found at:415     │416 123 │     if merge_all != [] do417     │                  ~418     │419     └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/1420421    warning: a struct for Plug.Conn is expected on struct update:422423        %Plug.Conn{conn | state: :sent}424425    but got type:426427        dynamic()428429    where "conn" was given the type:430431        # type: dynamic()432        # from: lib/phoenix/endpoint/render_errors.ex:55:17433        conn434435    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"436437    type warning found at:438    │439 60 │           %Plug.Conn{conn | state: :sent}440    │           ~441    │442    └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/5443444     warning: a struct for Plug.Conn is expected on struct update:445446         %Plug.Conn{conn | query_params: %{}, params: %{}}447448     but got type:449450         dynamic(%{..., params: %Plug.Conn.Unfetched{}})451452     where "conn" was given the types:453454         # type: dynamic(%{..., params: term()})455         # from: lib/phoenix/endpoint/render_errors.ex:133:17456         conn.params457458         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})459         # from: lib/phoenix/endpoint/render_errors.ex:133:17460         conn.params461462     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"463464     type warning found at:465     │466 134 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}467     │                                   ~468     │469     └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1470471     warning: a struct for Plug.Conn is expected on struct update:472473         %Plug.Conn{conn | query_params: %{}, params: params}474475     but got type:476477         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})478479     where "conn" was given the types:480481         # type: dynamic(%{..., params: term()})482         # from: lib/phoenix/endpoint/render_errors.ex:133:17483         conn.params484485         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})486         # from: lib/phoenix/endpoint/render_errors.ex:133:17487         conn.params488489     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"490491     type warning found at:492     │493 135 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}494     │                   ~495     │496     └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1497498      warning: a struct for Plug.Conn is expected on struct update:499500          %Plug.Conn{conn | params: params}501502      but got type:503504          dynamic(%{..., params: map()})505506      where "conn" was given the type:507508          # type: dynamic(%{..., params: map()})509          # from: lib/phoenix/controller.ex:1327:17510          Map.get(conn.params, required_key)511512      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"513514      type warning found at:515      │516 1334 │     %Plug.Conn{conn | params: params}517      │     ~518      │519      └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/2520521Generated phoenix app522==> phoenix_live_reload523Compiling 5 files (.ex)524Generated phoenix_live_reload app525warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"526  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2527  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1528  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5529  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2530  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4531  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2532533==> phoenix_live_view534Compiling 39 files (.ex)535    warning: unused require Logger536    │537 48 │   require Logger538    │   ~539    │540    └─ lib/phoenix_live_view/socket.ex:48:3541542    warning: unused require Phoenix.ChannelTest543    │544  5 │   require Phoenix.ChannelTest545    │   ~546    │547    └─ lib/phoenix_live_view/test/upload_client.ex:5:3548549     warning: unused require Phoenix.ChannelTest550     │551 183 │   require Phoenix.ChannelTest552     │   ~553     │554     └─ lib/phoenix_live_view/test/live_view_test.ex:183:3555556     warning: unused require Phoenix.ConnTest557     │558 182 │   require Phoenix.ConnTest559     │   ~560     │561     └─ lib/phoenix_live_view/test/live_view_test.ex:182:3562563    warning: unused require Logger564    │565  6 │   require Logger566    │   ~567    │568    └─ lib/phoenix_live_view/upload_channel.ex:6:3569570    warning: the following clause will never match:571572        {:error, reason} ->573574    because it attempts to match on the result of:575576        IO.binwrite(state.file, data)577578    which has type:579580        dynamic(not {:error, term()})581582    type warning found at:583    │584 23 │       {:error, reason} -> {:error, reason, state}585    │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~586    │587    └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/2588589     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:590591         %Phoenix.LiveView.Socket{592           socket593           | assigns: Map.merge(temp_assigns, socket.assigns),594             private: Map.put(socket.private, :temporary_assigns, temp_assigns)595         }596597     but got type:598599         dynamic()600601     where "socket" was given the type:602603         # type: dynamic()604         # from: lib/phoenix_live_view/utils.ex:528:21605         socket606607     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"608609     type warning found at:610     │611 535 │     %Socket{612     │     ~613     │614     └─ lib/phoenix_live_view/utils.ex:535:5: Phoenix.LiveView.Utils.do_mount_opt/3615616      warning: the following clause is redundant:617618          def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)619620      it has type:621622          dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))623624      previous clauses have already matched on the following types:625626          %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())627          %Phoenix.LiveView.Socket{}, term(), (none() -> term())628          term(), term(), (none(), none() -> term())629          term(), term(), (none() -> term())630631      │632 1366 │   def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do633      │       ~634      │635      └─ lib/phoenix_component.ex:1366:7: Phoenix.Component.update/3636637     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:638639         %Phoenix.LiveView.UploadEntry{640           entry641           | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs_awaiting)642         }643644     but got type:645646         dynamic()647648     where "entry" was given the type:649650         # type: dynamic()651         # from: lib/phoenix_live_view/upload_config.ex:363:17652         entry <- conf.entries653654     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"655656     type warning found at:657     │658 364 │         %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs_awaiting}659     │         ~660     │661     └─ lib/phoenix_live_view/upload_config.ex:364:9: Phoenix.LiveView.UploadConfig.mark_preflighted/1662663     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:664665         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}666667     but got type:668669         dynamic()670671     where "entry" was given the type:672673         # type: dynamic()674         # from: lib/phoenix_live_view/upload_config.ex:579:30675         entry676677     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"678679     type warning found at:680     │681 580 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}682     │             ~683     │684     └─ lib/phoenix_live_view/upload_config.ex:580:13: Phoenix.LiveView.UploadConfig.put_valid_entry/2685686     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:687688         %Phoenix.LiveView.UploadEntry{entry | valid?: false}689690     but got type:691692         dynamic()693694     where "entry" was given the type:695696         # type: dynamic()697         # from: lib/phoenix_live_view/upload_config.ex:592:32698         entry699700     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"701702     type warning found at:703     │704 593 │     entry = %UploadEntry{entry | valid?: false}705     │             ~706     │707     └─ lib/phoenix_live_view/upload_config.ex:593:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/3708709    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead710    │711 73 │     Logger.disable(self())712    │            ~713    │714    └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/1715716     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:717718         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}719720     but got type:721722         dynamic()723724     where "entry" was given the type:725726         # type: dynamic()727         # from: lib/phoenix_live_view/upload_config.ex:676:42728         entry729730     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"731732     type warning found at:733     │734 676 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)735     │                                                   ~736     │737     └─ lib/phoenix_live_view/upload_config.ex:676:51: Phoenix.LiveView.UploadConfig.cancel_entry/2738739     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:740741         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}742743     but got type:744745         dynamic(%{..., rendered: map()})746747     where "view" was given the type:748749         # type: dynamic(%{..., rendered: map()})750         # from: lib/phoenix_live_view/test/client_proxy.ex:739:24751         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)752753     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"754755     type warning found at:756     │757 740 │         new_view = %ClientProxy{view | rendered: rendered}758     │                    ~759     │760     └─ lib/phoenix_live_view/test/client_proxy.ex:740:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/3761762     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:763764         %Phoenix.LiveView.Socket{765           socket766           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}767         }768769     but got type:770771         dynamic(%{..., assigns: term()})772773     where "socket" was given the type:774775         # type: dynamic(%{..., assigns: term()})776         # from: lib/phoenix_live_view/renderer.ex:121:43777         %{assigns: assigns} = socket778779     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"780781     type warning found at:782     │783 122 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}784     │              ~785     │786     └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/1787788     warning: the right-hand side of || (shown as ... below) will never be executed:789790         conn.private[:live_view_connect_info] || prune_conn(conn) || ...791792     because the left-hand side always evaluates to:793794         dynamic(not false and not nil)795796     where "conn" was given the types:797798         # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})799         # from: lib/phoenix_live_view/test/live_view_test.ex:324:72800         %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn801802         # type: dynamic(%Plug.Conn{803           assigns: %{..., live_module: term()},804           private:805             %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or806               non_struct_map(),807           status: integer()808         })809         # from: lib/phoenix_live_view/test/live_view_test.ex:338:35810         conn.private[:live_view_connect_params]811812     type warning found at:813     │814 339 │       connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},815     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~816     │817     └─ lib/phoenix_live_view/test/live_view_test.ex:339: Phoenix.LiveViewTest.connect_from_static_token/2818819     warning: the following pattern will never match:820821         template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")822823     because the right-hand side has type:824825         none()826827     where "template" was given the types:828829         # type: binary()830         # from: lib/phoenix_live_view/router.ex:288:66831         is_binary(template)832833         # type: binary()834         # from: lib/phoenix_live_view/router.ex835         {:root_layout, {mod, template}}836837     type warning found at:838     │839 289 │         template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")840     │                  ~841     │842     └─ lib/phoenix_live_view/router.ex:289:18: Phoenix.LiveView.Router.validate_live_session_opts/3843844     warning: the following pattern will never match:845846         template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")847848     because the right-hand side has type:849850         none()851852     where "template" was given the types:853854         # type: binary()855         # from: lib/phoenix_live_view/router.ex:305:61856         is_binary(template)857858         # type: binary()859         # from: lib/phoenix_live_view/router.ex860         {:layout, {mod, template}}861862     type warning found at:863     │864 306 │         template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")865     │                  ~866     │867     └─ lib/phoenix_live_view/router.ex:306:18: Phoenix.LiveView.Router.validate_live_session_opts/3868869     warning: the following clause is redundant:870871         def to_iodata(%_{} = struct)872873     it has type:874875         dynamic(%Phoenix.LiveView.Rendered{})876877     previous clauses have already matched on the following types:878879         %Phoenix.LiveView.Rendered{}880881     │882 153 │     def to_iodata(%_{} = struct) do883     │         ~884     │885     └─ lib/phoenix_live_view/engine.ex:153:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1886887     warning: the 1st pattern in clause will never match:888889         nil890891     because it is expected to receive type:892893         dynamic(%Phoenix.LiveView.Rendered{})894895     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}896897     type warning found at:898     │899 157 │     def to_iodata(nil) do900     │     ~~~~~~~~~~~~~~~~~~~~~901     │902     └─ lib/phoenix_live_view/engine.ex:157: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1903904     warning: the following clause is redundant:905906         def to_iodata(other)907908     it has type:909910         dynamic(%Phoenix.LiveView.Rendered{})911912     previous clauses have already matched on the following types:913914         %Phoenix.LiveView.Rendered{}915916     │917 161 │     def to_iodata(other) do918     │         ~919     │920     └─ lib/phoenix_live_view/engine.ex:161:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1921922     warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)923     │924 799 │   defp class_names(nil), do: []925     │        ~926     │927     └─ lib/phoenix_live_view/js.ex:799:8: Phoenix.LiveView.JS.class_names/1928929Generated phoenix_live_view app930==> live_view_native931Compiling 21 files (.ex)932    warning: the following clause will never match:933934        _ ->935936    it is expected to match on type:937938        none()939940    type warning found at:941    │942 31 │       _ ->943    │       ~944    │945    └─ lib/live_view_native/templates.ex:31:7: LiveViewNative.Templates.compile_class_tree/3946947Generated live_view_native app948warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"949  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2950  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1951  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5952  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2953  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4954  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2955956==> phoenix_live_dashboard957Compiling 36 files (.ex)958     warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)959     │960 281 │     do: struct.to_string(value)961     │                ~962     │963     └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:281:16: Phoenix.LiveDashboard.EctoStatsPage.format/2964965Generated phoenix_live_dashboard app966==> live_view_native_swiftui967Compiling 14 files (.ex)968    warning: unused require Logger969    │970 12 │     require Logger971    │     ~972    │973    └─ lib/live_view_native/swiftui/platform.ex:12:5974975Compiling lib/live_view_native/swiftui/rules_parser/modifiers.ex (it's taking more than 10s)976    warning: the following clause will never match:977978        {:., annotations, [nil, part]} ->979980    because it attempts to match on the result of:981982        outer983984    which has type:985986        dynamic(atom())987988    type warning found at:989    │990 96 │         {:., annotations, [nil, part]} ->991    │         ~992    │993    └─ lib/live_view_native/swiftui/rules_parser/post_processors.ex:96:9: LiveViewNative.SwiftUI.RulesParser.PostProcessors.combine_chain_ast_parts/2994995Generated live_view_native_swiftui app996==> kino_live_view_native997Compiling 19 files (.ex)998    warning: unused require IEx.Helpers999    │1000  3 │   require IEx.Helpers1001    │   ~1002    │1003    └─ lib/server/smart_cells/live_view_native.ex:3:310041005warning: defining a Gettext backend by calling10061007    use Gettext, otp_app: ...10081009is deprecated. To define a backend, call:10101011    use Gettext.Backend, otp_app: :my_app10121013Then, instead of importing your backend, call this in your module:10141015    use Gettext, backend: MyApp.Gettext10161017  lib/server_web/gettext.ex:23: ServerWeb.Gettext (module)10181019    warning: variable "params" is unused (if the variable is not meant to be used, prefix it with an underscore)1020    │1021  4 │   def mount(params, session, socket) do1022    │             ~~~~~~1023    │1024    └─ lib/server_web/live/hello_live.ex:4:13: ServerWeb.HelloLive.mount/310251026    warning: variable "session" is unused (if the variable is not meant to be used, prefix it with an underscore)1027    │1028  4 │   def mount(params, session, socket) do1029    │                     ~~~~~~~1030    │1031    └─ lib/server_web/live/hello_live.ex:4:21: ServerWeb.HelloLive.mount/310321033    warning: variable "assigns" is unused (if the variable is not meant to be used, prefix it with an underscore)1034    │1035  8 │   def render(assigns = %{format: :swiftui}) do1036    │              ~~~~~~~1037    │1038    └─ lib/server_web/live/hello_live.ex:8:14: ServerWeb.HelloLive.render/110391040    error: undefined function sigil_SWIFTUI/2 (expected ServerWeb.HelloLive to define such a function or for it to be imported, but none are available)1041    │1042  9 │     ~SWIFTUI"""1043    │     ^^^^^^^^^^^^^1044    │1045    └─ lib/server_web/live/hello_live.ex:9:5: ServerWeb.HelloLive.render/1104610471048== Compilation error in file lib/server_web/live/hello_live.ex ==1049** (CompileError) lib/server_web/live/hello_live.ex: cannot compile module ServerWeb.HelloLive (errors have been logged)10501051could 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"