Skip to content

Commit 87e0b6d

Browse files
committed
Fix onSuccess of proxy provider
1 parent c59a6ba commit 87e0b6d

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

site/src/contexts/ProxyContext.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,27 +53,31 @@ export const ProxyProvider: FC<PropsWithChildren> = ({ children }) => {
5353

5454

5555
const dashboard = useDashboard()
56-
const experimentEnabled = !dashboard?.experiments.includes("moons")
56+
const experimentEnabled = dashboard?.experiments.includes("moons")
5757
const queryKey = ["get-proxies"]
58-
const { data: proxies, error: proxiesError, isLoading: proxiesLoading, isFetched: proxiesFetched } = useQuery({
58+
const { data: proxiesResp, error: proxiesError, isLoading: proxiesLoading, isFetched: proxiesFetched } = useQuery({
5959
queryKey,
6060
queryFn: getWorkspaceProxies,
6161
// This onSuccess ensures the local storage is synchronized with the
6262
// proxies returned by coderd. If the selected proxy is not in the list,
6363
// then the user selection is removed.
64-
onSuccess: () => {
65-
setAndSaveProxy(proxy.selectedProxy)
64+
onSuccess: (resp) => {
65+
setAndSaveProxy(proxy.selectedProxy, resp.regions)
6666
},
6767
enabled: experimentEnabled,
6868
})
6969

7070
const setAndSaveProxy = (
7171
selectedProxy?: Region,
72+
// By default the proxies come from the api call above.
73+
// Allow the caller to override this if they have a more up
74+
// to date list of proxies.
75+
proxies: Region[] = proxiesResp?.regions || [],
7276
) => {
7377
if (!proxies) {
7478
throw new Error("proxies are not yet loaded, so selecting a proxy makes no sense. How did you get here?")
7579
}
76-
const preferred = getPreferredProxy(proxies.regions, selectedProxy)
80+
const preferred = getPreferredProxy(proxies, selectedProxy)
7781
// Save to local storage to persist the user's preference across reloads
7882
// and other tabs.
7983
savePreferredProxy(preferred)
@@ -105,7 +109,7 @@ export const ProxyProvider: FC<PropsWithChildren> = ({ children }) => {
105109
preferredWildcardHostname:
106110
applicationHostResult?.host || "",
107111
},
108-
proxies: experimentEnabled ? proxies?.regions : [],
112+
proxies: experimentEnabled ? proxiesResp?.regions : [],
109113
isLoading: experimentEnabled ? proxiesLoading : appHostLoading,
110114
isFetched: experimentEnabled ? proxiesFetched : appHostFetched,
111115
error: experimentEnabled ? proxiesError : appHostError,

0 commit comments

Comments
 (0)