Geo: Separate proxy controls for UI and the rest
Release notes
Problem to solve
The ability to disable proxying completely can serve as a good fallback in cases where a defect starts routing all requests to the primary which results in a poor experience for the remote developers. Getting slightly out-of-date data is preferable to waiting a long time for a clone to complete, especially where large repositories are involved. Disabling proxying can quickly unblock a customer and reduce the productivity impact on remote developers from the high latency connection to the primary.
Proposal
We should have two separate controls one for the UI proxying and another for the rest.
Having separate controls allows proxying to be preserved for UI access where higher latency is tolerable compared to not being able to edit issues and MRs - an overall better user experience. This is particularly acute in the Unified URL scenarios where the developer is not able to explicitly choose to access the primary for UI instead always being directed to the closest secondary. In having a separate toggle for the UI from the other workflows most of the remote developer experience can be preserved under scenarios mentioned in the problem section.
Intended users
Feature Usage Metrics
TBD