fix lints
This commit is contained in:
@@ -18,7 +18,6 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
import 'package:fast_equatable/fast_equatable.dart';
|
||||
import 'package:riverpod/riverpod.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:weblibre/core/logger.dart';
|
||||
import 'package:weblibre/features/proxy/data/models/singbox_proxy_profile.dart';
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
import 'package:flutter_singbox_proxy/flutter_singbox_proxy.dart';
|
||||
import 'package:riverpod/riverpod.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:weblibre/core/uuid.dart';
|
||||
import 'package:weblibre/features/proxy/domain/repositories/singbox_proxy_credentials.dart';
|
||||
|
||||
@@ -127,7 +127,7 @@ class SingboxProxyRuntimeRepository extends _$SingboxProxyRuntimeRepository {
|
||||
Future<SingboxProxyRuntimeState> startProfile(
|
||||
String profileId, {
|
||||
SingboxProxyRuntimeOptions? options,
|
||||
}) async {
|
||||
}) {
|
||||
return _lock.synchronized(() async {
|
||||
final currentState = await _stateSnapshotUnlocked();
|
||||
final activeProfileIds = _activeProfileIds(currentState);
|
||||
@@ -320,7 +320,7 @@ class SingboxProxyRuntimeRepository extends _$SingboxProxyRuntimeRepository {
|
||||
final profileMap = {for (final profile in profiles) profile.id: profile};
|
||||
|
||||
return Future.wait(
|
||||
profileIds.map((profileId) async {
|
||||
profileIds.map((profileId) {
|
||||
final profile = profileMap[profileId];
|
||||
if (profile == null) {
|
||||
throw StateError('Unknown sing-box proxy profile: $profileId');
|
||||
@@ -340,15 +340,15 @@ class SingboxProxyRuntimeRepository extends _$SingboxProxyRuntimeRepository {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<SingboxProxyRuntimeState> build() async {
|
||||
Future<SingboxProxyRuntimeState> build() {
|
||||
final plugin = ref.watch(singboxProxyClientProvider);
|
||||
final stateSubscription = plugin.stateStream.listen((nextState) {
|
||||
state = AsyncData(nextState);
|
||||
});
|
||||
|
||||
ref.onDispose(() async {
|
||||
await stateSubscription.cancel();
|
||||
await plugin.dispose();
|
||||
ref.onDispose(() {
|
||||
unawaited(stateSubscription.cancel());
|
||||
unawaited(plugin.dispose());
|
||||
});
|
||||
|
||||
return plugin.getState();
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
|
||||
import 'package:flutter_singbox_proxy/flutter_singbox_proxy.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
@@ -104,13 +106,15 @@ class SingboxProxyEndpointSync extends _$SingboxProxyEndpointSync {
|
||||
(previous, next) {
|
||||
final runtimeState = next.value;
|
||||
if (runtimeState == null) return;
|
||||
_sync(runtimeState).catchError((Object error, StackTrace stackTrace) {
|
||||
logger.e(
|
||||
'Failed to sync sing-box proxy endpoints to Gecko',
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
});
|
||||
unawaited(
|
||||
_sync(runtimeState).catchError((Object error, StackTrace stackTrace) {
|
||||
logger.e(
|
||||
'Failed to sync sing-box proxy endpoints to Gecko',
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user