Build log
host
paleta 0.1.0 · fail · run paleta-0.1.0-1791031886408
707 of 707 lines
1Resolving Hex dependencies...2Resolution completed in 0.234s3Unchanged:4 castore 1.0.215 circular_buffer 1.1.06 combine 0.10.07 earmark 1.4.49 RETIRED! VULNERABLE!8 (deprecated) Earmark is no longer maintained. Migrate to a replacement, for example MDEx (https://hex.pm/packages/mdex).910 EEF-CVE-2026-48591 (MEDIUM)11 aka: CVE-2026-48591, GHSA-52mm-h59v-f3c712 Stored XSS via unescaped HTML attribute values in earmark13 https://osv.dev/vulnerability/EEF-CVE-2026-4859114 elixir_make 0.10.015 esbuild 0.10.016 expo 1.1.117 gettext 0.26.218 heroicons 0.5.619 inflex 2.1.020 interactive_cmd 0.1.421 jason 1.4.522 makeup 1.2.223 makeup_elixir 0.16.224 mime 2.0.725 nerves 2.0.0-pre.226 nerves_discovery 0.1.527 nerves_logging 0.2.428 nerves_runtime 0.13.1329 nerves_system_bbb 2.30.230 nerves_system_br 1.34.431 nerves_system_mangopi_mq_pro 0.17.232 nerves_system_qemu_aarch64 0.4.233 nerves_system_rpi0 2.1.234 nerves_system_rpi4 2.1.235 nerves_system_rpi5 2.1.236 nerves_system_trellis 0.5.037 nerves_system_x86_64 1.34.238 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.139 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.140 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.141 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.142 nerves_toolchain_x86_64_nerves_linux_musl 15.3.143 nerves_uevent 0.1.744 nimble_parsec 1.4.245 paleta 0.1.046 phoenix 1.7.2447 phoenix_html 3.3.448 phoenix_live_view 0.20.17 VULNERABLE!49 EEF-CVE-2026-64941 (LOW)50 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf51 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR52 https://osv.dev/vulnerability/EEF-CVE-2026-6494153 phoenix_pubsub 2.3.054 phoenix_template 1.1.055 plug 1.20.356 plug_crypto 2.2.057 property_table 0.3.458 ring_logger 0.11.759 tablet 0.3.360 tailwind 0.5.161 telemetry 1.4.262 timex 3.7.1363 toolshed 0.5.064 tzdata 1.2.265 uboot_env 1.0.266 websock 0.5.367 websock_adapter 0.5.968Found retired packages, see above for details69Found packages with security advisories, see above for details70All dependencies have been fetched71==> makeup_elixir72Compiling 6 files (.ex)73Compiling lib/makeup/lexers/elixir_lexer.ex (it's taking more than 10s)74Generated makeup_elixir app75warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"76 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/277 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/178 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/579 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/280 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/481 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/28283==> phoenix84Compiling 71 files (.ex)85 warning: unused require Logger86 │87 9 │ require Logger88 │ ~89 │90 └─ lib/phoenix/config.ex:9:39192 warning: unused require Logger93 │94 281 │ require Logger95 │ ~96 │97 └─ lib/phoenix/endpoint.ex:281:39899 warning: unused require Phoenix.Endpoint100 │101 6 │ require Phoenix.Endpoint102 │ ~103 │104 └─ lib/phoenix/controller.ex:6:3105106 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 operator107 │108 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix109 │ ~110 │111 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2112113 warning: unused require Phoenix.Endpoint114 │115 17 │ require Phoenix.Endpoint116 │ ~117 │118 └─ lib/phoenix/endpoint/render_errors.ex:17:3119120 warning: unused require Phoenix.Endpoint121 │122 6 │ require Phoenix.Endpoint123 │ ~124 │125 └─ lib/phoenix/channel/server.ex:6:3126127 warning: unused require Phoenix.Endpoint128 │129 202 │ require Phoenix.Endpoint130 │ ~131 │132 └─ lib/phoenix/socket.ex:202:3133134 warning: unused require Logger135 │136 70 │ require Logger137 │ ~138 │139 └─ lib/phoenix/socket/pool_supervisor.ex:70:3140141 warning: unused require Logger142 │143 100 │ require Logger144 │ ~145 │146 └─ lib/phoenix/token.ex:100:3147148 warning: comparison between distinct types found:149150 merge_all != []151152 given types:153154 dynamic(non_empty_list({atom(), term()})) != empty_list()155156 where "merge_all" was given the type:157158 # type: dynamic(non_empty_list({atom(), term()}))159 # from: lib/phoenix/router/route.ex:121:15160 merge_all = merge_params ++ merge_private ++ merge_assigns161162 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 false163164 type warning found at:165 │166 123 │ if merge_all != [] do167 │ ~168 │169 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/1170171 warning: a struct for Plug.Conn is expected on struct update:172173 %Plug.Conn{conn | state: :sent}174175 but got type:176177 dynamic()178179 where "conn" was given the type:180181 # type: dynamic()182 # from: lib/phoenix/endpoint/render_errors.ex:55:17183 conn184185 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"186187 type warning found at:188 │189 60 │ %Plug.Conn{conn | state: :sent}190 │ ~191 │192 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/5193194 warning: a struct for Plug.Conn is expected on struct update:195196 %Plug.Conn{conn | query_params: %{}, params: %{}}197198 but got type:199200 dynamic(%{..., params: %Plug.Conn.Unfetched{}})201202 where "conn" was given the types:203204 # type: dynamic(%{..., params: term()})205 # from: lib/phoenix/endpoint/render_errors.ex:133:17206 conn.params207208 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})209 # from: lib/phoenix/endpoint/render_errors.ex:133:17210 conn.params211212 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"213214 type warning found at:215 │216 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}217 │ ~218 │219 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1220221 warning: a struct for Plug.Conn is expected on struct update:222223 %Plug.Conn{conn | query_params: %{}, params: params}224225 but got type:226227 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})228229 where "conn" was given the types:230231 # type: dynamic(%{..., params: term()})232 # from: lib/phoenix/endpoint/render_errors.ex:133:17233 conn.params234235 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})236 # from: lib/phoenix/endpoint/render_errors.ex:133:17237 conn.params238239 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"240241 type warning found at:242 │243 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}244 │ ~245 │246 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1247248 warning: a struct for Plug.Conn is expected on struct update:249250 %Plug.Conn{conn | params: params}251252 but got type:253254 dynamic(%{..., params: map()})255256 where "conn" was given the type:257258 # type: dynamic(%{..., params: map()})259 # from: lib/phoenix/controller.ex:1327:17260 Map.get(conn.params, required_key)261262 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"263264 type warning found at:265 │266 1334 │ %Plug.Conn{conn | params: params}267 │ ~268 │269 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/2270271Generated phoenix app272warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"273 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2274 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1275 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5276 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2277 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4278 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2279280==> phoenix_live_view281Compiling 39 files (.ex)282 warning: unused require Logger283 │284 48 │ require Logger285 │ ~286 │287 └─ lib/phoenix_live_view/socket.ex:48:3288289 warning: unused require Phoenix.ChannelTest290 │291 183 │ require Phoenix.ChannelTest292 │ ~293 │294 └─ lib/phoenix_live_view/test/live_view_test.ex:183:3295296 warning: unused require Phoenix.ConnTest297 │298 182 │ require Phoenix.ConnTest299 │ ~300 │301 └─ lib/phoenix_live_view/test/live_view_test.ex:182:3302303 warning: unused require Phoenix.ChannelTest304 │305 5 │ require Phoenix.ChannelTest306 │ ~307 │308 └─ lib/phoenix_live_view/test/upload_client.ex:5:3309310 warning: unused require Logger311 │312 6 │ require Logger313 │ ~314 │315 └─ lib/phoenix_live_view/upload_channel.ex:6:3316317 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:318319 %Phoenix.LiveView.Socket{320 socket321 | assigns: Map.merge(temp_assigns, socket.assigns),322 private:323 Map.update(324 socket.private,325 :temporary_assigns,326 temp_assigns,327 &Map.merge(&1, temp_assigns)328 )329 }330331 but got type:332333 dynamic()334335 where "socket" was given the type:336337 # type: dynamic()338 # from: lib/phoenix_live_view/utils.ex:415:28339 socket340341 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"342343 type warning found at:344 │345 422 │ %Socket{346 │ ~347 │348 └─ lib/phoenix_live_view/utils.ex:422:5: Phoenix.LiveView.Utils.handle_mount_option/3349350 warning: the following clause will never match:351352 {:error, reason} ->353354 because it attempts to match on the result of:355356 IO.binwrite(state.file, data)357358 which has type:359360 dynamic(not {:error, term()})361362 type warning found at:363 │364 23 │ {:error, reason} -> {:error, reason, state}365 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~366 │367 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/2368369 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:370371 %Phoenix.LiveView.UploadEntry{372 entry373 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)374 }375376 but got type:377378 dynamic()379380 where "entry" was given the type:381382 # type: dynamic()383 # from: lib/phoenix_live_view/upload_config.ex:362:17384 entry <- conf.entries385386 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"387388 type warning found at:389 │390 363 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}391 │ ~392 │393 └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/2394395 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:396397 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}398399 but got type:400401 dynamic()402403 where "entry" was given the type:404405 # type: dynamic()406 # from: lib/phoenix_live_view/upload_config.ex:572:30407 entry408409 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"410411 type warning found at:412 │413 573 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}414 │ ~415 │416 └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/2417418 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:419420 %Phoenix.LiveView.UploadEntry{entry | valid?: false}421422 but got type:423424 dynamic()425426 where "entry" was given the type:427428 # type: dynamic()429 # from: lib/phoenix_live_view/upload_config.ex:585:32430 entry431432 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"433434 type warning found at:435 │436 586 │ entry = %UploadEntry{entry | valid?: false}437 │ ~438 │439 └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/3440441 warning: the following clause is redundant:442443 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)444445 it has type:446447 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))448449 previous clauses have already matched on the following types:450451 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())452 %Phoenix.LiveView.Socket{}, term(), (none() -> term())453 term(), term(), (none(), none() -> term())454 term(), term(), (none() -> term())455456 │457 1378 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do458 │ ~459 │460 └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/3461462 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:463464 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}465466 but got type:467468 dynamic()469470 where "entry" was given the type:471472 # type: dynamic()473 # from: lib/phoenix_live_view/upload_config.ex:669:42474 entry475476 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"477478 type warning found at:479 │480 669 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)481 │ ~482 │483 └─ lib/phoenix_live_view/upload_config.ex:669:51: Phoenix.LiveView.UploadConfig.cancel_entry/2484485 warning: the right-hand side of || (shown as ... below) will never be executed:486487 conn.private[:live_view_connect_info] || prune_conn(conn) || ...488489 because the left-hand side always evaluates to:490491 dynamic(not false and not nil)492493 where "conn" was given the types:494495 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})496 # from: lib/phoenix_live_view/test/live_view_test.ex:319:72497 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn498499 # type: dynamic(%Plug.Conn{500 assigns: %{..., live_module: term()},501 private:502 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or503 non_struct_map(),504 status: integer()505 })506 # from: lib/phoenix_live_view/test/live_view_test.ex:333:35507 conn.private[:live_view_connect_params]508509 type warning found at:510 │511 334 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},512 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~513 │514 └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/2515516 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead517 │518 73 │ Logger.disable(self())519 │ ~520 │521 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/1522523 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:524525 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}526527 but got type:528529 dynamic(%{..., rendered: map()})530531 where "view" was given the type:532533 # type: dynamic(%{..., rendered: map()})534 # from: lib/phoenix_live_view/test/client_proxy.ex:727:26535 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)536537 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"538539 type warning found at:540 │541 728 │ new_view = %ClientProxy{view | rendered: rendered}542 │ ~543 │544 └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/3545546 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:547548 %Phoenix.LiveView.Socket{549 socket550 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}551 }552553 but got type:554555 dynamic(%{..., assigns: term()})556557 where "socket" was given the type:558559 # type: dynamic(%{..., assigns: term()})560 # from: lib/phoenix_live_view/renderer.ex:121:43561 %{assigns: assigns} = socket562563 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"564565 type warning found at:566 │567 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}568 │ ~569 │570 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/1571572 warning: the following pattern will never match:573574 template = Phoenix.LiveView.Utils.normalize_layout(template)575576 because the right-hand side has type:577578 none()579580 where "template" was given the types:581582 # type: binary()583 # from: lib/phoenix_live_view/router.ex:299:66584 is_binary(template)585586 # type: binary()587 # from: lib/phoenix_live_view/router.ex588 {:root_layout, {mod, template}}589590 type warning found at:591 │592 300 │ template = Phoenix.LiveView.Utils.normalize_layout(template)593 │ ~594 │595 └─ lib/phoenix_live_view/router.ex:300:18: Phoenix.LiveView.Router.validate_live_session_opts/3596597 warning: the following pattern will never match:598599 template = Phoenix.LiveView.Utils.normalize_layout(template)600601 because the right-hand side has type:602603 none()604605 where "template" was given the types:606607 # type: binary()608 # from: lib/phoenix_live_view/router.ex:316:61609 is_binary(template)610611 # type: binary()612 # from: lib/phoenix_live_view/router.ex613 {:layout, {mod, template}}614615 type warning found at:616 │617 317 │ template = Phoenix.LiveView.Utils.normalize_layout(template)618 │ ~619 │620 └─ lib/phoenix_live_view/router.ex:317:18: Phoenix.LiveView.Router.validate_live_session_opts/3621622 warning: the following clause is redundant:623624 def to_iodata(%_{} = struct)625626 it has type:627628 dynamic(%Phoenix.LiveView.Rendered{})629630 previous clauses have already matched on the following types:631632 %Phoenix.LiveView.Rendered{}633634 │635 152 │ def to_iodata(%_{} = struct) do636 │ ~637 │638 └─ lib/phoenix_live_view/engine.ex:152:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1639640 warning: the 1st pattern in clause will never match:641642 nil643644 because it is expected to receive type:645646 dynamic(%Phoenix.LiveView.Rendered{})647648 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}649650 type warning found at:651 │652 156 │ def to_iodata(nil) do653 │ ~~~~~~~~~~~~~~~~~~~~~654 │655 └─ lib/phoenix_live_view/engine.ex:156: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1656657 warning: the following clause is redundant:658659 def to_iodata(other)660661 it has type:662663 dynamic(%Phoenix.LiveView.Rendered{})664665 previous clauses have already matched on the following types:666667 %Phoenix.LiveView.Rendered{}668669 │670 160 │ def to_iodata(other) do671 │ ~672 │673 └─ lib/phoenix_live_view/engine.ex:160:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1674675 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)676 │677 903 │ defp class_names(nil), do: []678 │ ~679 │680 └─ lib/phoenix_live_view/js.ex:903:8: Phoenix.LiveView.JS.class_names/1681682Generated phoenix_live_view app683warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"684 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2685 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1686 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5687 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2688 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4689 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2690691==> heroicons692Compiling 3 files (.ex)693Generated heroicons app694==> paleta695Compiling 67 files (.ex)696 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)697 │698 56 │ <%= live_component(Paleta.Components.Live.GlobalSearch,699 │ ^^^^^^^^^^^^^^700 │701 └─ lib/components/app_header.ex:56:17: Paleta.Components.AppHeader."app_header (overridable 1)"/1702703704== Compilation error in file lib/components/app_header.ex ==705** (CompileError) lib/components/app_header.ex: cannot compile module Paleta.Components.AppHeader (errors have been logged)706707could 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"