implemented container site assignements & improved routing

This commit is contained in:
Fabian Freund
2025-11-09 07:25:54 +01:00
parent da232bf8aa
commit 107b2a9aa6
45 changed files with 1104 additions and 264 deletions
@@ -3,6 +3,7 @@ import 'dart:async';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:synchronized/synchronized.dart';
import 'package:weblibre/features/geckoview/features/tabs/data/models/site_assignment.dart';
part 'tor_proxy.g.dart';
@@ -35,6 +36,23 @@ class TorProxyRepository extends _$TorProxyRepository {
});
}
Future<void> setSiteAssignments(List<SiteAssignment> assignements) {
return _serviceLock.synchronized(() async {
await _waitHealthcheck().timeout(const Duration(seconds: 10));
return _service.setSiteAssignments(
Map.fromEntries(
assignements.map(
(e) => MapEntry(
e.assignedSite.origin,
e.contextualIdentity ?? 'general',
),
),
),
);
});
}
Future<void> _waitHealthcheck({
Duration timeout = const Duration(seconds: 15),
}) async {
@@ -42,7 +42,7 @@ final class TorProxyRepositoryProvider
}
String _$torProxyRepositoryHash() =>
r'3bdb83bdb1c5d1bb5d8953878cd587d042d30342';
r'83c2976750f3f7907274b1ae4f926cd1de89be83';
abstract class _$TorProxyRepository extends $Notifier<void> {
void build();
@@ -33,7 +33,7 @@ final class TorProxyServiceProvider
TorProxyService create() => TorProxyService();
}
String _$torProxyServiceHash() => r'21592493593c7c2a6cf1ac8311526a7fd6114b98';
String _$torProxyServiceHash() => r'c63adf96d7b0a865917b8d902071a0b3ae4dfcc6';
abstract class _$TorProxyService extends $AsyncNotifier<int?> {
FutureOr<int?> build();