Paige Kulzer Sorry for the above confusion, I have looked into the code and it goes through the same part of the code when you add a new Quickload manually but I think the issue is with the connection as I explained in the first comment there are two types of timeouts one is connectTimeout and the other is readTimeout the issue we were facing with the quickload server was the connection is established but the API isn't giving a response for a long time, in this case, I believe it's the connection that's not being established and the connectTimeout is stopping the API call. Below is the picture of the API timing window in inspect and you can see that the connection is not being established.
Also, as of now, I am still trying to figure out how to recreate this server issue, even if we change the igbDefaultPrefs.json with this, it's gonna behave the same.
Found the issue, the main quick load URLs (http://lorainelab-quickload.scidas.org) aren't responding, it might be some issue with the server, the API is taking a lot of time to respond with a site-not-reachable error. There is no read timeout specified in the HTTP connection code, because of that the HTTP request is waiting till it gets a response.
Types of timeout to set in HttpUrlConnection:
Connect Timeout: Time to establish a connection.
Read Timeout: Time to wait for data after the connection is established.
Typical Usage: Both should be set to reasonable values to ensure your application does not hang indefinitely waiting for a connection or data.
In the code, only connect timeout is set, updated it to have both the timeouts and everything's working correctly. Here is the changed code: https://bitbucket.org/jaya-sravani/integrated-genome-browser/branch/IGBF-3819. Ann Loraine Nowlan Freese Please review and let me know if there are any issues.