mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-04-19 21:39:16 +00:00
Improved server version check
This commit is contained in:
parent
c2af933eb5
commit
34bff2f506
29 changed files with 77 additions and 57 deletions
|
@ -1,20 +1,14 @@
|
|||
import 'package:adguard_home_manager/config/globals.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:adguard_home_manager/widgets/process_dialog.dart';
|
||||
|
||||
class ProcessModal {
|
||||
late BuildContext context;
|
||||
|
||||
ProcessModal({
|
||||
required this.context
|
||||
});
|
||||
|
||||
void open(String message) async {
|
||||
await Future.delayed(const Duration(seconds: 0), () => {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (c) {
|
||||
context = c;
|
||||
context: globalNavigatorKey.currentContext!,
|
||||
builder: (ctx) {
|
||||
return ProcessDialog(
|
||||
message: message,
|
||||
);
|
||||
|
@ -26,6 +20,6 @@ class ProcessModal {
|
|||
}
|
||||
|
||||
void close() {
|
||||
Navigator.pop(context);
|
||||
Navigator.pop(globalNavigatorKey.currentContext!);
|
||||
}
|
||||
}
|
|
@ -12,7 +12,7 @@ import 'package:adguard_home_manager/models/server.dart';
|
|||
Future<ApiResponse> clearDnsCache(BuildContext context, Server server) async {
|
||||
final serversProvider = Provider.of<ServersProvider>(context, listen: false);
|
||||
|
||||
final ProcessModal processModal = ProcessModal(context: context);
|
||||
final ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.clearingDnsCache);
|
||||
|
||||
final result = await serversProvider.apiClient2!.resetDnsCache();
|
||||
|
|
|
@ -237,7 +237,8 @@ class StatusProvider with ChangeNotifier {
|
|||
}
|
||||
|
||||
Future<bool> getServerStatus({
|
||||
bool? withLoadingIndicator
|
||||
bool? withLoadingIndicator,
|
||||
bool? overrideCheckServerVersion
|
||||
}) async {
|
||||
if (withLoadingIndicator == true) {
|
||||
_loadStatus = LoadStatus.loading;
|
||||
|
@ -258,7 +259,7 @@ class StatusProvider with ChangeNotifier {
|
|||
referenceVersion: MinimumServerVersion.stable,
|
||||
referenceVersionBeta: MinimumServerVersion.beta
|
||||
);
|
||||
if (validVersion == false) {
|
||||
if (validVersion == false && overrideCheckServerVersion != true) {
|
||||
showDialog(
|
||||
context: globalNavigatorKey.currentContext!,
|
||||
builder: (ctx) => UnsupportedVersionModal(
|
||||
|
@ -269,7 +270,6 @@ class StatusProvider with ChangeNotifier {
|
|||
)
|
||||
);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -75,7 +75,7 @@ class _AddedListState extends State<AddedList> {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void confirmEditClient(Client client) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.addingClient);
|
||||
|
||||
final result = await clientsProvider.editClient(client);
|
||||
|
@ -99,7 +99,7 @@ class _AddedListState extends State<AddedList> {
|
|||
}
|
||||
|
||||
void deleteClient(Client client) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.removingClient);
|
||||
|
||||
final result = await clientsProvider.deleteClient(client);
|
||||
|
|
|
@ -25,7 +25,7 @@ class ClientsFab extends StatelessWidget {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void confirmAddClient(Client client) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.addingClient);
|
||||
|
||||
final result = await clientsProvider.addClient(client);
|
||||
|
|
|
@ -86,7 +86,7 @@ class _SearchClientsState extends State<SearchClients> {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void deleteClient(Client client) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.removingClient);
|
||||
|
||||
final result = await clientsProvider.deleteClient(client);
|
||||
|
@ -110,7 +110,7 @@ class _SearchClientsState extends State<SearchClients> {
|
|||
}
|
||||
|
||||
void confirmEditClient(Client client) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.addingClient);
|
||||
|
||||
final result = await clientsProvider.editClient(client);
|
||||
|
|
|
@ -32,7 +32,7 @@ class AddFiltersButton extends StatelessWidget {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void confirmAddRule(String rule) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.addingRule);
|
||||
|
||||
final result = await filteringProvider.addCustomRule(rule);
|
||||
|
@ -83,7 +83,7 @@ class AddFiltersButton extends StatelessWidget {
|
|||
}
|
||||
|
||||
void confirmAddList({required String name, required String url, required String type}) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.addingList);
|
||||
|
||||
final result = await filteringProvider.addList(name: name, url: url, type: type);
|
||||
|
|
|
@ -81,7 +81,7 @@ class _ListDetailsScreenState extends State<ListDetailsScreen> {
|
|||
required FilteringListActions action,
|
||||
required Filter filterList,
|
||||
}) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(
|
||||
action == FilteringListActions.edit
|
||||
? AppLocalizations.of(context)!.savingList
|
||||
|
@ -249,7 +249,7 @@ class _ListDetailsScreenState extends State<ListDetailsScreen> {
|
|||
context: context,
|
||||
builder: (c) => DeleteListModal(
|
||||
onConfirm: () async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.deletingList);
|
||||
final result = await filteringProvider.deleteList(
|
||||
listUrl: list!.url,
|
||||
|
|
|
@ -51,7 +51,7 @@ class _FiltersState extends State<Filters> {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void updateLists() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.updatingLists);
|
||||
final result = await filteringProvider.updateLists();
|
||||
if (!mounted) return;
|
||||
|
@ -97,7 +97,7 @@ class _FiltersState extends State<Filters> {
|
|||
}
|
||||
|
||||
void enableDisableFiltering() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(
|
||||
statusProvider.serverStatus!.filteringEnabled == true
|
||||
? AppLocalizations.of(context)!.disableFiltering
|
||||
|
@ -125,7 +125,7 @@ class _FiltersState extends State<Filters> {
|
|||
}
|
||||
|
||||
void setUpdateFrequency(int value) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.changingUpdateFrequency);
|
||||
|
||||
final result = await filteringProvider.changeUpdateFrequency(value);
|
||||
|
@ -155,7 +155,7 @@ class _FiltersState extends State<Filters> {
|
|||
}
|
||||
|
||||
void removeCustomRule(String rule) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.deletingRule);
|
||||
|
||||
final result = await filteringProvider.removeCustomRule(rule);
|
||||
|
|
|
@ -40,7 +40,7 @@ class ListOptionsMenu extends StatelessWidget {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void enableDisable() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(
|
||||
list.enabled == true
|
||||
? AppLocalizations.of(context)!.disablingList
|
||||
|
|
|
@ -60,7 +60,7 @@ class _BlockedServicesScreenStateWidget extends State<BlockedServicesScreen> {
|
|||
}
|
||||
|
||||
void updateBlockedServices() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.updating);
|
||||
|
||||
final result = await filteringProvider.updateBlockedServices(values);
|
||||
|
|
|
@ -76,7 +76,7 @@ class _SelectionScreenState extends State<SelectionScreen> with TickerProviderSt
|
|||
selectedBlacklists: _selectedBlacklists,
|
||||
onDelete: () async {
|
||||
Navigator.pop(context);
|
||||
final processModal = ProcessModal(context: context);
|
||||
final processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.processingLists);
|
||||
final result = await filteringProvider.enableDisableMultipleLists(
|
||||
blacklists: _selectedBlacklists,
|
||||
|
@ -107,7 +107,7 @@ class _SelectionScreenState extends State<SelectionScreen> with TickerProviderSt
|
|||
selectedBlacklists: _selectedBlacklists,
|
||||
onDelete: () async {
|
||||
Navigator.pop(context);
|
||||
final processModal = ProcessModal(context: context);
|
||||
final processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.deletingLists);
|
||||
final result = await filteringProvider.deleteMultipleLists(
|
||||
blacklists: _selectedBlacklists,
|
||||
|
|
|
@ -59,7 +59,7 @@ class LogDetailsScreen extends StatelessWidget {
|
|||
}
|
||||
|
||||
void blockUnblock(String domain, String newStatus) async {
|
||||
final ProcessModal processModal = ProcessModal(context: context);
|
||||
final ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.savingUserFilters);
|
||||
|
||||
final rules = await statusProvider.blockUnblockDomain(
|
||||
|
|
|
@ -39,7 +39,7 @@ class LogsListAppBar extends StatelessWidget {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void updateConfig(Map<String, dynamic> data) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.updatingSettings);
|
||||
|
||||
final result = await serversProvider.apiClient2!.updateQueryLogParameters(data: data);
|
||||
|
@ -63,7 +63,7 @@ class LogsListAppBar extends StatelessWidget {
|
|||
}
|
||||
|
||||
void clearQueries() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.updatingSettings);
|
||||
|
||||
final result = await serversProvider.apiClient2!.clearLogs();
|
||||
|
|
|
@ -96,7 +96,7 @@ class _ClientsListState extends State<ClientsList> {
|
|||
body['blocked_hosts'] = body['blocked_hosts']!.where((c) => c != client).toList();
|
||||
}
|
||||
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.removingClient);
|
||||
|
||||
final result = await clientsProvider.removeClientList(client, type);
|
||||
|
@ -129,7 +129,7 @@ class _ClientsListState extends State<ClientsList> {
|
|||
}
|
||||
|
||||
void confirmAddItem(String item, AccessSettingsList type) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.removingClient);
|
||||
|
||||
final result = await clientsProvider.addClientList(item, type);
|
||||
|
|
|
@ -192,7 +192,7 @@ class _DhcpScreenState extends State<DhcpScreen> {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void saveSettings() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.savingSettings);
|
||||
final result = await serversProvider.apiClient2!.saveDhcpConfig(
|
||||
data: {
|
||||
|
@ -232,7 +232,7 @@ class _DhcpScreenState extends State<DhcpScreen> {
|
|||
|
||||
void restoreConfig() async {
|
||||
Future.delayed(const Duration(seconds: 0), () async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.restoringConfig);
|
||||
final result = await serversProvider.apiClient2!.resetDhcpConfig();
|
||||
if (!mounted) return;
|
||||
|
@ -257,7 +257,7 @@ class _DhcpScreenState extends State<DhcpScreen> {
|
|||
|
||||
void restoreLeases() async {
|
||||
Future.delayed(const Duration(seconds: 0), () async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.restoringLeases);
|
||||
|
||||
final result = await serversProvider.apiClient2!.restoreAllLeases();
|
||||
|
|
|
@ -35,7 +35,7 @@ class DhcpLeases extends StatelessWidget {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void deleteLease(Lease lease) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.deleting);
|
||||
|
||||
final result = await dhcpProvider.deleteLease(lease);
|
||||
|
@ -59,7 +59,7 @@ class DhcpLeases extends StatelessWidget {
|
|||
}
|
||||
|
||||
void createLease(Lease lease) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.creating);
|
||||
|
||||
final result = await dhcpProvider.createLease(lease);
|
||||
|
|
|
@ -70,7 +70,7 @@ class _BootstrapDnsScreenState extends State<BootstrapDnsScreen> {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void saveData() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.savingConfig);
|
||||
|
||||
final result = await dnsProvider.saveBootstrapDnsConfig({
|
||||
|
|
|
@ -73,7 +73,7 @@ class _CacheConfigDnsScreenState extends State<CacheConfigDnsScreen> {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void saveData() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.savingConfig);
|
||||
|
||||
final result = await dnsProvider.saveCacheCacheConfig({
|
||||
|
|
|
@ -103,7 +103,7 @@ class _DnsServerSettingsScreenState extends State<DnsServerSettingsScreen> {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void saveData() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.savingConfig);
|
||||
|
||||
final result = await dnsProvider.saveDnsServerConfig({
|
||||
|
|
|
@ -94,7 +94,7 @@ class _PrivateReverseDnsServersScreenState extends State<PrivateReverseDnsServer
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void saveData() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.savingConfig);
|
||||
|
||||
final result = await dnsProvider.savePrivateReverseServersConfig(
|
||||
|
|
|
@ -141,7 +141,7 @@ class _UpstreamDnsScreenState extends State<UpstreamDnsScreen> {
|
|||
}
|
||||
|
||||
void saveData() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.savingConfig);
|
||||
|
||||
final result = await dnsProvider.saveUpstreamDnsConfig({
|
||||
|
|
|
@ -59,7 +59,7 @@ class _DnsRewritesScreenState extends State<DnsRewritesScreen> {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void deleteDnsRewrite(RewriteRules rule) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.deleting);
|
||||
|
||||
final result = await rewriteRulesProvider.deleteDnsRewrite(rule);
|
||||
|
@ -83,7 +83,7 @@ class _DnsRewritesScreenState extends State<DnsRewritesScreen> {
|
|||
}
|
||||
|
||||
void addDnsRewrite(RewriteRules rule, _) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.addingRewrite);
|
||||
|
||||
final result = await rewriteRulesProvider.addDnsRewrite(rule);
|
||||
|
@ -107,7 +107,7 @@ class _DnsRewritesScreenState extends State<DnsRewritesScreen> {
|
|||
}
|
||||
|
||||
void updateRewriteRule(RewriteRules newRule, RewriteRules? previousRule) async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.updatingRule);
|
||||
|
||||
final result = await rewriteRulesProvider.editDnsRewrite(newRule, previousRule!);
|
||||
|
|
|
@ -201,7 +201,7 @@ class _EncryptionSettingsState extends State<EncryptionSettings> {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void saveData() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.savingConfig);
|
||||
|
||||
final result = await serversProvider.apiClient2!.saveEncryptionSettings(
|
||||
|
|
|
@ -74,7 +74,7 @@ class _SafeSearchSettingsScreenState extends State<SafeSearchSettingsScreen> {
|
|||
final width = MediaQuery.of(context).size.width;
|
||||
|
||||
void saveConfig() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.savingSettings);
|
||||
|
||||
final result = await statusProvider.updateSafeSearchConfig({
|
||||
|
|
|
@ -32,7 +32,7 @@ class UpdateScreen extends StatelessWidget {
|
|||
}
|
||||
|
||||
void update() async {
|
||||
ProcessModal processModal = ProcessModal(context: context);
|
||||
ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.requestingUpdate);
|
||||
|
||||
final result = await serversProvider.apiClient2!.requestUpdateServer();
|
||||
|
|
|
@ -39,7 +39,7 @@ class DomainOptions extends StatelessWidget {
|
|||
final appConfigProvider = Provider.of<AppConfigProvider>(context);
|
||||
|
||||
void blockUnblock(String domain, String newStatus) async {
|
||||
final ProcessModal processModal = ProcessModal(context: context);
|
||||
final ProcessModal processModal = ProcessModal();
|
||||
processModal.open(AppLocalizations.of(context)!.savingUserFilters);
|
||||
|
||||
final rules = await statusProvider.blockUnblockDomain(
|
||||
|
|
|
@ -2,9 +2,13 @@ import 'package:flutter/material.dart';
|
|||
import 'package:provider/provider.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
import 'package:adguard_home_manager/widgets/add_server/unsupported_version_modal.dart';
|
||||
import 'package:adguard_home_manager/widgets/servers_list/delete_modal.dart';
|
||||
import 'package:adguard_home_manager/widgets/add_server/add_server_functions.dart';
|
||||
|
||||
import 'package:adguard_home_manager/config/globals.dart';
|
||||
import 'package:adguard_home_manager/config/minimum_server_version.dart';
|
||||
import 'package:adguard_home_manager/functions/compare_versions.dart';
|
||||
import 'package:adguard_home_manager/constants/enums.dart';
|
||||
import 'package:adguard_home_manager/functions/snackbar.dart';
|
||||
import 'package:adguard_home_manager/models/server_status.dart';
|
||||
|
@ -71,7 +75,7 @@ void connectToServer({
|
|||
required BuildContext context,
|
||||
required Server server
|
||||
}) async {
|
||||
final ProcessModal process = ProcessModal(context: context);
|
||||
final ProcessModal process = ProcessModal();
|
||||
process.open(AppLocalizations.of(context)!.connecting);
|
||||
|
||||
final result = server.runningOnHa == true
|
||||
|
@ -84,13 +88,35 @@ void connectToServer({
|
|||
|
||||
final ApiClientV2 apiClient2 = ApiClientV2(server: server);
|
||||
serversProvider.setApiClient2(apiClient2);
|
||||
serversProvider.setSelectedServer(server);
|
||||
|
||||
statusProvider.setServerStatusLoad(LoadStatus.loading);
|
||||
final serverStatus = await apiClient2.getServerStatus();
|
||||
if (serverStatus.successful == true) {
|
||||
final status = serverStatus.content as ServerStatus;
|
||||
|
||||
// Check if server version is supported
|
||||
final validVersion = serverVersionIsAhead(
|
||||
currentVersion: status.serverVersion,
|
||||
referenceVersion: MinimumServerVersion.stable,
|
||||
referenceVersionBeta: MinimumServerVersion.beta
|
||||
);
|
||||
if (validVersion == false) {
|
||||
process.close();
|
||||
showDialog(
|
||||
context: globalNavigatorKey.currentContext!,
|
||||
builder: (ctx) => UnsupportedVersionModal(
|
||||
serverVersion: status.serverVersion,
|
||||
onClose: () {
|
||||
serversProvider.setSelectedServer(null);
|
||||
}
|
||||
)
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
serversProvider.setSelectedServer(server);
|
||||
statusProvider.setServerStatusData(
|
||||
data: serverStatus.content as ServerStatus
|
||||
data: status
|
||||
);
|
||||
serversProvider.checkServerUpdatesAvailable(
|
||||
server: server,
|
||||
|
|
|
@ -96,7 +96,7 @@ class _ServersListItemState extends State<ServersListItem> with SingleTickerProv
|
|||
}
|
||||
|
||||
void connectToServer(Server server) async {
|
||||
final ProcessModal process = ProcessModal(context: context);
|
||||
final ProcessModal process = ProcessModal();
|
||||
process.open(AppLocalizations.of(context)!.connecting);
|
||||
|
||||
final result = server.runningOnHa == true
|
||||
|
|
Loading…
Add table
Reference in a new issue