Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xamarin Forms: FFImageLoading caches dead or failed links #40

Closed
patook opened this issue Sep 24, 2015 · 10 comments
Closed

Xamarin Forms: FFImageLoading caches dead or failed links #40

patook opened this issue Sep 24, 2015 · 10 comments

Comments

@patook
Copy link

patook commented Sep 24, 2015

If I try to load 20 images from the same server and one of them doesn't respond (even with .Retry(3,2000)), that dead image gets cached.

Is there a way to make sure only good images get cached? I am using Xamarin Forms.

@molinch
Copy link
Collaborator

molinch commented Sep 24, 2015

Do you have a custom configuration when you initialize the lib?
Also this issue occurs on iOS, android or both ?

@patook
Copy link
Author

patook commented Sep 25, 2015

No custom config - this issue occurred for me on iOS, I have not set up Android for this.

I am using the CachedImage class in XF, and initializing the ImageService within the iOS appdelegate

@molinch
Copy link
Collaborator

molinch commented Sep 25, 2015

@patook could you please send some URL that cause this issue?
Also note that current implementation works this way:

  • if server couldn't be reached or there is a network issue then the image is not cached and retry will happen immediately
  • if server returned an HTTP error code then the image is not cached and retry will happen immediately
  • if server did not return an error code AND we have zero bytes for the image, then the bytes are cached 5 minutes
  • if server did not return an error code AND we have bytes then the bytes are cached. They are cache regardless of the data: if server returned something else like an mp3 file then it will still be cached. Then of course Retry can't work since it would get wrong data from cache

@patook
Copy link
Author

patook commented Sep 25, 2015

@molinch Thanks: I suspect the error that happened is that HttpConnection limit was reached. I got a debug message saying that URL was being queued. As I mentioned, I am requesting 24 images simultaneously from the same server.

Also, I can make the change and download your code instead of using nuget but it might be nice if you have an option to never cache empty/zero bytes.

@molinch
Copy link
Collaborator

molinch commented Sep 25, 2015

Still even if you have simultaneous requests it should not do that. I would rather fix that.
Could you share a code sample? If it is private code you can also email me.

@molinch
Copy link
Collaborator

molinch commented Sep 29, 2015

@patook Any news?

@molinch
Copy link
Collaborator

molinch commented Oct 13, 2015

@patook I cannot reproduce so if I don't have news I will close this issue.

@patook
Copy link
Author

patook commented Oct 13, 2015

Hi Fabien,

Sorry I ended up switching to a different image grabbing system since I had to push out the app urgently.

The way I had reproed it was by fetching 24 images from the same domain. One of them failed to download (which is fine) but then the empty image was cached.

Best

From: Fabien Molinet [mailto:notifications@github.com]
Sent: Monday, October 12, 2015 11:00 PM
To: molinch/FFImageLoading FFImageLoading@noreply.github.com
Cc: patook aed@patook.com
Subject: Re: [FFImageLoading] Xamarin Forms: FFImageLoading caches dead or failed links (#40)

@patook https://github.com/patook I cannot reproduce so if I don't have news I will close this issue.


Reply to this email directly or view it on GitHub #40 (comment) . https://github.com/notifications/beacon/ALyQzXv2JSm6G7AYghPgbvsn_mEmNZckks5o7JVFgaJpZM4GC_YD.gif

@molinch
Copy link
Collaborator

molinch commented Oct 16, 2015

I don't have this issue and there is no sample to reproduce so I close it.

@molinch molinch closed this as completed Oct 16, 2015
@daniel-luberda
Copy link
Member

I was trying to test it too. Couldn't reproduce it. So it's safe to close it for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants