kino_live_view_native

Build log

host

kino_live_view_native 0.2.2 · fail · run kino_live_view_native-0.2.2-1790967424002
1005 of 1005 lines
1Resolving Hex dependencies...2Resolution completed in 0.679s3Unchanged: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.995Found packages with security advisories, see above for details96All dependencies have been fetched97==> esbuild98Compiling 4 files (.ex)99Generated esbuild app100==> makeup101Compiling 15 files (.ex)102Generated makeup app103==> makeup_swift104Compiling 3 files (.ex)105     warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause106     │107 233 │   defparsec(108     │   ~~~~~~~~~~109     │110     └─ lib/makeup/lexers/swift_lexer.ex:233111112     warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause113     │114 233 │   defparsec(115     │   ~~~~~~~~~~116     │117     └─ lib/makeup/lexers/swift_lexer.ex:233118119     warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause120     │121 233 │   defparsec(122     │   ~~~~~~~~~~123     │124     └─ lib/makeup/lexers/swift_lexer.ex:233125126Generated makeup_swift app127==> telemetry_metrics128Compiling 7 files (.ex)129     warning: unused require Logger130     │131 391 │   require Logger132     │   ~133     │134     └─ lib/telemetry_metrics.ex:391:3135136Generated telemetry_metrics app137==> nerves_compatibility_test138===> Analyzing applications...139===> Compiling telemetry_poller140==> live_view_native_stylesheet141Compiling 14 files (.ex)142Generated live_view_native_stylesheet app143==> dns_cluster144Compiling 1 file (.ex)145     warning: comparison between distinct types found:146147         net_state.started != :no148149     given types:150151         dynamic(not :no) != :no152153     where "net_state" was given the types:154155         # type: dynamic()156         # from: lib/dns_cluster.ex:166:8157         net_state158159         # type: dynamic(not false and not nil)160         # from: lib/dns_cluster.ex:166:8161         net_state162163         # type: dynamic(%{..., started: term()})164         # from: lib/dns_cluster.ex:169:25165         net_state.started == :no166167         # type: dynamic(%{..., started: not :no})168         # from: lib/dns_cluster.ex:179:25169         net_state.started == :no170171     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 false172173     type warning found at:174     │175 180 │           (!release? and net_state.started != :no and net_state[:name_domain] != :longnames) ->176     │                                            ~177     │178     └─ lib/dns_cluster.ex:180:44: DNSCluster.warn_on_invalid_dist/0179180Generated dns_cluster app181==> makeup_json182Compiling 3 files (.ex)183Generated makeup_json app184==> fss185Compiling 4 files (.ex)186Generated fss app187==> kino188Compiling 47 files (.ex)189    warning: unused require Logger190    │191  4 │   require Logger192    │   ~193    │194    └─ lib/kino/smart_cell/server.ex:4:3195196     warning: unused require Logger197     │198 183 │   require Logger199     │   ~200     │201     └─ lib/kino/smart_cell.ex:183:3202203     warning: you are implementing a protocol for Nx.Heatmap but said module is not available. Make sure the module name is correct. If Nx.Heatmap is an optional dependency, please wrap the protocol implementation in a Code.ensure_loaded?(Nx.Heatmap) check204     │205 239 │ defimpl Kino.Render, for: Nx.Heatmap do206     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~207     │208     └─ lib/kino/render.ex:239: (file)209210     warning: comparison between distinct types found:211212         assets_path != nil213214     given types:215216         dynamic(binary() or empty_list() or non_empty_list(term(), term())) != nil217218     where "assets_path" was given the types:219220         # type: dynamic(nil or binary() or empty_list() or non_empty_list(term(), term()))221         # from: lib/kino/js.ex:253:19222         __paths__(assets_path)223224         # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))225         # from: lib/kino/js.ex:257:25226         Path.join(assets_path, path)227228     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 false229230     type warning found at:231     │232 266 │     assets_path_defined? = assets_path != nil233     │                                        ~234     │235     └─ lib/kino/js.ex:266:40: Kino.JS.__before_compile__/1236237Generated kino app238==> live_view_native_platform239Compiling 11 files (.ex)240    warning: "else" clauses will never match because all patterns in "with" will always match241    │242 38 │     with spec <- Application.spec(otp_app),243    │     ~244    │245    └─ lib/live_view_native_platform/env.ex:38:5246247    warning: the following clause will never match:248249        error ->250251    it is expected to match on type:252253        none()254255    type warning found at:256    │257 64 │       error ->258    │       ~259    │260    └─ lib/live_view_native_platform/env.ex:64:7: LiveViewNativePlatform.Env.define/2261262Generated live_view_native_platform app263==> phoenix_view264Compiling 1 file (.ex)265     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 operator266     │267 655 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix268     │                             ~269     │270     └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2271272Generated phoenix_view app273==> tailwind274Compiling 3 files (.ex)275Generated tailwind app276==> websock_adapter277Compiling 4 files (.ex)278Generated websock_adapter app279warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"280  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2281  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1282  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5283  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2284  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4285  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2286287==> phoenix288Compiling 71 files (.ex)289    warning: unused require Logger290    │291  9 │   require Logger292    │   ~293    │294    └─ lib/phoenix/config.ex:9:3295296     warning: unused require Logger297     │298 281 │   require Logger299     │   ~300     │301     └─ lib/phoenix/endpoint.ex:281:3302303    warning: unused require Phoenix.Endpoint304    │305  6 │   require Phoenix.Endpoint306    │   ~307    │308    └─ lib/phoenix/controller.ex:6:3309310    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 operator311    │312 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix313    │                             ~314    │315    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2316317    warning: unused require Phoenix.Endpoint318    │319 17 │   require Phoenix.Endpoint320    │   ~321    │322    └─ lib/phoenix/endpoint/render_errors.ex:17:3323324    warning: unused require Logger325    │326 70 │   require Logger327    │   ~328    │329    └─ lib/phoenix/socket/pool_supervisor.ex:70:3330331    warning: unused require Phoenix.Endpoint332    │333  6 │   require Phoenix.Endpoint334    │   ~335    │336    └─ lib/phoenix/channel/server.ex:6:3337338     warning: unused require Phoenix.Endpoint339     │340 202 │   require Phoenix.Endpoint341     │   ~342     │343     └─ lib/phoenix/socket.ex:202:3344345     warning: unused require Logger346     │347 100 │   require Logger348     │   ~349     │350     └─ lib/phoenix/token.ex:100:3351352     warning: comparison between distinct types found:353354         merge_all != []355356     given types:357358         dynamic(non_empty_list({atom(), term()})) != empty_list()359360     where "merge_all" was given the type:361362         # type: dynamic(non_empty_list({atom(), term()}))363         # from: lib/phoenix/router/route.ex:121:15364         merge_all = merge_params ++ merge_private ++ merge_assigns365366     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 false367368     type warning found at:369     │370 123 │     if merge_all != [] do371     │                  ~372     │373     └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/1374375    warning: a struct for Plug.Conn is expected on struct update:376377        %Plug.Conn{conn | state: :sent}378379    but got type:380381        dynamic()382383    where "conn" was given the type:384385        # type: dynamic()386        # from: lib/phoenix/endpoint/render_errors.ex:55:17387        conn388389    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"390391    type warning found at:392    │393 60 │           %Plug.Conn{conn | state: :sent}394    │           ~395    │396    └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/5397398     warning: a struct for Plug.Conn is expected on struct update:399400         %Plug.Conn{conn | query_params: %{}, params: %{}}401402     but got type:403404         dynamic(%{..., params: %Plug.Conn.Unfetched{}})405406     where "conn" was given the types:407408         # type: dynamic(%{..., params: term()})409         # from: lib/phoenix/endpoint/render_errors.ex:133:17410         conn.params411412         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})413         # from: lib/phoenix/endpoint/render_errors.ex:133:17414         conn.params415416     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"417418     type warning found at:419     │420 134 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}421     │                                   ~422     │423     └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1424425     warning: a struct for Plug.Conn is expected on struct update:426427         %Plug.Conn{conn | query_params: %{}, params: params}428429     but got type:430431         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})432433     where "conn" was given the types:434435         # type: dynamic(%{..., params: term()})436         # from: lib/phoenix/endpoint/render_errors.ex:133:17437         conn.params438439         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})440         # from: lib/phoenix/endpoint/render_errors.ex:133:17441         conn.params442443     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"444445     type warning found at:446     │447 135 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}448     │                   ~449     │450     └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1451452      warning: a struct for Plug.Conn is expected on struct update:453454          %Plug.Conn{conn | params: params}455456      but got type:457458          dynamic(%{..., params: map()})459460      where "conn" was given the type:461462          # type: dynamic(%{..., params: map()})463          # from: lib/phoenix/controller.ex:1327:17464          Map.get(conn.params, required_key)465466      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"467468      type warning found at:469      │470 1334 │     %Plug.Conn{conn | params: params}471      │     ~472      │473      └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/2474475Generated phoenix app476==> phoenix_live_reload477Compiling 5 files (.ex)478Generated phoenix_live_reload app479warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"480  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2481  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1482  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5483  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2484  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4485  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2486487==> phoenix_live_view488Compiling 39 files (.ex)489    warning: unused require Logger490    │491 48 │   require Logger492    │   ~493    │494    └─ lib/phoenix_live_view/socket.ex:48:3495496     warning: unused require Phoenix.ChannelTest497     │498 183 │   require Phoenix.ChannelTest499     │   ~500     │501     └─ lib/phoenix_live_view/test/live_view_test.ex:183:3502503     warning: unused require Phoenix.ConnTest504     │505 182 │   require Phoenix.ConnTest506     │   ~507     │508     └─ lib/phoenix_live_view/test/live_view_test.ex:182:3509510    warning: unused require Phoenix.ChannelTest511    │512  5 │   require Phoenix.ChannelTest513    │   ~514    │515    └─ lib/phoenix_live_view/test/upload_client.ex:5:3516517    warning: unused require Logger518    │519  6 │   require Logger520    │   ~521    │522    └─ lib/phoenix_live_view/upload_channel.ex:6:3523524     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:525526         %Phoenix.LiveView.Socket{527           socket528           | assigns: Map.merge(temp_assigns, socket.assigns),529             private: Map.put(socket.private, :temporary_assigns, temp_assigns)530         }531532     but got type:533534         dynamic()535536     where "socket" was given the type:537538         # type: dynamic()539         # from: lib/phoenix_live_view/utils.ex:528:21540         socket541542     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"543544     type warning found at:545     │546 535 │     %Socket{547     │     ~548     │549     └─ lib/phoenix_live_view/utils.ex:535:5: Phoenix.LiveView.Utils.do_mount_opt/3550551    warning: the following clause will never match:552553        {:error, reason} ->554555    because it attempts to match on the result of:556557        IO.binwrite(state.file, data)558559    which has type:560561        dynamic(not {:error, term()})562563    type warning found at:564    │565 23 │       {:error, reason} -> {:error, reason, state}566    │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~567    │568    └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/2569570     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:571572         %Phoenix.LiveView.UploadEntry{573           entry574           | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs_awaiting)575         }576577     but got type:578579         dynamic()580581     where "entry" was given the type:582583         # type: dynamic()584         # from: lib/phoenix_live_view/upload_config.ex:363:17585         entry <- conf.entries586587     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"588589     type warning found at:590     │591 364 │         %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs_awaiting}592     │         ~593     │594     └─ lib/phoenix_live_view/upload_config.ex:364:9: Phoenix.LiveView.UploadConfig.mark_preflighted/1595596     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:597598         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}599600     but got type:601602         dynamic()603604     where "entry" was given the type:605606         # type: dynamic()607         # from: lib/phoenix_live_view/upload_config.ex:579:30608         entry609610     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"611612     type warning found at:613     │614 580 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}615     │             ~616     │617     └─ lib/phoenix_live_view/upload_config.ex:580:13: Phoenix.LiveView.UploadConfig.put_valid_entry/2618619     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:620621         %Phoenix.LiveView.UploadEntry{entry | valid?: false}622623     but got type:624625         dynamic()626627     where "entry" was given the type:628629         # type: dynamic()630         # from: lib/phoenix_live_view/upload_config.ex:592:32631         entry632633     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"634635     type warning found at:636     │637 593 │     entry = %UploadEntry{entry | valid?: false}638     │             ~639     │640     └─ lib/phoenix_live_view/upload_config.ex:593:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/3641642     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:643644         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}645646     but got type:647648         dynamic()649650     where "entry" was given the type:651652         # type: dynamic()653         # from: lib/phoenix_live_view/upload_config.ex:676:42654         entry655656     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"657658     type warning found at:659     │660 676 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)661     │                                                   ~662     │663     └─ lib/phoenix_live_view/upload_config.ex:676:51: Phoenix.LiveView.UploadConfig.cancel_entry/2664665      warning: the following clause is redundant:666667          def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)668669      it has type:670671          dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))672673      previous clauses have already matched on the following types:674675          %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())676          %Phoenix.LiveView.Socket{}, term(), (none() -> term())677          term(), term(), (none(), none() -> term())678          term(), term(), (none() -> term())679680      │681 1366 │   def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do682      │       ~683      │684      └─ lib/phoenix_component.ex:1366:7: Phoenix.Component.update/3685686    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead687    │688 73 │     Logger.disable(self())689    │            ~690    │691    └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/1692693     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:694695         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}696697     but got type:698699         dynamic(%{..., rendered: map()})700701     where "view" was given the type:702703         # type: dynamic(%{..., rendered: map()})704         # from: lib/phoenix_live_view/test/client_proxy.ex:739:24705         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)706707     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"708709     type warning found at:710     │711 740 │         new_view = %ClientProxy{view | rendered: rendered}712     │                    ~713     │714     └─ lib/phoenix_live_view/test/client_proxy.ex:740:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/3715716     warning: the right-hand side of || (shown as ... below) will never be executed:717718         conn.private[:live_view_connect_info] || prune_conn(conn) || ...719720     because the left-hand side always evaluates to:721722         dynamic(not false and not nil)723724     where "conn" was given the types:725726         # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})727         # from: lib/phoenix_live_view/test/live_view_test.ex:324:72728         %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn729730         # type: dynamic(%Plug.Conn{731           assigns: %{..., live_module: term()},732           private:733             %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or734               non_struct_map(),735           status: integer()736         })737         # from: lib/phoenix_live_view/test/live_view_test.ex:338:35738         conn.private[:live_view_connect_params]739740     type warning found at:741     │742 339 │       connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},743     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~744     │745     └─ lib/phoenix_live_view/test/live_view_test.ex:339: Phoenix.LiveViewTest.connect_from_static_token/2746747     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:748749         %Phoenix.LiveView.Socket{750           socket751           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}752         }753754     but got type:755756         dynamic(%{..., assigns: term()})757758     where "socket" was given the type:759760         # type: dynamic(%{..., assigns: term()})761         # from: lib/phoenix_live_view/renderer.ex:121:43762         %{assigns: assigns} = socket763764     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"765766     type warning found at:767     │768 122 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}769     │              ~770     │771     └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/1772773     warning: the following pattern will never match:774775         template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")776777     because the right-hand side has type:778779         none()780781     where "template" was given the types:782783         # type: binary()784         # from: lib/phoenix_live_view/router.ex:288:66785         is_binary(template)786787         # type: binary()788         # from: lib/phoenix_live_view/router.ex789         {:root_layout, {mod, template}}790791     type warning found at:792     │793 289 │         template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")794     │                  ~795     │796     └─ lib/phoenix_live_view/router.ex:289:18: Phoenix.LiveView.Router.validate_live_session_opts/3797798     warning: the following pattern will never match:799800         template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")801802     because the right-hand side has type:803804         none()805806     where "template" was given the types:807808         # type: binary()809         # from: lib/phoenix_live_view/router.ex:305:61810         is_binary(template)811812         # type: binary()813         # from: lib/phoenix_live_view/router.ex814         {:layout, {mod, template}}815816     type warning found at:817     │818 306 │         template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")819     │                  ~820     │821     └─ lib/phoenix_live_view/router.ex:306:18: Phoenix.LiveView.Router.validate_live_session_opts/3822823     warning: the following clause is redundant:824825         def to_iodata(%_{} = struct)826827     it has type:828829         dynamic(%Phoenix.LiveView.Rendered{})830831     previous clauses have already matched on the following types:832833         %Phoenix.LiveView.Rendered{}834835     │836 153 │     def to_iodata(%_{} = struct) do837     │         ~838     │839     └─ lib/phoenix_live_view/engine.ex:153:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1840841     warning: the 1st pattern in clause will never match:842843         nil844845     because it is expected to receive type:846847         dynamic(%Phoenix.LiveView.Rendered{})848849     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}850851     type warning found at:852     │853 157 │     def to_iodata(nil) do854     │     ~~~~~~~~~~~~~~~~~~~~~855     │856     └─ lib/phoenix_live_view/engine.ex:157: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1857858     warning: the following clause is redundant:859860         def to_iodata(other)861862     it has type:863864         dynamic(%Phoenix.LiveView.Rendered{})865866     previous clauses have already matched on the following types:867868         %Phoenix.LiveView.Rendered{}869870     │871 161 │     def to_iodata(other) do872     │         ~873     │874     └─ lib/phoenix_live_view/engine.ex:161:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1875876     warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)877     │878 799 │   defp class_names(nil), do: []879     │        ~880     │881     └─ lib/phoenix_live_view/js.ex:799:8: Phoenix.LiveView.JS.class_names/1882883Generated phoenix_live_view app884==> live_view_native885Compiling 21 files (.ex)886    warning: the following clause will never match:887888        _ ->889890    it is expected to match on type:891892        none()893894    type warning found at:895    │896 31 │       _ ->897    │       ~898    │899    └─ lib/live_view_native/templates.ex:31:7: LiveViewNative.Templates.compile_class_tree/3900901Generated live_view_native app902warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"903  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2904  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1905  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5906  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2907  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4908  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2909910==> phoenix_live_dashboard911Compiling 36 files (.ex)912     warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)913     │914 281 │     do: struct.to_string(value)915     │                ~916     │917     └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:281:16: Phoenix.LiveDashboard.EctoStatsPage.format/2918919Generated phoenix_live_dashboard app920==> live_view_native_swiftui921Compiling 14 files (.ex)922    warning: unused require Logger923    │924 12 │     require Logger925    │     ~926    │927    └─ lib/live_view_native/swiftui/platform.ex:12:5928929Compiling lib/live_view_native/swiftui/rules_parser/modifiers.ex (it's taking more than 10s)930    warning: the following clause will never match:931932        {:., annotations, [nil, part]} ->933934    because it attempts to match on the result of:935936        outer937938    which has type:939940        dynamic(atom())941942    type warning found at:943    │944 96 │         {:., annotations, [nil, part]} ->945    │         ~946    │947    └─ lib/live_view_native/swiftui/rules_parser/post_processors.ex:96:9: LiveViewNative.SwiftUI.RulesParser.PostProcessors.combine_chain_ast_parts/2948949Generated live_view_native_swiftui app950==> kino_live_view_native951Compiling 19 files (.ex)952    warning: unused require IEx.Helpers953    │954  3 │   require IEx.Helpers955    │   ~956    │957    └─ lib/server/smart_cells/live_view_native.ex:3:3958959warning: defining a Gettext backend by calling960961    use Gettext, otp_app: ...962963is deprecated. To define a backend, call:964965    use Gettext.Backend, otp_app: :my_app966967Then, instead of importing your backend, call this in your module:968969    use Gettext, backend: MyApp.Gettext970971  lib/server_web/gettext.ex:23: ServerWeb.Gettext (module)972973    warning: variable "params" is unused (if the variable is not meant to be used, prefix it with an underscore)974    │975  4 │   def mount(params, session, socket) do976    │             ~~~~~~977    │978    └─ lib/server_web/live/hello_live.ex:4:13: ServerWeb.HelloLive.mount/3979980    warning: variable "session" is unused (if the variable is not meant to be used, prefix it with an underscore)981    │982  4 │   def mount(params, session, socket) do983    │                     ~~~~~~~984    │985    └─ lib/server_web/live/hello_live.ex:4:21: ServerWeb.HelloLive.mount/3986987    warning: variable "assigns" is unused (if the variable is not meant to be used, prefix it with an underscore)988    │989  8 │   def render(assigns = %{format: :swiftui}) do990    │              ~~~~~~~991    │992    └─ lib/server_web/live/hello_live.ex:8:14: ServerWeb.HelloLive.render/1993994    error: undefined function sigil_SWIFTUI/2 (expected ServerWeb.HelloLive to define such a function or for it to be imported, but none are available)995    │996  9 │     ~SWIFTUI"""997    │     ^^^^^^^^^^^^^998    │999    └─ lib/server_web/live/hello_live.ex:9:5: ServerWeb.HelloLive.render/1100010011002== Compilation error in file lib/server_web/live/hello_live.ex ==1003** (CompileError) lib/server_web/live/hello_live.ex: cannot compile module ServerWeb.HelloLive (errors have been logged)10041005could 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"