diff --git a/refilc/lib/database/init.dart b/refilc/lib/database/init.dart index 0c98e556..0f332001 100644 --- a/refilc/lib/database/init.dart +++ b/refilc/lib/database/init.dart @@ -189,14 +189,18 @@ Future initDB(DatabaseProvider database) async { } // One-time migration: add 'live_activity_consent' to unseen_new_features for existing users + // Only if they haven't already accepted or dismissed it try { - final rows = await db.query('settings', columns: ['unseen_new_features']); + final rows = await db.query('settings', columns: ['unseen_new_features', 'live_activity_consent_accepted']); if (rows.isNotEmpty) { - final raw = rows.first['unseen_new_features'] as String? ?? '[]'; - final list = (jsonDecode(raw) as List).cast(); - if (!list.contains('live_activity_consent')) { - list.add('live_activity_consent'); - await db.update('settings', {'unseen_new_features': jsonEncode(list)}); + final consentAccepted = rows.first['live_activity_consent_accepted'] as int? ?? 0; + if (consentAccepted == 0) { + final raw = rows.first['unseen_new_features'] as String? ?? '[]'; + final list = (jsonDecode(raw) as List).cast(); + if (!list.contains('live_activity_consent')) { + list.add('live_activity_consent'); + await db.update('settings', {'unseen_new_features': jsonEncode(list)}); + } } } } catch (e) {