Remove reconnect on auto profile update

This commit is contained in:
problematicconsumer
2023-10-27 19:12:46 +03:30
parent d629b53ff7
commit 49d7268300
3 changed files with 15 additions and 3 deletions

View File

@@ -24,3 +24,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Localization mistakes in Russian from [solokot](https://github.com/solokot)
- Localization mistakes in Russian from [Elshad Guseynov](https://github.com/lifeindarkside)
- Logs filtering
### Removed
- Reconnect on auto profile update

View File

@@ -17,7 +17,7 @@ class ConnectivityController extends _$ConnectivityController with AppLogger {
activeProfileProvider.select((value) => value.asData?.value),
(previous, next) async {
if (previous == null) return;
final shouldReconnect = previous != next;
final shouldReconnect = next == null || previous.id != next.id;
if (shouldReconnect) {
await reconnect(next?.id);
}

View File

@@ -6,6 +6,7 @@ import 'package:hiddify/data/data_providers.dart';
import 'package:hiddify/domain/enums.dart';
import 'package:hiddify/domain/profiles/profiles.dart';
import 'package:hiddify/features/common/active_profile/active_profile_notifier.dart';
import 'package:hiddify/features/common/connectivity/connectivity_controller.dart';
import 'package:hiddify/utils/utils.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -86,15 +87,23 @@ class ProfilesNotifier extends _$ProfilesNotifier with AppLogger {
Future<Unit?> updateProfile(RemoteProfile profile) async {
loggy.debug("updating profile");
return ref.read(profilesRepositoryProvider).update(profile).match(
return await ref.read(profilesRepositoryProvider).update(profile).match(
(err) {
loggy.warning("failed to update profile", err);
throw err;
},
(_) {
(_) async {
loggy.info(
'successfully updated profile, was active? [${profile.active}]',
);
await ref.read(activeProfileProvider.future).then((active) async {
if (active != null && active.id == profile.id) {
await ref
.read(connectivityControllerProvider.notifier)
.reconnect(profile.id);
}
});
return unit;
},
).run();