summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-04-10 17:28:37 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-04-10 17:28:37 +0200
commit1c5712f028250920fe34ce7686c77a7d80da9481 (patch)
tree16d3e4320d83335eaa0c3e13c260a20ec8092f82
parente4591042b587d73794515da0be9627aedb27ac94 (diff)
parent120d29e02c9b869f57cedfc820219e9fe6881841 (diff)
downloadmullvadvpn-1c5712f028250920fe34ce7686c77a7d80da9481.tar.xz
mullvadvpn-1c5712f028250920fe34ce7686c77a7d80da9481.zip
Merge branch 'show-ip-version-error-desktop'
-rw-r--r--android/lib/resource/src/main/res/values/strings.xml4
-rw-r--r--desktop/packages/mullvad-vpn/locales/messages.pot14
-rw-r--r--desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts4
-rw-r--r--desktop/packages/mullvad-vpn/src/shared/daemon-rpc-types.ts2
-rw-r--r--desktop/packages/mullvad-vpn/src/shared/notifications/error.ts19
5 files changed, 39 insertions, 4 deletions
diff --git a/android/lib/resource/src/main/res/values/strings.xml b/android/lib/resource/src/main/res/values/strings.xml
index 84b58a76a3..5ff72dfcd1 100644
--- a/android/lib/resource/src/main/res/values/strings.xml
+++ b/android/lib/resource/src/main/res/values/strings.xml
@@ -406,8 +406,8 @@
<string name="uri_market_app_not_found">No Android app store installed, could not open link</string>
<string name="uri_browser_app_not_found">No browser app installed, could not open link</string>
<string name="ipv6_info">When this feature is enabled, IPv6 can be used alongside IPv4 in the VPN tunnel to communicate with internet services.</string>
- <string name="ip_version_v4_unavailable">IPv4 is not available</string>
- <string name="ip_version_v6_unavailable">IPv6 is not available</string>
+ <string name="ip_version_v4_unavailable">IPv4 is not available, please try changing \"Device IP version\" setting.</string>
+ <string name="ip_version_v6_unavailable">IPv6 is not available, please try changing \"Device IP version\" setting.</string>
<string name="device_ip_info_first_paragraph">This feature allows you to choose whether to use only IPv4, only IPv6, or allow the app to automatically decide the best option when connecting to a server.</string>
<string name="device_ip_info_second_paragraph">It can be useful when you are aware of problems caused by a certain IP version.</string>
</resources>
diff --git a/desktop/packages/mullvad-vpn/locales/messages.pot b/desktop/packages/mullvad-vpn/locales/messages.pot
index cbad0e266b..68e0873d3b 100644
--- a/desktop/packages/mullvad-vpn/locales/messages.pot
+++ b/desktop/packages/mullvad-vpn/locales/messages.pot
@@ -1249,6 +1249,16 @@ msgctxt "notifications"
msgid "Failed to enable split tunneling. Please try reconnecting or disable split tunneling."
msgstr ""
+#. Label for notification when IPv4 is not available.
+msgctxt "notifications"
+msgid "IPv4 is not available, please try changing <b>%(ipVersionFeatureName)</b> setting."
+msgstr ""
+
+#. Label for notification when IPv6 is not available.
+msgctxt "notifications"
+msgid "IPv6 is not available, please try changing <b>%(ipVersionFeatureName)</b> setting."
+msgstr ""
+
msgctxt "notifications"
msgid "Lockdown mode active, connection blocked"
msgstr ""
@@ -2599,10 +2609,10 @@ msgstr ""
msgid "Google Play unavailable"
msgstr ""
-msgid "IPv4 is not available"
+msgid "IPv4 is not available, please try changing \"Device IP version\" setting."
msgstr ""
-msgid "IPv6 is not available"
+msgid "IPv6 is not available, please try changing \"Device IP version\" setting."
msgstr ""
msgid "If the split tunneling feature is used, then the app queries your system for a list of all installed applications. This list is only retrieved in the split tunneling view. The list of installed applications is never sent from the device."
diff --git a/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts b/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts
index d24b77c222..ae6fada5d6 100644
--- a/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts
+++ b/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts
@@ -320,6 +320,10 @@ function convertFromParameterError(
return TunnelParameterError.noWireguardKey;
case grpcTypes.ErrorState.GenerationError.CUSTOM_TUNNEL_HOST_RESOLUTION_ERROR:
return TunnelParameterError.customTunnelHostResolutionError;
+ case grpcTypes.ErrorState.GenerationError.NETWORK_IPV4_UNAVAILABLE:
+ return TunnelParameterError.ipv4Unavailable;
+ case grpcTypes.ErrorState.GenerationError.NETWORK_IPV6_UNAVAILABLE:
+ return TunnelParameterError.ipv6Unavailable;
}
}
diff --git a/desktop/packages/mullvad-vpn/src/shared/daemon-rpc-types.ts b/desktop/packages/mullvad-vpn/src/shared/daemon-rpc-types.ts
index 00228667c9..3607cf81db 100644
--- a/desktop/packages/mullvad-vpn/src/shared/daemon-rpc-types.ts
+++ b/desktop/packages/mullvad-vpn/src/shared/daemon-rpc-types.ts
@@ -63,6 +63,8 @@ export enum TunnelParameterError {
noMatchingBridgeRelay,
noWireguardKey,
customTunnelHostResolutionError,
+ ipv4Unavailable,
+ ipv6Unavailable,
}
export type ErrorStateDetails =
diff --git a/desktop/packages/mullvad-vpn/src/shared/notifications/error.ts b/desktop/packages/mullvad-vpn/src/shared/notifications/error.ts
index 1d3bc169d4..0b88468a24 100644
--- a/desktop/packages/mullvad-vpn/src/shared/notifications/error.ts
+++ b/desktop/packages/mullvad-vpn/src/shared/notifications/error.ts
@@ -205,6 +205,7 @@ export class ErrorNotificationProvider
}
private getTunnelParameterMessage(error: TunnelParameterError): string {
+ const ipVersion = messages.pgettext('wireguard-settings-view', 'IP version');
switch (error) {
/// TODO: once bridge constraints can be set, add a more descriptive error message
case TunnelParameterError.noMatchingBridgeRelay:
@@ -228,6 +229,24 @@ export class ErrorNotificationProvider
'notifications',
'Unable to resolve host of custom tunnel. Try changing your settings.',
);
+ case TunnelParameterError.ipv4Unavailable:
+ return sprintf(
+ // TRANSLATORS: Label for notification when IPv4 is not available.
+ messages.pgettext(
+ 'notifications',
+ 'IPv4 is not available, please try changing <b>%(ipVersionFeatureName)</b> setting.',
+ ),
+ { ipVersionFeatureName: ipVersion },
+ );
+ case TunnelParameterError.ipv6Unavailable:
+ return sprintf(
+ // TRANSLATORS: Label for notification when IPv6 is not available.
+ messages.pgettext(
+ 'notifications',
+ 'IPv6 is not available, please try changing <b>%(ipVersionFeatureName)</b> setting.',
+ ),
+ { ipVersionFeatureName: ipVersion },
+ );
}
}