Skip to content

Performance issue: Extremely slow, unpredictable cloning when using HTTPS with GitHub #1375

@nrdxp

Description

@nrdxp

Issue Description

When attempting to use a local josh-proxy instance targeting GitHub via HTTPS, I'm experiencing extremely slow performance during the cloning process. The time to complete a clone operation ranges from a few seconds to over 10 minutes, which seems to defeat josh's purpose of being "blazingly fast".

Observed Behavior

  1. The git clone command appears to hang indefinitely.
  2. Josh logs indicate there is no authentication information present in the request.
  3. After a very long wait (sometimes up to 10 minutes), the repository is eventually cloned.

Attempted Solutions

  • Tried multiple ways to pass authentication information, including container invocation and client CLI side.
  • Added the --required-auth flag.
  • Tested with an empty git config to rule out local configuration issues.

Potential Cause

The slow performance might be due to GitHub rate limiting caused by missing authentication. The logs suggest that authentication information is not being passed through correctly.

Questions

  1. Is there a proper way to pass GitHub authentication through josh that I'm missing?
  2. Could this be related to the size of the repository being cloned (e.g., nixpkgs is exceptionally large)?
  3. Are there any known issues with josh's handling of HTTPS connections to GitHub?

Additional Information

  • I'm using a git credential helper that works correctly when not using josh.
  • The "getting started" guide explicitly uses https://github.com as an example, which led me to believe this should work out of the box.

Any insights or suggestions for further debugging would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions