Build log
host
humo_account 0.1.0 · fail · run humo_account-0.1.0-1790948632956
1312 of 1312 lines
1Resolving Hex dependencies...2Resolution completed in 0.612s3Unchanged:4 bamboo 1.7.15 bamboo_smtp 2.1.06 bcrypt_elixir 3.3.27 castore 1.0.218 certifi 2.17.09 circular_buffer 1.1.010 comeonin 5.5.111 cowboy 2.19.012 cowboy_telemetry 0.4.013 cowlib 2.20.0 VULNERABLE!14 EEF-CVE-2026-43966 (MEDIUM)15 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c16 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/217 https://osv.dev/vulnerability/EEF-CVE-2026-439661819 EEF-CVE-2026-43969 (LOW)20 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5621 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/122 https://osv.dev/vulnerability/EEF-CVE-2026-4396923 db_connection 2.10.224 decimal 3.1.125 ecto 3.14.226 ecto_sql 3.14.027 elixir_make 0.10.028 esbuild 0.10.029 expo 1.1.130 file_system 0.2.1031 gen_smtp 0.15.032 gettext 0.26.233 h2 0.12.334 hackney 4.8.435 humo 0.1.236 humo_account 0.1.037 idna 7.1.038 interactive_cmd 0.1.439 jason 1.4.540 mime 1.6.041 mimerl 1.5.042 nerves 2.0.0-pre.243 nerves_discovery 0.1.544 nerves_logging 0.2.445 nerves_runtime 0.13.1346 nerves_system_bbb 2.30.247 nerves_system_br 1.34.448 nerves_system_mangopi_mq_pro 0.17.249 nerves_system_qemu_aarch64 0.4.250 nerves_system_rpi0 2.1.251 nerves_system_rpi4 2.1.252 nerves_system_rpi5 2.1.253 nerves_system_trellis 0.5.054 nerves_system_x86_64 1.34.255 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.156 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.157 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.158 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.159 nerves_toolchain_x86_64_nerves_linux_musl 15.3.160 nerves_uevent 0.1.761 parse_trans 3.4.262 phoenix 1.6.1763 phoenix_ecto 4.7.064 phoenix_html 3.3.465 phoenix_live_dashboard 0.9.166 phoenix_live_view 1.2.1267 phoenix_pubsub 2.3.068 phoenix_template 1.1.069 phoenix_view 2.0.470 plug 1.20.371 plug_cowboy 2.9.072 plug_crypto 1.2.573 postgrex 0.22.474 property_table 0.3.475 quic 2.1.076 ranch 2.3.077 ring_logger 0.11.778 ssl_verify_fun 1.1.779 tablet 0.3.380 telemetry 1.4.281 telemetry_metrics 0.6.282 telemetry_poller 1.3.083 toolshed 0.5.084 uboot_env 1.0.285 webtransport 0.4.786Found packages with security advisories, see above for details87All dependencies have been fetched88==> file_system89Compiling 7 files (.ex)90 warning: using single-quoted strings to represent charlists is deprecated.91 Use ~c"" if you indeed want a charlist or use "" instead.92 You may run "mix format --migrate" to change all single-quoted93 strings to use the ~c sigil and fix this warning.94 │95 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',96 │ ~97 │98 └─ lib/file_system/backends/fs_inotify.ex:71:1199100 warning: using single-quoted strings to represent charlists is deprecated.101 Use ~c"" if you indeed want a charlist or use "" instead.102 You may run "mix format --migrate" to change all single-quoted103 strings to use the ~c sigil and fix this warning.104 │105 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',106 │ ~107 │108 └─ lib/file_system/backends/fs_inotify.ex:71:17109110 warning: using single-quoted strings to represent charlists is deprecated.111 Use ~c"" if you indeed want a charlist or use "" instead.112 You may run "mix format --migrate" to change all single-quoted113 strings to use the ~c sigil and fix this warning.114 │115 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',116 │ ~117 │118 └─ lib/file_system/backends/fs_inotify.ex:71:27119120 warning: using single-quoted strings to represent charlists is deprecated.121 Use ~c"" if you indeed want a charlist or use "" instead.122 You may run "mix format --migrate" to change all single-quoted123 strings to use the ~c sigil and fix this warning.124 │125 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',126 │ ~127 │128 └─ lib/file_system/backends/fs_inotify.ex:71:33129130 warning: using single-quoted strings to represent charlists is deprecated.131 Use ~c"" if you indeed want a charlist or use "" instead.132 You may run "mix format --migrate" to change all single-quoted133 strings to use the ~c sigil and fix this warning.134 │135 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',136 │ ~137 │138 └─ lib/file_system/backends/fs_inotify.ex:71:48139140 warning: using single-quoted strings to represent charlists is deprecated.141 Use ~c"" if you indeed want a charlist or use "" instead.142 You may run "mix format --migrate" to change all single-quoted143 strings to use the ~c sigil and fix this warning.144 │145 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',146 │ ~147 │148 └─ lib/file_system/backends/fs_inotify.ex:71:54149150 warning: using single-quoted strings to represent charlists is deprecated.151 Use ~c"" if you indeed want a charlist or use "" instead.152 You may run "mix format --migrate" to change all single-quoted153 strings to use the ~c sigil and fix this warning.154 │155 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',156 │ ~157 │158 └─ lib/file_system/backends/fs_inotify.ex:71:66159160 warning: using single-quoted strings to represent charlists is deprecated.161 Use ~c"" if you indeed want a charlist or use "" instead.162 You may run "mix format --migrate" to change all single-quoted163 strings to use the ~c sigil and fix this warning.164 │165 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',166 │ ~167 │168 └─ lib/file_system/backends/fs_inotify.ex:71:72169170 warning: using single-quoted strings to represent charlists is deprecated.171 Use ~c"" if you indeed want a charlist or use "" instead.172 You may run "mix format --migrate" to change all single-quoted173 strings to use the ~c sigil and fix this warning.174 │175 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'176 │ ~177 │178 └─ lib/file_system/backends/fs_inotify.ex:72:11179180 warning: using single-quoted strings to represent charlists is deprecated.181 Use ~c"" if you indeed want a charlist or use "" instead.182 You may run "mix format --migrate" to change all single-quoted183 strings to use the ~c sigil and fix this warning.184 │185 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'186 │ ~187 │188 └─ lib/file_system/backends/fs_inotify.ex:72:17189190 warning: using single-quoted strings to represent charlists is deprecated.191 Use ~c"" if you indeed want a charlist or use "" instead.192 You may run "mix format --migrate" to change all single-quoted193 strings to use the ~c sigil and fix this warning.194 │195 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'196 │ ~197 │198 └─ lib/file_system/backends/fs_inotify.ex:72:27199200 warning: using single-quoted strings to represent charlists is deprecated.201 Use ~c"" if you indeed want a charlist or use "" instead.202 You may run "mix format --migrate" to change all single-quoted203 strings to use the ~c sigil and fix this warning.204 │205 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'206 │ ~207 │208 └─ lib/file_system/backends/fs_inotify.ex:72:33209210 warning: using single-quoted strings to represent charlists is deprecated.211 Use ~c"" if you indeed want a charlist or use "" instead.212 You may run "mix format --migrate" to change all single-quoted213 strings to use the ~c sigil and fix this warning.214 │215 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'216 │ ~217 │218 └─ lib/file_system/backends/fs_inotify.ex:72:43219220 warning: using single-quoted strings to represent charlists is deprecated.221 Use ~c"" if you indeed want a charlist or use "" instead.222 You may run "mix format --migrate" to change all single-quoted223 strings to use the ~c sigil and fix this warning.224 │225 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'226 │ ~227 │228 └─ lib/file_system/backends/fs_inotify.ex:72:49229230 warning: using single-quoted strings to represent charlists is deprecated.231 Use ~c"" if you indeed want a charlist or use "" instead.232 You may run "mix format --migrate" to change all single-quoted233 strings to use the ~c sigil and fix this warning.234 │235 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'236 │ ~237 │238 └─ lib/file_system/backends/fs_inotify.ex:72:59239240 warning: using single-quoted strings to represent charlists is deprecated.241 Use ~c"" if you indeed want a charlist or use "" instead.242 You may run "mix format --migrate" to change all single-quoted243 strings to use the ~c sigil and fix this warning.244 │245 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'246 │ ~247 │248 └─ lib/file_system/backends/fs_inotify.ex:72:79249250 warning: using single-quoted strings to represent charlists is deprecated.251 Use ~c"" if you indeed want a charlist or use "" instead.252 You may run "mix format --migrate" to change all single-quoted253 strings to use the ~c sigil and fix this warning.254 │255 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'256 │ ~257 │258 └─ lib/file_system/backends/fs_inotify.ex:72:90259260 warning: using single-quoted strings to represent charlists is deprecated.261 Use ~c"" if you indeed want a charlist or use "" instead.262 You may run "mix format --migrate" to change all single-quoted263 strings to use the ~c sigil and fix this warning.264 │265 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'266 │ ~267 │268 └─ lib/file_system/backends/fs_inotify.ex:72:96269270 warning: using single-quoted strings to represent charlists is deprecated.271 Use ~c"" if you indeed want a charlist or use "" instead.272 You may run "mix format --migrate" to change all single-quoted273 strings to use the ~c sigil and fix this warning.274 │275 84 │ parse_options(t, result -- ['-r'])276 │ ~277 │278 └─ lib/file_system/backends/fs_inotify.ex:84:33279280 warning: using single-quoted strings to represent charlists is deprecated.281 Use ~c"" if you indeed want a charlist or use "" instead.282 You may run "mix format --migrate" to change all single-quoted283 strings to use the ~c sigil and fix this warning.284 │285 104 │ bash_args = ['-c', '#{executable_path()} "$0" "$@" & PID=$!; read a; kill -KILL $PID']286 │ ~287 │288 └─ lib/file_system/backends/fs_inotify.ex:104:22289290 warning: using single-quoted strings to represent charlists is deprecated.291 Use ~c"" if you indeed want a charlist or use "" instead.292 You may run "mix format --migrate" to change all single-quoted293 strings to use the ~c sigil and fix this warning.294 │295 104 │ bash_args = ['-c', '#{executable_path()} "$0" "$@" & PID=$!; read a; kill -KILL $PID']296 │ ~297 │298 └─ lib/file_system/backends/fs_inotify.ex:104:28299300 warning: using single-quoted strings to represent charlists is deprecated.301 Use ~c"" if you indeed want a charlist or use "" instead.302 You may run "mix format --migrate" to change all single-quoted303 strings to use the ~c sigil and fix this warning.304 │305 109 │ bash_args ++ ['--'] ++ port_args306 │ ~307 │308 └─ lib/file_system/backends/fs_inotify.ex:109:29309310 warning: using single-quoted strings to represent charlists is deprecated.311 Use ~c"" if you indeed want a charlist or use "" instead.312 You may run "mix format --migrate" to change all single-quoted313 strings to use the ~c sigil and fix this warning.314 │315 116 │ {:spawn_executable, '/bin/sh'},316 │ ~317 │318 └─ lib/file_system/backends/fs_inotify.ex:116:31319320 warning: using single-quoted strings to represent charlists is deprecated.321 Use ~c"" if you indeed want a charlist or use "" instead.322 You may run "mix format --migrate" to change all single-quoted323 strings to use the ~c sigil and fix this warning.324 │325 94 │ args = ['-F' | dirs |> Enum.map(&Path.absname/1) |> Enum.map(&to_charlist/1)]326 │ ~327 │328 └─ lib/file_system/backends/fs_mac.ex:94:17329330 warning: using single-quoted strings to represent charlists is deprecated.331 Use ~c"" if you indeed want a charlist or use "" instead.332 You may run "mix format --migrate" to change all single-quoted333 strings to use the ~c sigil and fix this warning.334 │335 103 │ ['--latency=#{latency / 1}' | result]336 │ ~337 │338 └─ lib/file_system/backends/fs_mac.ex:103:10339340 warning: using single-quoted strings to represent charlists is deprecated.341 Use ~c"" if you indeed want a charlist or use "" instead.342 You may run "mix format --migrate" to change all single-quoted343 strings to use the ~c sigil and fix this warning.344 │345 111 │ parse_options(t, ['--no-defer' | result])346 │ ~347 │348 └─ lib/file_system/backends/fs_mac.ex:111:23349350 warning: using single-quoted strings to represent charlists is deprecated.351 Use ~c"" if you indeed want a charlist or use "" instead.352 You may run "mix format --migrate" to change all single-quoted353 strings to use the ~c sigil and fix this warning.354 │355 121 │ parse_options(t, ['--with-root' | result])356 │ ~357 │358 └─ lib/file_system/backends/fs_mac.ex:121:23359360 warning: using single-quoted strings to represent charlists is deprecated.361 Use ~c"" if you indeed want a charlist or use "" instead.362 You may run "mix format --migrate" to change all single-quoted363 strings to use the ~c sigil and fix this warning.364 │365 83 │ '--format', format, '--quiet', '-m', '-r'366 │ ~367 │368 └─ lib/file_system/backends/fs_windows.ex:83:11369370 warning: using single-quoted strings to represent charlists is deprecated.371 Use ~c"" if you indeed want a charlist or use "" instead.372 You may run "mix format --migrate" to change all single-quoted373 strings to use the ~c sigil and fix this warning.374 │375 83 │ '--format', format, '--quiet', '-m', '-r'376 │ ~377 │378 └─ lib/file_system/backends/fs_windows.ex:83:31379380 warning: using single-quoted strings to represent charlists is deprecated.381 Use ~c"" if you indeed want a charlist or use "" instead.382 You may run "mix format --migrate" to change all single-quoted383 strings to use the ~c sigil and fix this warning.384 │385 83 │ '--format', format, '--quiet', '-m', '-r'386 │ ~387 │388 └─ lib/file_system/backends/fs_windows.ex:83:42389390 warning: using single-quoted strings to represent charlists is deprecated.391 Use ~c"" if you indeed want a charlist or use "" instead.392 You may run "mix format --migrate" to change all single-quoted393 strings to use the ~c sigil and fix this warning.394 │395 83 │ '--format', format, '--quiet', '-m', '-r'396 │ ~397 │398 └─ lib/file_system/backends/fs_windows.ex:83:48399400 warning: using single-quoted strings to represent charlists is deprecated.401 Use ~c"" if you indeed want a charlist or use "" instead.402 You may run "mix format --migrate" to change all single-quoted403 strings to use the ~c sigil and fix this warning.404 │405 95 │ parse_options(t, result -- ['-r'])406 │ ~407 │408 └─ lib/file_system/backends/fs_windows.ex:95:33409410 warning: expected a map or struct when accessing .bootstrap in expression:411412 module.bootstrap413414 where "module" was given the type:415416 # type: dynamic(atom())417 # from: lib/file_system/backend.ex:22:17418 validate_os(backend, module)419420 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()421422 type warning found at:423 │424 23 │ :ok <- module.bootstrap425 │ ~426 │427 └─ lib/file_system/backend.ex:23:24: FileSystem.Backend.backend/1428429Generated file_system app430==> mime431Compiling 2 files (.ex)432Generated mime app433==> nerves_compatibility_test434===> Analyzing applications...435===> Compiling gen_smtp436 ┌─ src/gen_smtp_server_session.erl:437 │438 265 │ case catch Module:code_change(OldVsn, State#state.callbackstate, Extra) of439 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.440Compile directive 'nowarn_deprecated_catch' can be used to suppress441warnings in selected modules.442443 ┌─ src/gen_smtp_server_session.erl:444 │445 389 │ crypto:start(), % ensure crypto is started, we're gonna need it446 │ ╰── Warning: crypto:start/0 is deprecated; use application:start(crypto) instead447448449 ┌─ src/smtp_util.erl:450 │451 73 │ Bin = crypto:hmac(md5, Key, Data),452 │ ╰── Warning: crypto:hmac/3 is removed; use crypto:mac/4 instead453454455 ┌─ src/gen_smtp_client.erl:456 │457 620 │ case catch smtp_socket:to_ssl_client(Socket, proplists:get_value(tls_options, Options, []), 5000) of458 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.459Compile directive 'nowarn_deprecated_catch' can be used to suppress460warnings in selected modules.461462463 ┌─ src/gen_smtp_server.erl:464 │465 225 │ lists:foreach(fun(#listener{socket=S}) -> catch smtp_socket:close(S) end, State#state.listeners),466 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.467Compile directive 'nowarn_deprecated_catch' can be used to suppress468warnings in selected modules.469470471 ┌─ src/gen_smtp_application.erl:472 │473 12 │ start_ok(_App, {error, {already_started, _App}}) -> ok;474 │ ╰── Warning: variable '_App' is bound multiple times in this pattern.475If you mean to ignore this value, use '_' or476a different underscore-prefixed name477478 ┌─ src/gen_smtp_application.erl:479 │480 12 │ start_ok(_App, {error, {already_started, _App}}) -> ok;481 │ ╰── Warning: variable '_App' is bound multiple times in this pattern.482If you mean to ignore this value, use '_' or483a different underscore-prefixed name484485486==> plug_crypto487Compiling 5 files (.ex)488Generated plug_crypto app489==> nerves_compatibility_test490===> Analyzing applications...491===> Compiling cowlib492==> esbuild493Compiling 4 files (.ex)494Generated esbuild app495==> telemetry_metrics496Compiling 7 files (.ex)497 warning: unused require Logger498 │499 391 │ require Logger500 │ ~501 │502 └─ lib/telemetry_metrics.ex:391:3503504Generated telemetry_metrics app505==> nerves_compatibility_test506===> Analyzing applications...507===> Compiling telemetry_poller508===> Analyzing applications...509===> Compiling cowboy510==> gettext511Compiling 18 files (.ex)512 warning: unused require Gettext.Macros513 │514 594 │ require Gettext.Macros515 │ ~516 │517 └─ lib/gettext.ex:594:3518519 warning: the following clause is redundant:520521 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)522523 it has type:524525 dynamic(%Expo.Message.Plural{})526527 previous clauses have already matched on the following types:528529 %Expo.Message.Singular{}530 %Expo.Message.Plural{}531532 │533 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do534 │ ~535 │536 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1537538 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead539 │540 426 │ Kernel.ParallelCompiler.async(fn ->541 │ ~542 │543 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3544545Generated gettext app546==> plug547Compiling 1 file (.erl)548Compiling 42 files (.ex)549Generated plug app550==> phoenix_html551Compiling 9 files (.ex)552 warning: comparison between distinct types found:553554 id == nil555556 given types:557558 dynamic(not false and not nil and not binary()) == nil559560 where "id" was given the types:561562 # type: dynamic(not false and not nil)563 # from: lib/phoenix_html/form_data.ex:92:8564 id = Keyword.get(opts, :id) || name565566 # type: dynamic(not false and not nil and not binary())567 # from: lib/phoenix_html/form_data.ex:94:12568 is_binary(id)569570 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 false571572 type warning found at:573 │574 94 │ unless is_binary(id) or is_nil(id) do575 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~576 │577 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2578579 warning: the 1st pattern in clause will never match:580581 60582583 because it is expected to receive type:584585 dynamic(empty_list() or non_empty_list(term(), term()))586587 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())588589 type warning found at:590 │591 56 │ def to_iodata(?<), do: "<"592 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~593 │594 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1595596 warning: the 1st pattern in clause will never match:597598 62599600 because it is expected to receive type:601602 dynamic(empty_list() or non_empty_list(term(), term()))603604 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())605606 type warning found at:607 │608 57 │ def to_iodata(?>), do: ">"609 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~610 │611 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1612613 warning: the 1st pattern in clause will never match:614615 38616617 because it is expected to receive type:618619 dynamic(empty_list() or non_empty_list(term(), term()))620621 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())622623 type warning found at:624 │625 58 │ def to_iodata(?&), do: "&"626 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~627 │628 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1629630 warning: the 1st pattern in clause will never match:631632 34633634 because it is expected to receive type:635636 dynamic(empty_list() or non_empty_list(term(), term()))637638 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())639640 type warning found at:641 │642 59 │ def to_iodata(?"), do: """643 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~644 │645 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1646647 warning: the 1st pattern in clause will never match:648649 39650651 because it is expected to receive type:652653 dynamic(empty_list() or non_empty_list(term(), term()))654655 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())656657 type warning found at:658 │659 60 │ def to_iodata(?'), do: "'"660 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~661 │662 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1663664 warning: the 1st pattern in clause will never match:665666 {:safe, data}667668 because it is expected to receive type:669670 dynamic(empty_list() or non_empty_list(term(), term()))671672 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())673674 type warning found at:675 │676 76 │ def to_iodata({:safe, data}) do677 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~678 │679 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1680681 warning: the following clause is redundant:682683 def to_iodata(other)684685 it has type:686687 dynamic(empty_list() or non_empty_list(term(), term()))688689 previous clauses have already matched on the following types:690691 non_empty_list(term(), term())692 empty_list()693694 │695 80 │ def to_iodata(other) do696 │ ~697 │698 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1699700 warning: the 1st pattern in clause will never match:701702 h703704 because it is expected to receive type:705706 dynamic(empty_list() or non_empty_list(term(), term()))707708 where "h" was given the type:709710 # type: integer()711 # from: lib/phoenix_html/safe.ex:62:25712 is_integer(h)713714 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())715716 type warning found at:717 │718 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do719 │ ~720 │721 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1722723 warning: the 1st pattern in clause will never match:724725 h726727 because it is expected to receive type:728729 dynamic(empty_list() or non_empty_list(term(), term()))730731 where "h" was given the type:732733 # type: integer()734 # from: lib/phoenix_html/safe.ex:66:25735 is_integer(h)736737 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())738739 type warning found at:740 │741 66 │ def to_iodata(h) when is_integer(h) do742 │ ~743 │744 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1745746 warning: the 1st pattern in clause will never match:747748 h749750 because it is expected to receive type:751752 dynamic(empty_list() or non_empty_list(term(), term()))753754 where "h" was given the type:755756 # type: binary()757 # from: lib/phoenix_html/safe.ex:72:25758 is_binary(h)759760 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())761762 type warning found at:763 │764 72 │ def to_iodata(h) when is_binary(h) do765 │ ~766 │767 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1768769Generated phoenix_html app770==> phoenix_template771Compiling 4 files (.ex)772Generated phoenix_template app773==> phoenix_view774Compiling 1 file (.ex)775 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 operator776 │777 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix778 │ ~779 │780 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2781782Generated phoenix_view app783warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"784 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2785 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1786 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5787 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2788 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4789 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2790791==> phoenix_ecto792Compiling 7 files (.ex)793Generated phoenix_ecto app794==> nerves_compatibility_test795===> Analyzing applications...796===> Compiling cowboy_telemetry797==> plug_cowboy798Compiling 5 files (.ex)799Generated plug_cowboy app800warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"801 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2802 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1803 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5804 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2805 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4806 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2807808==> phoenix809Compiling 69 files (.ex)810 warning: using single-quoted strings to represent charlists is deprecated.811 Use ~c"" if you indeed want a charlist or use "" instead.812 You may run "mix format --migrate" to change all single-quoted813 strings to use the ~c sigil and fix this warning.814 │815 258 │ notBefore: {:utcTime, '#{not_before}000000Z'},816 │ ~817 │818 └─ lib/mix/tasks/phx.gen.cert.ex:258:33819820 warning: using single-quoted strings to represent charlists is deprecated.821 Use ~c"" if you indeed want a charlist or use "" instead.822 You may run "mix format --migrate" to change all single-quoted823 strings to use the ~c sigil and fix this warning.824 │825 259 │ notAfter: {:utcTime, '#{not_after}000000Z'}826 │ ~827 │828 └─ lib/mix/tasks/phx.gen.cert.ex:259:32829830 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead831 │832 50 │ Logger.warn(833 │ ~834 │835 └─ lib/phoenix/code_reloader/server.ex:50:20: Phoenix.CodeReloader.Server.handle_call/3836837 warning: unused require Logger838 │839 9 │ require Logger840 │ ~841 │842 └─ lib/phoenix/config.ex:9:3843844 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.845846 This error happens when you have function calls without parentheses inside keywords. For example:847848 function(arg, one: nested_call a, b, c)849 function(arg, one: if expr, do: :this, else: :that)850851 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:852853 function(arg, one: if(expr, do: :this, else: :that))854 function(arg, one: nested_call(a, b, c))855856 Ambiguity found at:857 │858 998 │ defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"859 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~860 │861 └─ lib/phoenix/controller.ex:998862863 warning: unused require Logger864 │865 259 │ require Logger866 │ ~867 │868 └─ lib/phoenix/endpoint.ex:259:3869870 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead871 │872 1009 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>873 │ ~874 │875 └─ lib/phoenix/controller.ex:1009:14: Phoenix.Controller.warn_if_ajax/1876877 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead878 │879 34 │ Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")880 │ ~881 │882 └─ lib/phoenix/endpoint/supervisor.ex:34:20: Phoenix.Endpoint.Supervisor.init/1883884 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead885 │886 57 │ Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")887 │ ~888 │889 └─ lib/phoenix/endpoint/supervisor.ex:57:14: Phoenix.Endpoint.Supervisor.init/1890891 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead892 │893 78 │ Logger.warn """894 │ ~895 │896 └─ lib/phoenix/endpoint/supervisor.ex:78:14: Phoenix.Endpoint.Supervisor.pubsub_children/2897898 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead899 │900 264 │ Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")901 │ ~902 │903 └─ lib/phoenix/endpoint/supervisor.ex:264:14: Phoenix.Endpoint.Supervisor.build_url/2904905 warning: unused require Phoenix.Endpoint906 │907 6 │ require Phoenix.Endpoint908 │ ~909 │910 └─ lib/phoenix/controller.ex:6:3911912 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 operator913 │914 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix915 │ ~916 │917 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2918919 warning: unused require Phoenix.Endpoint920 │921 19 │ require Phoenix.Endpoint922 │ ~923 │924 └─ lib/phoenix/endpoint/render_errors.ex:19:3925926 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.927928 This error happens when you have function calls without parentheses inside keywords. For example:929930 function(arg, one: nested_call a, b, c)931 function(arg, one: if expr, do: :this, else: :that)932933 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:934935 function(arg, one: if(expr, do: :this, else: :that))936 function(arg, one: nested_call(a, b, c))937938 Ambiguity found at:939 │940 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """941 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~942 │943 └─ lib/phoenix/router/resource.ex:71944945 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead946 │947 653 │ Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(socket.handler)}" end948 │ ~949 │950 └─ lib/phoenix/socket.ex:653:16: Phoenix.Socket.handle_in/4951952 warning: unused require Phoenix.Endpoint953 │954 6 │ require Phoenix.Endpoint955 │ ~956 │957 └─ lib/phoenix/channel/server.ex:6:3958959 warning: unused require Phoenix.Endpoint960 │961 192 │ require Phoenix.Endpoint962 │ ~963 │964 └─ lib/phoenix/socket.ex:192:3965966 warning: unused require Logger967 │968 93 │ require Logger969 │ ~970 │971 └─ lib/phoenix/token.ex:93:3972973 warning: comparison between distinct types found:974975 merge_all != []976977 given types:978979 dynamic(non_empty_list({atom(), term()})) != empty_list()980981 where "merge_all" was given the type:982983 # type: dynamic(non_empty_list({atom(), term()}))984 # from: lib/phoenix/router/route.ex:111:15985 merge_all = merge_params ++ merge_private ++ merge_assigns986987 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 false988989 type warning found at:990 │991 113 │ if merge_all != [] do992 │ ~993 │994 └─ lib/phoenix/router/route.ex:113:18: Phoenix.Router.Route.build_prepare/1995996 warning: a struct for Plug.Conn is expected on struct update:997998 %Plug.Conn{conn | state: :sent}9991000 but got type:10011002 dynamic()10031004 where "conn" was given the type:10051006 # type: dynamic()1007 # from: lib/phoenix/endpoint/render_errors.ex:57:171008 conn10091010 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10111012 type warning found at:1013 │1014 61 │ %Plug.Conn{conn | state: :sent}1015 │ ~1016 │1017 └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/510181019 warning: a struct for Plug.Conn is expected on struct update:10201021 %Plug.Conn{conn | query_params: %{}, params: %{}}10221023 but got type:10241025 dynamic(%{..., params: %Plug.Conn.Unfetched{}})10261027 where "conn" was given the types:10281029 # type: dynamic(%{..., params: term()})1030 # from: lib/phoenix/endpoint/render_errors.ex:124:171031 conn.params10321033 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1034 # from: lib/phoenix/endpoint/render_errors.ex:124:171035 conn.params10361037 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10381039 type warning found at:1040 │1041 125 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1042 │ ~1043 │1044 └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110451046 warning: a struct for Plug.Conn is expected on struct update:10471048 %Plug.Conn{conn | query_params: %{}, params: params}10491050 but got type:10511052 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})10531054 where "conn" was given the types:10551056 # type: dynamic(%{..., params: term()})1057 # from: lib/phoenix/endpoint/render_errors.ex:124:171058 conn.params10591060 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1061 # from: lib/phoenix/endpoint/render_errors.ex:124:171062 conn.params10631064 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10651066 type warning found at:1067 │1068 126 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1069 │ ~1070 │1071 └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110721073 warning: incompatible types given to socket_children/1:10741075 socket_children(mod)10761077 given types:10781079 -dynamic(atom())-10801081 but expected one of:10821083 %{..., __sockets__: term()}10841085 where "mod" was given the types:10861087 # type: dynamic(atom() or binary())1088 # from: lib/phoenix/endpoint/supervisor.ex:27:411089 defaults(otp_app, mod)10901091 # type: dynamic(atom())1092 # from: lib/phoenix/endpoint/supervisor.ex:31:161093 mod.init(:supervisor, env_conf)10941095 type warning found at:1096 │1097 67 │ socket_children(mod) ++1098 │ ~1099 │1100 └─ lib/phoenix/endpoint/supervisor.ex:67:7: Phoenix.Endpoint.Supervisor.init/111011102 warning: a struct for Plug.Conn is expected on struct update:11031104 %Plug.Conn{conn | params: params}11051106 but got type:11071108 dynamic(%{..., params: map()})11091110 where "conn" was given the type:11111112 # type: dynamic(%{..., params: map()})1113 # from: lib/phoenix/controller.ex:1036:171114 Map.get(conn.params, required_key)11151116 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11171118 type warning found at:1119 │1120 1043 │ %Plug.Conn{conn | params: params}1121 │ ~1122 │1123 └─ lib/phoenix/controller.ex:1043:5: Phoenix.Controller.scrub_params/211241125 warning: expected a module (an atom) when invoking compress_file/2 in expression:11261127 compressor.compress_file(file.digested_filename, file.digested_content)11281129 where "compressor" was given the type:11301131 # type: dynamic(%{..., file_extensions: non_empty_list(term(), term())})1132 # from: lib/phoenix/digester.ex:167:281133 [file_extension | _] = compressor.file_extensions11341135 where "file" was given the type:11361137 # type: dynamic(%{..., relative_path: term()})1138 # from: lib/phoenix/digester.ex:161:171139 Path.join(output_path, file.relative_path)11401141 type warning found at:1142 │1143 170 │ compressor.compress_file(file.digested_filename, file.digested_content) do1144 │ ~1145 │1146 └─ lib/phoenix/digester.ex:170:25: Phoenix.Digester.write_to_disk/211471148Generated phoenix app1149==> phoenix_live_view1150Compiling 55 files (.ex)1151Generated phoenix_live_view app1152==> phoenix_live_dashboard1153Compiling 36 files (.ex)1154 warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1155 │1156 326 │ do: struct.to_string(value)1157 │ ~1158 │1159 └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:326:16: Phoenix.LiveDashboard.EctoStatsPage.format/211601161Generated phoenix_live_dashboard app1162warning: Phoenix now requires you to explicitly list which engine to use1163for Phoenix JSON encoding. We recommend everyone to upgrade to1164Jason by setting in your config/config.exs:11651166 config :phoenix, :json_library, Jason11671168And then adding {:jason, "~> 1.0"} as a dependency.11691170If instead you would rather continue using Poison, then add to1171your config/config.exs:11721173 config :phoenix, :json_library, Poison11741175 (phoenix 1.6.17) lib/phoenix.ex:56: Phoenix.start/21176 (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/411771178warning: the :gettext compiler is no longer required in your mix.exs.11791180Please find the following line in your mix.exs and remove the :gettext entry:11811182 compilers: [..., :gettext, ...] ++ Mix.compilers(),11831184 (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11185 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51186 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21187 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41188 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21189 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/511901191==> humo1192Compiling 42 files (.ex)1193 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.11941195 This error happens when you have function calls without parentheses inside keywords. For example:11961197 function(arg, one: nested_call a, b, c)1198 function(arg, one: if expr, do: :this, else: :that)11991200 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:12011202 function(arg, one: if(expr, do: :this, else: :that))1203 function(arg, one: nested_call(a, b, c))12041205 Ambiguity found at:1206 │1207 47 │ raise ArgumentError,1208 │ ~~~~~~~~~~~~~~~~~~~~1209 │1210 └─ lib/humo/warehouse.ex:4712111212 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12131214 This error happens when you have function calls without parentheses inside keywords. For example:12151216 function(arg, one: nested_call a, b, c)1217 function(arg, one: if expr, do: :this, else: :that)12181219 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:12201221 function(arg, one: if(expr, do: :this, else: :that))1222 function(arg, one: nested_call(a, b, c))12231224 Ambiguity found at:1225 │1226 56 │ raise ArgumentError,1227 │ ~~~~~~~~~~~~~~~~~~~~1228 │1229 └─ lib/humo/warehouse.ex:5612301231 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12321233 This error happens when you have function calls without parentheses inside keywords. For example:12341235 function(arg, one: nested_call a, b, c)1236 function(arg, one: if expr, do: :this, else: :that)12371238 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:12391240 function(arg, one: if(expr, do: :this, else: :that))1241 function(arg, one: nested_call(a, b, c))12421243 Ambiguity found at:1244 │1245 63 │ raise ArgumentError,1246 │ ~~~~~~~~~~~~~~~~~~~~1247 │1248 └─ lib/humo/warehouse.ex:6312491250 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12511252 This error happens when you have function calls without parentheses inside keywords. For example:12531254 function(arg, one: nested_call a, b, c)1255 function(arg, one: if expr, do: :this, else: :that)12561257 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:12581259 function(arg, one: if(expr, do: :this, else: :that))1260 function(arg, one: nested_call(a, b, c))12611262 Ambiguity found at:1263 │1264 72 │ raise ArgumentError,1265 │ ~~~~~~~~~~~~~~~~~~~~1266 │1267 └─ lib/humo/warehouse.ex:7212681269 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12701271 This error happens when you have function calls without parentheses inside keywords. For example:12721273 function(arg, one: nested_call a, b, c)1274 function(arg, one: if expr, do: :this, else: :that)12751276 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:12771278 function(arg, one: if(expr, do: :this, else: :that))1279 function(arg, one: nested_call(a, b, c))12801281 Ambiguity found at:1282 │1283 80 │ raise ArgumentError,1284 │ ~~~~~~~~~~~~~~~~~~~~1285 │1286 └─ lib/humo/warehouse.ex:8012871288 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12891290 This error happens when you have function calls without parentheses inside keywords. For example:12911292 function(arg, one: nested_call a, b, c)1293 function(arg, one: if expr, do: :this, else: :that)12941295 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:12961297 function(arg, one: if(expr, do: :this, else: :that))1298 function(arg, one: nested_call(a, b, c))12991300 Ambiguity found at:1301 │1302 79 │ unless is_binary(action), do:1303 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1304 │1305 └─ lib/humo/warehouse.ex:79130613071308== Compilation error in file lib/humo/repo.ex ==1309** (ArgumentError) could not fetch application environment Humo.Repo for application :humo because the application was not loaded nor configured1310 (elixir 1.20.3) lib/application.ex:642: Application.compile_env!/31311 lib/humo/repo.ex:4: (module)1312could not compile dependency :humo, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile humo --force", update it with "mix deps.update humo" or clean it with "mix deps.clean humo"