luckyrat / KeePass-Favicon-Downloader

A KeePass plugin that downloads and stores favicons. A favicon is the little icon / logo used to identify many websites, typically displayed in the browser's address bar, bookmark list and on tabs.
70 stars 19 forks source link

Better error message #18

Open ferenczy opened 6 years ago

ferenczy commented 6 years ago

Even though a website has a favicon, Favicon Downloader often fails to download it and just shows a general error message so it's not possible to understand what really happened and why the download failed.

Example

website: https://www.displayfusion.com favicon: https://www.displayfusion.com/favicon.ico reference in HTML:

<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />

Favicon Downloader error: Timeout: The operation has timed out.

I don't see any reason why it should fail to download the favicon in this case (and many other cases) so it would help to have a better explanation why it faield.

luckyrat commented 6 years ago

Do you have a better suggestion for an error message to describe when the download failed due to the operation timing out?

We can't know any more detail than that; if your computer's internet connection to the website is too slow or blocked in a way that causes a timeout, there's nothing the plugin can do to fix that problem with your setup so I'd just suggest trying again a little later as a first step but after that you'd need to investigate what's wrong with your setup since it would be specific to your computer.

ferenczy commented 6 years ago

But it's not specific to my computer, it's specific to some websites. I wouldn't complain if I'm not sure it's not an external issue (like a firewall blocking, etc.).

It simply successfully downloads favicons from some websites (I have successfully downloaded 219 favicons using the plugin) but times out for some other websites. When I investigated such website I didn't see any reason why it should timeout. As I wrote in my first post, a favicon on one such site is properly linked, has a default name favicon.ico and is in the root of the domain.

It would be helpful if the plugin would at least report what it's trying to download, what URL was it trying to download when the request timed out. Because I don't know if the plugin just tries to download //domain.tld/favicon.ico or if it's more clever and tries, for example, to find the favicon in an HTML.

When it times out, I always check the website and it's usually accessible, downloaded fast, has a favicon, it's properly named and linked in an HTML so I just need more information to understand why it has failed to download it.

Also, the fact that it's blocking the UI thread for several minutes without a possibility to cancel it is not very user-friendly. I wouldn't be complaining if it happened with a few websites but it's happening quite often and I'm unable to use KeePass for a quite long time before it times out.

Thank you.

darkdragon-001 commented 6 years ago

I improved error handling in my fork. Now error messages should contain more information which part actually failed.