markSeen method
Mark tipId as seen and persist. No-op if already marked.
Implementation
Future<void> markSeen(String tipId) async {
if (_seen.containsKey(tipId)) return;
_seen[tipId] = DateTime.now().millisecondsSinceEpoch;
_seenNotifiers[tipId]?.value = true;
await _persist();
}