Scope sync outbox to authenticated account

This commit is contained in:
bponders12-cell 2026-09-01 20:45:12 -04:00
parent a6e732179e
commit 10a435ebad
1 changed files with 10 additions and 1 deletions

View File

@ -16,7 +16,16 @@ import 'sync_outbox.dart';
final r2UploadServiceProvider = Provider<R2UploadService>((ref) => R2UploadService());
final syncBundleWorkerProvider = Provider<SyncBundleWorker>((ref) => SyncBundleWorker(ref.watch(databaseProvider)));
final syncOutboxProvider = Provider<SyncOutbox>((ref) => SyncOutbox(ref.watch(sharedPreferencesProvider)));
/// Cloud sync state is account-scoped. The Firebase UID is intentionally part
/// of the persisted namespace so signing out and into another account cannot
/// inherit the previous account's synced/pending/failed ride state.
final syncOutboxProvider = Provider<SyncOutbox>((ref) {
final prefs = ref.watch(sharedPreferencesProvider);
final user = ref.watch(currentUserProvider);
final namespace = user?.uid ?? 'local';
return SyncOutbox(prefs, storageNamespace: namespace);
});
final firebaseSyncProvider = Provider<FirebaseSyncProvider>((ref) => FirebaseSyncProvider(
db: ref.watch(databaseProvider),