Your comments
For which exact background tasks? What are the benefits?
Yes, the button should be there.
Please enable TRACE logging for "smartgit.azure.config". For details, have a look at: https://www.syntevo.com/doc/display/SG/Debugging#Debugging-Enablingdebugloggingforcertainkeys
Once enabled, logs/logs.txt.0 will contain details on where the mapping between your Hosting Provider configuration and the remote URL fails.
Your screenshot shows the URL ending with "/tfs". This sounds like the root of all collections, though for me that would simply be "http://server:8080/". The REST API always requires to provide a "collection", hence I'm using "http://server:8080/DefaultCollection" as Server URL. Do you repository URLs also contain this kind of "collections"? Do you have several different "collections"? Some example URLs would be helpful.
So it's only about Pull/Push? If so, I will change the subject.
Thanks for your feedback! You are right. SmartGit wasn't actually prepared for on-premise instances. I have now uploaded build 17090 which should work better: Help|Check for Latest Build
I was able to confirm that the REST API works for my test setup (VM). I wasn't able to access repositories using Git from outside of the VM: I'm always ending up with "Authentication failed for ...", no matter which username/PAT combinations I'm using. How do you access your Git repositories from command line?
Another note: for every REST call, the "api-version=" is included, which currently defaults to "6.0". This seems to work with the most recent Azure DevOps Server. If you encounter error messages related to the API version, you can change this in the Preferences, Low-Level Properties, "azure.apiVersion".
Azure Refreshing shouldn't block the GUI and repository refreshing for 30 seconds sounds excessive. Please send periodical thread dumps to smartgit@syntevo.com:
https://www.syntevo.com/doc/display/SG/Periodical+Thread+Dumps
Build 17083 now supports this optimized URLs, for "visualstudio.com" as well as "dev.azure.com" domains. On the other hand, I have added another check to ensure that the remote URL ends with the repository name and does not contain additional, unexpected path segments. Hopefully that doesn't break URLs which have already been working now :)
Conflict resolution has been reworked in 21.1. Also, you may want to enable/disable "Swap ours and theirs ..." option in the Preferences, Conflict Solvers.
Is this still an issue with 21.1 preview latest build (Help|Check for Latest Build)?
Customer support service by UserEcho
You can see all executed and currently executing commands in Window|Output. You can also cancel a Clone there.