Build log
host
phoenix_kit_ecommerce 0.5.18 · fail · run phoenix_kit_ecommerce-0.5.18-1791205705818
831 of 831 lines
1Resolving Hex dependencies...2Resolution completed in 1.645s3Unchanged:4 aws_regions 0.1.05 backblaze_regions 0.1.06 bandit 1.12.57 bcrypt_elixir 3.3.28 beamlab_countries 1.2.19 beamlab_ex_aws_sqs 5.0.210 certifi 2.17.011 circular_buffer 1.1.012 comeonin 5.5.113 db_connection 2.10.214 decimal 3.1.115 ecto 3.14.216 ecto_sql 3.14.017 elixir_make 0.10.018 eqrcode 0.2.119 etcher 0.18.020 ex_aws 2.7.021 ex_aws_ec2 2.0.122 ex_aws_s3 2.5.923 ex_aws_sns 2.3.524 ex_aws_sts 2.3.025 expo 1.1.126 finch 0.24.027 fresco 0.13.128 gen_smtp 1.3.029 gettext 1.0.230 h2 0.12.431 hackney 4.8.532 hammer 7.5.033 hpax 1.1.034 idna 7.1.035 interactive_cmd 0.1.436 jason 1.4.537 keyfob 0.1.138 leaf 0.8.039 locale_slug 0.2.040 mdex 0.14.241 mdex_native 0.2.1142 mime 2.0.743 mimerl 1.5.044 mint 1.11.045 nerves 2.0.0-pre.246 nerves_discovery 0.1.547 nerves_logging 0.2.448 nerves_runtime 0.13.1349 nerves_system_bbb 2.30.250 nerves_system_br 1.34.451 nerves_system_mangopi_mq_pro 0.17.252 nerves_system_qemu_aarch64 0.4.253 nerves_system_rpi0 2.1.254 nerves_system_rpi4 2.1.255 nerves_system_rpi5 2.1.256 nerves_system_trellis 0.5.057 nerves_system_x86_64 1.34.258 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.159 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.160 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.161 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.162 nerves_toolchain_x86_64_nerves_linux_musl 15.3.163 nerves_uevent 0.1.764 nimble_csv 1.3.065 nimble_options 1.1.166 nimble_parsec 1.4.267 nimble_pool 1.1.068 oauth2 2.1.169 oban 2.24.170 parse_trans 3.4.271 phoenix 1.8.1572 phoenix_ecto 4.7.073 phoenix_html 4.3.074 phoenix_kit 2.53.075 phoenix_kit_billing 0.19.176 phoenix_kit_ecommerce 0.5.1877 phoenix_kit_templates 0.2.278 phoenix_live_view 1.2.1279 phoenix_pubsub 2.3.080 phoenix_template 1.1.081 plug 1.20.382 plug_crypto 2.2.083 postgrex 0.22.484 property_table 0.3.485 quic 2.1.186 ranch 2.3.087 req 0.7.488 ring_logger 0.11.789 rustler_precompiled 0.10.090 saxy 1.6.191 ssl_verify_fun 1.1.792 stripity_stripe 3.3.293 sweet_xml 0.7.594 swoosh 1.28.195 tablet 0.3.396 telemetry 1.4.297 tesla 1.21.398 tessera 0.3.899 thousand_island 1.5.0100 tigris_regions 0.1.0101 toolshed 0.5.0102 tz 0.28.4103 uboot_env 1.0.2104 ueberauth 0.10.8105 ueberauth_facebook 0.10.0106 ueberauth_github 0.8.3107 ueberauth_google 0.12.1108 uri_query 0.2.0109 uuidv7 1.0.0110 websock 0.5.3111 websock_adapter 0.6.0112 websockex 0.5.1113 webtransport 0.4.8114 yamerl 0.10.0115 yaml_elixir 2.12.2116All dependencies have been fetched117==> phoenix_kit118Compiling 688 files (.ex)119 warning: unused require Logger120 │121 24 │ require Logger122 │ ~123 │124 └─ lib/mix/tasks/compile.phoenix_kit_css_sources.ex:24:3125126 warning: unused require Logger127 │128 72 │ require Logger129 │ ~130 │131 └─ lib/mix/tasks/compile.phoenix_kit_js_sources.ex:72:3132133 warning: the variable "i" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator134 │135 462 │ <<_::binary-size(i), byte1::8, _::binary>> = padded1136 │ ~137 │138 └─ lib/modules/storage/services/url_signer.ex:462:28: PhoenixKit.Modules.Storage.URLSigner.secure_compare/2139140 warning: the variable "i" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator141 │142 463 │ <<_::binary-size(i), byte2::8, _::binary>> = padded2143 │ ~144 │145 └─ lib/modules/storage/services/url_signer.ex:463:28: PhoenixKit.Modules.Storage.URLSigner.secure_compare/2146147 warning: unused require Logger148 │149 36 │ require Logger150 │ ~151 │152 └─ lib/phoenix_kit/aws/sesv2.ex:36:3153154 warning: unused require Logger155 │156 12 │ require Logger157 │ ~158 │159 └─ lib/phoenix_kit/install/css_integration.ex:12:3160161 warning: unused require Logger162 │163 46 │ require Logger164 │ ~165 │166 └─ lib/phoenix_kit/integrations/key_store.ex:46:3167168Compiling lib/modules/storage/workers/process_file_job.ex (it's taking more than 10s)169Compiling lib/modules/storage/workers/checksum_backfill_job.ex (it's taking more than 10s)170Compiling lib/modules/storage/workers/capture_date_backfill_job.ex (it's taking more than 10s)171Compiling lib/modules/storage/services/variant_generator.ex (it's taking more than 10s)172Compiling lib/modules/storage/services/reconciler.ex (it's taking more than 10s)173Compiling lib/modules/storage/services/image_editing.ex (it's taking more than 10s)174Compiling lib/modules/storage/services/file_server.ex (it's taking more than 10s)175Compiling lib/modules/storage/services/annotation_thumbnail.ex (it's taking more than 10s)176Compiling lib/modules/storage/schemas/file_details.ex (it's taking more than 10s)177Compiling lib/modules/storage/reorganizer/resource_source.ex (it's taking more than 10s)178Compiling lib/modules/storage/reorganizer/action.ex (it's taking more than 10s)179Compiling lib/modules/storage/reorganizer.ex (it's taking more than 10s)180Compiling lib/modules/storage/library_state.ex (it's taking more than 10s)181Compiling lib/modules/storage/bucket_credentials.ex (it's taking more than 10s)182Compiling lib/phoenix_kit/mentions/users.ex (it's taking more than 10s)183Compiling lib/phoenix_kit/mailer.ex (it's taking more than 10s)184Compiling lib/phoenix_kit/jobs/run_worker.ex (it's taking more than 10s)185Compiling lib/phoenix_kit/jobs/oban_store.ex (it's taking more than 10s)186Compiling lib/phoenix_kit/jobs/history.ex (it's taking more than 10s)187Compiling lib/phoenix_kit/jobs/engine.ex (it's taking more than 10s)188Compiling lib/phoenix_kit/jobs.ex (it's taking more than 10s)189Compiling lib/phoenix_kit/integrations/key_rotation.ex (it's taking more than 10s)190 warning: unused require Logger191 │192 13 │ require Logger193 │ ~194 │195 └─ lib/modules/storage/reorganizer/action.ex:13:3196197 warning: unused require Logger198 │199 32 │ require Logger200 │ ~201 │202 └─ lib/modules/storage/workers/checksum_backfill_job.ex:32:3203204 warning: unused require Logger205 │206 10 │ require Logger207 │ ~208 │209 └─ lib/phoenix_kit/system/dependencies.ex:10:3210211Compiling lib/phoenix_kit/notifications/prefs.ex (it's taking more than 10s)212 warning: unused require Logger213 │214 10 │ require Logger215 │ ~216 │217 └─ lib/modules/storage/web/settings.ex:10:3218219Compiling lib/phoenix_kit_web/components/media_browser.ex (it's taking more than 10s)220 warning: unused require Logger221 │222 44 │ require Logger223 │ ~224 │225 └─ lib/phoenix_kit_web/live/components/user_settings.ex:44:3226227 warning: unused require Logger228 │229 19 │ require Logger230 │ ~231 │232 └─ lib/phoenix_kit_web/live/settings/authorization.ex:19:3233234Compiling lib/phoenix_kit_web/router.ex (it's taking more than 10s)235 warning: the following clause is redundant:236237 other ->238239 previous clauses have already matched on the following types:240241 {:error, :rate_limit_exceeded}242 {:ok, nil}243 {:error, binary()}244245 where "other" was given the type:246247 # type: dynamic(248 ({:error, binary()} and not {:ok, %{..., status: true}}) or {:error, :rate_limit_exceeded} or249 {:ok, nil}250 )251 # from: lib/phoenix_kit_web/users/referral_gate.ex:102:7252 other253254 type warning found at:255 │256 102 │ other ->257 │ ~258 │259 └─ lib/phoenix_kit_web/users/referral_gate.ex:102:13: PhoenixKitWeb.Users.ReferralGate.handle_event/3260261 warning: this clause in cond will always match:262263 base_url = PhoenixKit.Config.get_string(:oauth_base_url)264265 since it has type:266267 binary()268269 where "base_url" was given the type:270271 # type: binary()272 # from: lib/phoenix_kit_web/plugs/ensure_oauth_scheme.ex:34:16273 base_url = PhoenixKit.Config.get_string(:oauth_base_url)274275 type warning found at:276 │277 34 │ base_url = PhoenixKit.Config.get_string(:oauth_base_url) ->278 │ ~279 │280 └─ lib/phoenix_kit_web/plugs/ensure_oauth_scheme.ex:34:64: PhoenixKitWeb.Plugs.EnsureOAuthScheme.call/2281282 warning: the following clause cannot match because the previous clauses already matched all possible values:283284 _ ->285286 it attempts to match on the result of:287288 providers289290 which has the already matched type:291292 dynamic(empty_list() or map() or non_empty_list(term(), term()))293294 type warning found at:295 │296 71 │ _ ->297 │ ~298 │299 └─ lib/phoenix_kit_web/plugs/ensure_oauth_config.ex:71:9: PhoenixKitWeb.Plugs.EnsureOAuthConfig.ensure_oauth_config/0300301 warning: comparison between distinct types found:302303 scope != nil304305 given types:306307 dynamic(not nil) != nil308309 where "scope" was given the type:310311 # type: dynamic(not nil)312 # from: lib/phoenix_kit_web/live/users/permissions_matrix.ex:79:29313 PhoenixKit.Users.Permissions.can_edit_role_permissions?(scope, role)314315 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 false316317 type warning found at:318 │319 80 │ true <- scope != nil && Scope.has_module_access?(scope, "users") do320 │ ~321 │322 └─ lib/phoenix_kit_web/live/users/permissions_matrix.ex:80:24: PhoenixKitWeb.Live.Users.PermissionsMatrix.handle_event/3323324 warning: the following conditional expression will always succeed:325326 assigns.ml_enabled327328 because it evaluates to:329330 dynamic(not false and not nil)331332 where "assigns" was given the types:333334 # type: dynamic(335 %{..., __changed__: term(), ml_enabled: not false and not nil} or336 %{..., ml_enabled: not false and not nil}337 )338 # from: lib/phoenix_kit_web/live/modules/languages.html.heex:1339 assigns340341 # type: dynamic(%{..., ml_enabled: term()})342 # from: lib/phoenix_kit_web/live/modules/languages.html.heex:348343 assigns.ml_enabled344345 # type: dynamic(%{..., ml_enabled: not false and not nil})346 # from: lib/phoenix_kit_web/live/modules/languages.html.heex:348347 assigns.ml_enabled348349 type warning found at:350 │351 355 │ <%= if @ml_enabled and length(@languages) >= 1 do %>352 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~353 │354 └─ lib/phoenix_kit_web/live/modules/languages.html.heex:355: PhoenixKitWeb.Live.Modules.Languages.render/1355356 warning: this clause of defp off_type_upload_error/1 is never used (or it will always fail/warn when invoked)357 │358 377 │ defp off_type_upload_error(_), do: gettext("Only the allowed file types can be added here.")359 │ ~360 │361 └─ lib/phoenix_kit_web/live/components/media_selector_modal.ex:377:8: PhoenixKitWeb.Live.Components.MediaSelectorModal.off_type_upload_error/1362363 warning: comparison between distinct types found:364365 folder_uuid == nil366367 given types:368369 dynamic(not nil) == nil370371 where "folder_uuid" was given the type:372373 # type: dynamic(not nil)374 # from: lib/phoenix_kit_web/components/media_browser.ex:1004375 folder_uuid in [nil, ""]376377 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 false378379 type warning found at:380 │381 1016 │ {nil, [], Storage.list_folders(nil, scope, lib), not is_nil(folder_uuid)}382 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~383 │384 └─ lib/phoenix_kit_web/components/media_browser.ex:1016: PhoenixKitWeb.Components.MediaBrowser.resolve_folder/3385386 warning: the following conditional expression:387388 !assigns.is_renaming389390 will always evaluate to true because its inner expression has type:391392 dynamic(false or nil)393394 type warning found at:395 │396 662 │ @renaming_folder == @node.folder.uuid && !@is_renaming && "renaming-preview"397 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~398 │399 └─ lib/phoenix_kit_web/components/folder_explorer.ex:662: PhoenixKitWeb.Components.FolderExplorer."folder_tree_node (overridable 1)"/1400401 warning: this clause of defp build_burn_canvas/1 is never used (or it will always fail/warn when invoked)402 │403 1424 │ defp build_burn_canvas(_file), do: nil404 │ ~405 │406 └─ lib/phoenix_kit_web/components/media_canvas_viewer.ex:1424:8: PhoenixKitWeb.Components.MediaCanvasViewer.build_burn_canvas/1407408 warning: this clause of defp build_viewer_canvas/3 is never used (or it will always fail/warn when invoked)409 │410 1507 │ defp build_viewer_canvas(nil, _annotations, _locked?), do: nil411 │ ~412 │413 └─ lib/phoenix_kit_web/components/media_canvas_viewer.ex:1507:8: PhoenixKitWeb.Components.MediaCanvasViewer.build_viewer_canvas/3414415 warning: incompatible types given to PhoenixKit.Dashboard.Tab.localized_label/1:416417 PhoenixKit.Dashboard.Tab.localized_label(subtab)418419 given types:420421 -dynamic(%{..., active: term(), path: binary()})-422423 but expected one of:424425 #1426 %PhoenixKit.Dashboard.Tab{label: nil}427428 #2429 %PhoenixKit.Dashboard.Tab{label: not nil}430431 where "subtab" was given the types:432433 # type: dynamic(%{..., path: binary()})434 # from: lib/phoenix_kit_web/components/dashboard/sidebar.ex:597435 build_path(subtab.path, assigns.locale)436437 # type: dynamic(%{..., active: term(), path: binary()})438 # from: lib/phoenix_kit_web/components/dashboard/sidebar.ex:600439 subtab.active440441 type warning found at:442 │443 606 │ <span>{Tab.localized_label(subtab)}</span>444 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~445 │446 └─ lib/phoenix_kit_web/components/dashboard/sidebar.ex:606: PhoenixKitWeb.Components.Dashboard.Sidebar."mobile_tab_with_subtabs (overridable 1)"/1447448 warning: the following conditional expression:449450 assigns.tab.external451452 will always evaluate to:453454 dynamic(not false and not nil)455456 where "assigns" was given the types:457458 # type: dynamic(%{..., tab: %{..., external: not false and not nil}})459 # from: lib/phoenix_kit_web/components/dashboard/tab_item.ex:89460 assigns461462 # type: dynamic(%{..., tab: %{..., external: term()}})463 # from: lib/phoenix_kit_web/components/dashboard/tab_item.ex:90:17464 assigns.tab.external465466 # type: dynamic(%{..., tab: %{..., external: not false and not nil}})467 # from: lib/phoenix_kit_web/components/dashboard/tab_item.ex:90:17468 assigns.tab.external469470 type warning found at:471 │472 110 │ <%= if @tab.external do %>473 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~474 │475 └─ lib/phoenix_kit_web/components/dashboard/tab_item.ex:110: PhoenixKitWeb.Components.Dashboard.TabItem.render_tab/1476477 warning: incompatible types given to flyout_id/1:478479 flyout_id(assigns.tab)480481 given types:482483 -dynamic(%{..., active: term(), id: term()})-484485 but expected one of:486487 %PhoenixKit.Dashboard.Tab{}488489 where "assigns" was given the types:490491 # type: dynamic(%{..., tab: %{..., id: term()}})492 # from: lib/phoenix_kit_web/components/dashboard/admin_sidebar.ex:217:15493 PhoenixKit.Dashboard.TabHelpers.get_subtabs_for(assigns.tab.id, assigns.all_tabs)494495 # type: dynamic(%{..., all_tabs: term(), tab: %{..., id: term()}})496 # from: lib/phoenix_kit_web/components/dashboard/admin_sidebar.ex:217:15497 PhoenixKit.Dashboard.TabHelpers.get_subtabs_for(assigns.tab.id, assigns.all_tabs)498499 # type: dynamic(%{..., all_tabs: term(), tab: %{..., active: term(), id: term()}})500 # from: lib/phoenix_kit_web/components/dashboard/admin_sidebar.ex:222:11501 PhoenixKit.Dashboard.Tab.show_subtabs?(assigns.tab, assigns.tab.active)502503 type warning found at:504 │505 244 │ |> assign(:flyout_id, flyout_id(assigns.tab))506 │ ~507 │508 └─ lib/phoenix_kit_web/components/dashboard/admin_sidebar.ex:244:29: PhoenixKitWeb.Components.Dashboard.AdminSidebar."admin_tab_with_subtabs (overridable 1)"/1509510 warning: the right-hand side of || (shown as ... below) will never be executed:511512 lang.name || dialect || ...513514 because the left-hand side always evaluates to:515516 dynamic(not false and not nil)517518 where "dialect" was given the types:519520 # type: dynamic(nil or binary())521 # from: lib/phoenix_kit_web/components/core/language_switcher.ex:618:30522 PhoenixKit.Modules.Languages.DialectMapper.extract_base(dialect)523524 # type: binary()525 # from: lib/phoenix_kit_web/components/core/language_switcher.ex:619:16526 get_language_flag(dialect)527528 where "lang" was given the types:529530 # type: dynamic(%{..., code: term()})531 # from: lib/phoenix_kit_web/components/core/language_switcher.ex:617:17532 dialect = lang.code533534 # type: dynamic(%{..., code: term(), name: term()})535 # from: lib/phoenix_kit_web/components/core/language_switcher.ex:624:26536 lang.name537538 type warning found at:539 │540 624 │ "name" => lang.name || dialect || "Unknown",541 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~542 │543 └─ lib/phoenix_kit_web/components/core/language_switcher.ex:624: PhoenixKitWeb.Components.Core.LanguageSwitcher."language_switcher_buttons (overridable 1)"/1544545 warning: the right-hand side of || (shown as ... below) will never be executed:546547 lang.name || dialect || ...548549 because the left-hand side always evaluates to:550551 dynamic(not false and not nil)552553 where "dialect" was given the types:554555 # type: dynamic(nil or binary())556 # from: lib/phoenix_kit_web/components/core/language_switcher.ex:745:30557 PhoenixKit.Modules.Languages.DialectMapper.extract_base(dialect)558559 # type: binary()560 # from: lib/phoenix_kit_web/components/core/language_switcher.ex:746:16561 get_language_flag(dialect)562563 where "lang" was given the types:564565 # type: dynamic(%{..., code: term()})566 # from: lib/phoenix_kit_web/components/core/language_switcher.ex:744:17567 dialect = lang.code568569 # type: dynamic(%{..., code: term(), name: term()})570 # from: lib/phoenix_kit_web/components/core/language_switcher.ex:751:26571 lang.name572573 type warning found at:574 │575 751 │ "name" => lang.name || dialect || "Unknown",576 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~577 │578 └─ lib/phoenix_kit_web/components/core/language_switcher.ex:751: PhoenixKitWeb.Components.Core.LanguageSwitcher."language_switcher_inline (overridable 1)"/1579580 warning: this clause of defp has_denied_permissions/1 is never used (or it will always fail/warn when invoked)581 │582 272 │ defp has_denied_permissions(_), do: false583 │ ~584 │585 └─ lib/phoenix_kit_web/components/core/aws_credentials_verify.ex:272:8: PhoenixKitWeb.Components.Core.AWSCredentialsVerify.has_denied_permissions/1586587 warning: comparison between distinct types found:588589 scope_folder_id == nil590591 given types:592593 dynamic(not nil) == nil594595 where "scope_folder_id" was given the type:596597 # type: dynamic(not nil)598 # from: lib/modules/storage/storage.ex:1831:48599 scope_folder_id600601 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 false602603 type warning found at:604 │605 1846 │ in_folder_tree(moving?(folder, new_parent) or not is_nil(scope_folder_id), fn ->606 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~607 │608 └─ lib/modules/storage/storage.ex:1846: PhoenixKit.Modules.Storage.update_folder/3609610 warning: the right-hand side of || will always execute:611612 PhoenixKit.Jobs.Run.__schema__(:prefix)613614 because the left-hand side always evaluates to:615616 dynamic(nil)617618 where "x" (context Kernel) was given the type:619620 # type: dynamic(nil)621 # from: lib/phoenix_kit/jobs/oban_store.ex:81622 x623624 type warning found at:625 │626 81 │ run_prefix = Run.__schema__(:prefix) || "public"627 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~628 │629 └─ lib/phoenix_kit/jobs/oban_store.ex:81: PhoenixKit.Jobs.ObanStore.stalled_queues/2630631 warning: this clause of defp reason_note/1 is never used (or it will always fail/warn when invoked)632 │633 363 │ defp reason_note(:declined), do: "Nothing was changed.\n"634 │ ~635 │636 └─ lib/phoenix_kit/install/missing_igniter.ex:363:8: PhoenixKit.Install.MissingIgniter.reason_note/1637638 warning: incompatible types given to Map.get/2:639640 Map.get(item, field)641642 given types:643644 -dynamic(not map())-, dynamic(atom())645646 but expected one of:647648 map(), term()649650 where "field" was given the types:651652 # type: dynamic(atom())653 # from: lib/phoenix_kit/dashboard/context_selector.ex:486:24654 field655656 # type: atom()657 # from: lib/phoenix_kit/dashboard/context_selector.ex:486:36658 is_atom(field)659660 where "item" was given the type:661662 # type: dynamic(not map())663 # from: lib/phoenix_kit/dashboard/context_selector.ex:486:18664 item665666 type warning found at:667 │668 486 │ defp get_field(item, field) when is_atom(field), do: Map.get(item, field)669 │ ~670 │671 └─ lib/phoenix_kit/dashboard/context_selector.ex:486:60: PhoenixKit.Dashboard.ContextSelector.get_field/2672673 warning: this clause of defp get_field/2 is never used (or it will always fail/warn when invoked)674 │675 487 │ defp get_field(_, _), do: nil676 │ ~677 │678 └─ lib/phoenix_kit/dashboard/context_selector.ex:487:8: PhoenixKit.Dashboard.ContextSelector.get_field/2679680 warning: the following clause is redundant:681682 defp get_context_field(context, field)683 when is_map(context) and is_map_key(context, :__struct__) and684 is_atom(:erlang.map_get(:__struct__, context))685686 it has type:687688 dynamic(%{..., __struct__: atom()}), dynamic()689690 previous clauses have already matched on the following types:691692 map(), term()693694 │695 752 │ defp get_context_field(context, field) when is_struct(context) do696 │ ~697 │698 └─ lib/phoenix_kit/dashboard/badge.ex:752:8: PhoenixKit.Dashboard.Badge.get_context_field/2699700 warning: comparison between distinct types found:701702 result == :ok703704 given types:705706 dynamic(707 {:error, binary()} or {:ok, nil or binary() or empty_list() or non_empty_list(term(), term())}708 ) == :ok709710 where "result" was given the type:711712 # type: dynamic(713 {:error, binary()} or {:ok, nil or binary() or empty_list() or non_empty_list(term(), term())}714 )715 # from: lib/modules/storage/services/manager.ex:576:14716 result =717 try do718 ...719 end720721 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 false722723 type warning found at:724 │725 583 │ ok? = result == :ok or match?({:ok, _}, result)726 │ ~727 │728 └─ lib/modules/storage/services/manager.ex:583:20: PhoenixKit.Modules.Storage.Manager.write_to/4729730Generated phoenix_kit app731==> phoenix_kit_billing732Compiling 88 files (.ex)733 warning: the following conditional expression:734735 days736737 will always evaluate to:738739 dynamic(float() or integer())740741 where "days" was given the type:742743 # type: dynamic(float() or integer())744 # from: lib/phoenix_kit_billing/web/subscription_detail.html.heex:147745 days = days_until_renewal(assigns.subscription)746747 type warning found at:748 │749 148 │ <%= if days && days > 0 do %>750 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~751 │752 └─ lib/phoenix_kit_billing/web/subscription_detail.html.heex:148: PhoenixKitBilling.Web.SubscriptionDetail.render/1753754 warning: this clause of defp get_country_name/1 is never used (or it will always fail/warn when invoked)755 │756 80 │ defp get_country_name(nil), do: ""757 │ ~758 │759 └─ lib/phoenix_kit_billing/web/settings.ex:80:8: PhoenixKitBilling.Web.Settings.get_country_name/1760761 warning: the following clause will never match:762763 %PhoenixKitBilling.Transaction{} ->764765 it is expected to match on type:766767 dynamic(not %PhoenixKitBilling.Transaction{})768769 type warning found at:770 │771 61 │ %Transaction{} ->772 │ ~773 │774 └─ lib/phoenix_kit_billing/web/payment_confirmation_print.ex:61:7: PhoenixKitBilling.Web.PaymentConfirmationPrint.do_mount/3775776 warning: this clause of defp refresh_order/1 is never used (or it will always fail/warn when invoked)777 │778 100 │ defp refresh_order(socket), do: socket779 │ ~780 │781 └─ lib/phoenix_kit_billing/web/order_detail.ex:100:8: PhoenixKitBilling.Web.OrderDetail.refresh_order/1782783 warning: this clause of defp refresh_invoice/1 is never used (or it will always fail/warn when invoked)784 │785 139 │ defp refresh_invoice(socket), do: socket786 │ ~787 │788 └─ lib/phoenix_kit_billing/web/invoice_detail.ex:139:8: PhoenixKitBilling.Web.InvoiceDetail.refresh_invoice/1789790 warning: the following clause will never match:791792 %PhoenixKitBilling.Transaction{} ->793794 it is expected to match on type:795796 dynamic(not %PhoenixKitBilling.Transaction{})797798 type warning found at:799 │800 65 │ %Transaction{} ->801 │ ~802 │803 └─ lib/phoenix_kit_billing/web/credit_note_print.ex:65:7: PhoenixKitBilling.Web.CreditNotePrint.do_mount/3804805Generated phoenix_kit_billing app806==> phoenix_kit_ecommerce807Compiling 123 files (.ex)808Compiling lib/phoenix_kit_ecommerce/ai_translatable.ex (it's taking more than 10s)809 warning: unused require Logger810 │811 67 │ require Logger812 │ ~813 │814 └─ lib/phoenix_kit_ecommerce/services/image_fingerprint.ex:67:3815816Compiling lib/phoenix_kit_ecommerce/gettext.ex (it's taking more than 10s)817 error: module PhoenixKitAI.Components.AITranslate.Embed is not loaded and could not be found818 │819 25 │ use PhoenixKitAI.Components.AITranslate.Embed820 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^821 │822 └─ lib/phoenix_kit_ecommerce/web/product_form.ex:25: PhoenixKitEcommerce.Web.ProductForm (module)823824825== Compilation error in file lib/phoenix_kit_ecommerce/web/product_form.ex ==826** (CompileError) lib/phoenix_kit_ecommerce/web/product_form.ex: cannot compile module PhoenixKitEcommerce.Web.ProductForm (errors have been logged)827 (elixir 1.20.3) expanding macro: Kernel.use/1828 lib/phoenix_kit_ecommerce/web/product_form.ex:25: PhoenixKitEcommerce.Web.ProductForm (module)829 (elixir 1.20.3) expanding macro: Kernel.if/2830 lib/phoenix_kit_ecommerce/web/product_form.ex:24: PhoenixKitEcommerce.Web.ProductForm (module)831could not compile dependency :phoenix_kit_ecommerce, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile phoenix_kit_ecommerce --force", update it with "mix deps.update phoenix_kit_ecommerce" or clean it with "mix deps.clean phoenix_kit_ecommerce"