Baseflow / Baseflow/flutter_cache_manager

removeFile don't remove line into database

Open
#268 9 comments 0 reactions 0 assignees View on GitHub
type: bug
Dominant language
Dart
Stars
809
Forks
510
Avg merge
6m
Merged PRs (30d)
1

Description

## 🐛 Bug Report

When i call the `removeFile()` i see that the cached file is deleted into `/data/user/0/fr.serialtrip/cache/libCachedImageData`
But not into the database **libCachedImageData.db**

When I see the code, i don't understand. Is it a bug ?

> Future removeCachedFile(CacheObject cacheObject) async {
final provider = await _cacheInfoRepository;
final toRemove = [];
unawaited(_removeCachedFile(cacheObject, toRemove));
await provider.deleteAll(toRemove);
}

With this code `unawaited(_removeCachedFile(cacheObject, toRemove));` it's impossible to delete the IDs from database (SQLite in my case) because it's not an await. So the toRemove is empty on the next line.

### Configuration

**Version:** 2.1.1

**Platform:**
- [x] :robot: Android

Contributor guide

Open the contributing guide

Research direction

Start at removeCachedFile(CacheObject cacheObject) and trace _removeCachedFile to see when IDs are added to toRemove. Verify the database deletion occurs after that asynchronous work completes, then reproduce the Android cache-removal case and confirm both the cached file and its database row are removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter, sqlite
Domain
database, mobile
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.