Open hpoul opened 2 years ago
I have been seeing the following error message in flutter_cache_manager version 3.1.2:
flutter_cache_manager
3.1.2
I/flutter (26728): 2021-10-02 16:48:34.376318 SEVERE main - [guarded] I/flutter (26728): ### _CastError: Null check operator used on a null value I/flutter (26728): #0 WebHelper._downloadOrAddToQueue (package:flutter_cache_manager/src/web/web_helper.dart:65:33) I/flutter (26728): #1 WebHelper._checkQueue (package:flutter_cache_manager/src/web/web_helper.dart:84:5) I/flutter (26728): #2 WebHelper._downloadOrAddToQueue (package:flutter_cache_manager/src/web/web_helper.dart:77:7) I/flutter (26728): <asynchronous suspension>
I think this happens when I download the same URL at the same time with ignoreMemCache=true
ignoreMemCache=true
In WebHelper if the downloadFile method is called with the same URL/key the Subject of _memCache is overwritten:
downloadFile
Subject
_memCache
https://github.com/Baseflow/flutter_cache_manager/blob/f591b5383de3188115a5140daba4d0a05a3a7a10/flutter_cache_manager/lib/src/web/web_helper.dart#L44-L46
But the first request still deletes it from _memCache without checking if it was ignored during the download call:
https://github.com/Baseflow/flutter_cache_manager/blob/f591b5383de3188115a5140daba4d0a05a3a7a10/flutter_cache_manager/lib/src/web/web_helper.dart#L73-L76
I'm actually not sure the ignoreMemCache flag does what I want it to do.
ignoreMemCache
Basically I want to force a redownload of the URL without clearing the cache item first.
Same here
🐛 Bug Report
I have been seeing the following error message in
flutter_cache_manager
version3.1.2
:Reproduction steps
I think this happens when I download the same URL at the same time with
ignoreMemCache=true
In WebHelper if the
downloadFile
method is called with the same URL/key theSubject
of_memCache
is overwritten:https://github.com/Baseflow/flutter_cache_manager/blob/f591b5383de3188115a5140daba4d0a05a3a7a10/flutter_cache_manager/lib/src/web/web_helper.dart#L44-L46
But the first request still deletes it from
_memCache
without checking if it was ignored during the download call:https://github.com/Baseflow/flutter_cache_manager/blob/f591b5383de3188115a5140daba4d0a05a3a7a10/flutter_cache_manager/lib/src/web/web_helper.dart#L73-L76
I'm actually not sure the
ignoreMemCache
flag does what I want it to do.Basically I want to force a redownload of the URL without clearing the cache item first.