summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/components
diff options
context:
space:
mode:
authorJoakim Hulthe <joakim.hulthe@mullvad.net>2024-08-12 17:29:21 +0200
committerJoakim Hulthe <joakim.hulthe@mullvad.net>2024-09-17 11:29:23 +0200
commitfb92bf539e21542989c5bd31142b265f33812e0d (patch)
treed2945132ded2bd2b1cc4f0746d399a99badce541 /gui/src/renderer/components
parent09f779cf14749e19cbc7c702ca3314376b06bcc3 (diff)
downloadmullvadvpn-fb92bf539e21542989c5bd31142b265f33812e0d.tar.xz
mullvadvpn-fb92bf539e21542989c5bd31142b265f33812e0d.zip
Add temporary gui toggle for `use_anywhere`
Diffstat (limited to 'gui/src/renderer/components')
-rw-r--r--gui/src/renderer/components/WireguardSettings.tsx19
-rw-r--r--gui/src/renderer/components/select-location/RelayListContext.tsx5
2 files changed, 21 insertions, 3 deletions
diff --git a/gui/src/renderer/components/WireguardSettings.tsx b/gui/src/renderer/components/WireguardSettings.tsx
index 1f4709159f..5beeab26c9 100644
--- a/gui/src/renderer/components/WireguardSettings.tsx
+++ b/gui/src/renderer/components/WireguardSettings.tsx
@@ -531,6 +531,7 @@ function MtuSetting() {
function DaitaSettings() {
const { setDaitaSettings } = useAppContext();
const daita = useSelector((state) => state.settings.wireguard.daita?.enabled ?? false);
+ const useAnywhere = useSelector((state) => state.settings.wireguard.daita?.useAnywhere ?? false);
const [confirmationDialogVisible, showConfirmationDialog, hideConfirmationDialog] = useBoolean();
@@ -538,12 +539,16 @@ function DaitaSettings() {
if (value) {
showConfirmationDialog();
} else {
- void setDaitaSettings({ enabled: value });
+ void setDaitaSettings({ enabled: value, useAnywhere: useAnywhere });
}
}, []);
+ const setUseAnywhere = useCallback((value: boolean) => {
+ void setDaitaSettings({ enabled: daita, useAnywhere: value });
+ }, []);
+
const confirmDaita = useCallback(() => {
- void setDaitaSettings({ enabled: true });
+ void setDaitaSettings({ enabled: true, useAnywhere: useAnywhere });
hideConfirmationDialog();
}, []);
@@ -579,6 +584,16 @@ function DaitaSettings() {
</AriaInput>
</Cell.Container>
</AriaInputGroup>
+ <AriaInputGroup>
+ <Cell.Container>
+ <AriaLabel>
+ <Cell.InputLabel>The "Just make it work" Button</Cell.InputLabel>
+ </AriaLabel>
+ <AriaInput>
+ <Cell.Switch isOn={useAnywhere} onChange={setUseAnywhere} />
+ </AriaInput>
+ </Cell.Container>
+ </AriaInputGroup>
<ModalAlert
isOpen={confirmationDialogVisible}
type={ModalAlertType.caution}
diff --git a/gui/src/renderer/components/select-location/RelayListContext.tsx b/gui/src/renderer/components/select-location/RelayListContext.tsx
index 13e2dc28e8..13156dd045 100644
--- a/gui/src/renderer/components/select-location/RelayListContext.tsx
+++ b/gui/src/renderer/components/select-location/RelayListContext.tsx
@@ -62,8 +62,11 @@ interface RelayListContextProviderProps {
export function RelayListContextProvider(props: RelayListContextProviderProps) {
const { locationType, searchTerm } = useSelectLocationContext();
const daita = useSelector((state) => state.settings.wireguard.daita?.enabled ?? false);
+ const useAnywhere = useSelector((state) => state.settings.wireguard.daita?.useAnywhere ?? false);
+
const fullRelayList = useSelector((state) => state.settings.relayLocations);
const relaySettings = useNormalRelaySettings();
+ const multihop = relaySettings?.wireguard.useMultihop ?? false;
// Filters the relays to only keep the ones of the desired endpoint type, e.g. "wireguard",
// "openvpn" or "bridge"
@@ -76,7 +79,7 @@ export function RelayListContextProvider(props: RelayListContextProviderProps) {
const relayListForDaita = useMemo(() => {
return filterLocationsByDaita(
relayListForEndpointType,
- daita,
+ daita && (!useAnywhere || multihop),
locationType,
relaySettings?.tunnelProtocol ?? 'any',
relaySettings?.wireguard.useMultihop ?? false,