phoenix_kit_ecommerce

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"