diff --git a/assets/translations/en.json b/assets/translations/en.json index d490583e..daa4544f 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -392,6 +392,7 @@ "generation_error": "Couldn't generate a recovery key. {}" }, "modals": { + "server_validators_error": "Couldn't fetch available servers.", "already_exists": "Such server already exists.", "unexpected_error": "Unexpected error during placement from the provider side.", "destroy_server": "Destroy the server and create a new one?", diff --git a/assets/translations/ru.json b/assets/translations/ru.json index 17cdbcad..a5cc6634 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -392,6 +392,7 @@ "generation_error": "Не удалось сгенерировать ключ. {}" }, "modals": { + "server_validators_error": "Не удалось получить список серверов.", "already_exists": "Такой сервер уже существует.", "unexpected_error": "Непредвиденная ошибка со стороны провайдера.", "destroy_server": "Уничтожить сервер и создать новый?", diff --git a/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean.dart b/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean.dart index 1ab5795c..c7928653 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/digital_ocean/digital_ocean.dart @@ -23,7 +23,7 @@ import 'package:selfprivacy/utils/password_generator.dart'; class DigitalOceanApi extends ServerProviderApi with VolumeProviderApi { DigitalOceanApi({ required this.region, - this.hasLogger = false, + this.hasLogger = true, this.isWithToken = true, }); @override diff --git a/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner.dart b/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner.dart index 6e2049e9..f0e032e8 100644 --- a/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner.dart +++ b/lib/logic/api_maps/rest_maps/server_providers/hetzner/hetzner.dart @@ -24,7 +24,7 @@ import 'package:selfprivacy/utils/password_generator.dart'; class HetznerApi extends ServerProviderApi with VolumeProviderApi { HetznerApi({ this.region, - this.hasLogger = false, + this.hasLogger = true, this.isWithToken = true, }); @override diff --git a/lib/logic/cubit/server_installation/server_installation_cubit.dart b/lib/logic/cubit/server_installation/server_installation_cubit.dart index c63154c0..4da57479 100644 --- a/lib/logic/cubit/server_installation/server_installation_cubit.dart +++ b/lib/logic/cubit/server_installation/server_installation_cubit.dart @@ -633,18 +633,27 @@ class ServerInstallationCubit extends Cubit { state as ServerInstallationRecovery; final List servers = await repository.getServersOnProviderAccount(); - final Iterable validated = servers.map( - (final ServerBasicInfo server) => - ServerBasicInfoWithValidators.fromServerBasicInfo( - serverBasicInfo: server, - isIpValid: server.ip == dataState.serverDetails?.ip4, - isReverseDnsValid: - server.reverseDns == dataState.serverDomain?.domainName || - server.reverseDns == - dataState.serverDomain?.domainName.split('.')[0], - ), - ); - return validated.toList(); + List validatedList = []; + try { + final Iterable validated = servers.map( + (final ServerBasicInfo server) => + ServerBasicInfoWithValidators.fromServerBasicInfo( + serverBasicInfo: server, + isIpValid: server.ip == dataState.serverDetails?.ip4, + isReverseDnsValid: + server.reverseDns == dataState.serverDomain?.domainName || + server.reverseDns == + dataState.serverDomain?.domainName.split('.')[0], + ), + ); + validatedList = validated.toList(); + } catch (e) { + print(e); + getIt() + .showSnackBar('modals.server_validators_error'.tr()); + } + + return validatedList; } Future setServerId(final ServerBasicInfo server) async {