# Solved theme components fetching timeout error by removing DNS pre-solution

**URL:** <https://meta.discourse.org/t/solved-theme-components-fetching-timeout-error-by-removing-dns-pre-solution/388995>\
**Category:** General\
**Tags:** unsupported-install, rake-task\
**Created:** [November 19, 2025, 12:46pm UTC](https://meta.discourse.org/t/solved-theme-components-fetching-timeout-error-by-removing-dns-pre-solution/388995 "2025-11-19T12:46:20Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![MoRanYue](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moranyue/32/523065_2.png) [@MoRanYue](https://meta.discourse.org/u/MoRanYue)\
**Post date:** [November 19, 2025, 12:46pm UTC](https://meta.discourse.org/t/solved-theme-components-fetching-timeout-error-by-removing-dns-pre-solution/388995/1 "2025-11-19T12:46:20Z")

</div>

Continue discussion from [Recent updates seemed to stop rake task themes:update to use a proxy server](https://meta.discourse.org/t/recent-updates-seemed-to-stop-rake-task-themes-update-to-use-a-proxy-server/387956):

I could not fetch or update any theme component because of that timeout error, finally I figured it out. Removing the following lines starting with `-` in file `<Discourse>/lib/theme_store/git_importer.rb`:

```rb
  def clone_http!
    uri = redirected_uri

    raise_import_error! if %w[http https].exclude?(@uri.scheme)

- addresses = FinalDestination::SSRFDetector.lookup_and_filter_ips(uri.host)

- raise_import_error! if addresses.empty?

    env = { "GIT_TERMINAL_PROMPT" => "0" }

    args =
      clone_args(
        uri.to_s,
- "http.followRedirects" => "false",
- "http.curloptResolve" => "#{uri.host}:#{uri.port}:#{addresses.join(",")}",
      )

    begin
      Discourse::Utils.execute_command(env, *args, timeout: COMMAND_TIMEOUT_SECONDS)
    rescue RuntimeError
      raise_import_error!
    end
  end

```

These code processes a DNS pre-solution then forces `git` to use the IP addresses which is obtained from the pre-solution, I do not know why it always failed on my server, so I remove the logic.

In fact, I have a question about its existence, `git` itself will do a DNS solution, why we need this logic? This is not distinct, a kind of MITM prevention?

---

_[View the full topic](https://meta.discourse.org/t/solved-theme-components-fetching-timeout-error-by-removing-dns-pre-solution/388995)._
