diff options
| author | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2025-04-10 17:28:37 +0200 |
|---|---|---|
| committer | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2025-04-10 17:28:37 +0200 |
| commit | 1c5712f028250920fe34ce7686c77a7d80da9481 (patch) | |
| tree | 16d3e4320d83335eaa0c3e13c260a20ec8092f82 | |
| parent | e4591042b587d73794515da0be9627aedb27ac94 (diff) | |
| parent | 120d29e02c9b869f57cedfc820219e9fe6881841 (diff) | |
| download | mullvadvpn-1c5712f028250920fe34ce7686c77a7d80da9481.tar.xz mullvadvpn-1c5712f028250920fe34ce7686c77a7d80da9481.zip | |
Merge branch 'show-ip-version-error-desktop'
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 }, + ); } } |
