cleanupOldImageCaches method

Future<void> cleanupOldImageCaches()

Clean up old image cache directories from previous sessions.

Implementation

Future<void> cleanupOldImageCaches() async {
  final baseDir = _getImageStoreDir();
  final currentSessionId = _getSessionId();

  try {
    final dir = Directory(baseDir);
    if (!await dir.exists()) return;

    await for (final sessionDir in dir.list()) {
      if (sessionDir is! Directory) continue;
      if (sessionDir.path.split('/').last == currentSessionId) continue;

      try {
        await sessionDir.delete(recursive: true);
        _logForDebugging('Cleaned up old image cache: ${sessionDir.path}');
      } catch (_) {}
    }

    // Remove base dir if empty
    try {
      final remaining = await dir.list().toList();
      if (remaining.isEmpty) await dir.delete();
    } catch (_) {}
  } catch (_) {}
}