feat: add local-first private AI digest workflow

Migrate app code into canonical feature slices, add phone-only AI digest scheduling and review, wire local notification/background task support, and cover the flow with tests.
This commit is contained in:
Rijad Zuzo
2026-05-17 00:17:20 +02:00
parent dab50abf0e
commit f655adfbea
212 changed files with 24178 additions and 15895 deletions
@@ -1,30 +1,2 @@
import 'dart:async';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:relationship_saver/core/config/app_config.dart';
import 'package:relationship_saver/features/reminders/scheduling/reminder_notification_intent_bus.dart';
import 'package:relationship_saver/features/reminders/scheduling/reminder_scheduler.dart';
import 'package:relationship_saver/features/reminders/scheduling/reminder_scheduler_local_notifications.dart';
/// Broadcasts reminder notification tap intents to interested UI listeners.
final Provider<ReminderNotificationIntentBus>
reminderNotificationIntentBusProvider = Provider<ReminderNotificationIntentBus>(
(Ref ref) {
final ReminderNotificationIntentBus bus = ReminderNotificationIntentBus();
ref.onDispose(() {
unawaited(bus.close());
});
return bus;
},
);
/// Provides reminder delivery scheduler implementation.
final Provider<ReminderScheduler> reminderSchedulerProvider =
Provider<ReminderScheduler>((Ref ref) {
if (AppConfig.enableLocalNotifications) {
return LocalNotificationsReminderScheduler(
intentBus: ref.watch(reminderNotificationIntentBusProvider),
);
}
return const NoopReminderScheduler();
});
// Legacy compatibility export for the reminder scheduler provider.
export 'package:relationship_saver/features/reminders/application/reminder_scheduler_provider.dart';