dashy icon indicating copy to clipboard operation
dashy copied to clipboard

[FEATURE_REQUEST] Capture option for icons

Open ethereal-engineer opened this issue 3 years ago • 12 comments

Is your feature request related to a problem? If so, please describe.

Kinda. I have a bunch of locally hosted services that are IOT-based and only run using HTTP. That means I get an insecure warning when I use their paths for icons in dashy. Also, I don't like the idea of dashy making HTTP requests every time it starts up for all the icons if it isn't needed (I know they're cached, but there are other reasons that sometimes icons just break). I have been rectifying this SLOWLY by fetching all the icons manually and storing them in item-icons.

Describe the solution you'd like

A flag that will do a run-once capture of the icon for the webapp, by favicon or path or whatever, then download and store the icon locally (in item-icons) and update the item icon path to suit. It would ensure icons are always available, so increase the start speed of dashy, remove any insecure flag, and ensure it always looks as pretty as possible!

Priority

Low (Nice-to-have)

Is this something you would be keen to implement

No

ethereal-engineer avatar Jan 24 '22 01:01 ethereal-engineer

Welcome to Dashy 👋 It's great to have you here, but unfortunately your ticket has been closed to prevent spam. Before reopening this issue, please ensure the following criteria are met.

Issues are sometimes closed when users:

  • Have only recently joined GitHub
  • Have not yet stared this repository
  • Have not previously interacted with the repo

Before you reopen this issue, please also ensure that:

  • You have checked that a similar issue does not already exist
  • You have checked the documentation for an existing solution
  • You have completed the relevant sections in the Issue template

Once you have verified the above standards are met, you may reopen this issue. Sorry for any inconvenience caused, I'm just a bot, and sometimes make mistakes 🤖

liss-bot avatar Jan 24 '22 01:01 liss-bot

Sad face. I do not know how to re-open this issue, and I think it's a useful idea.

ethereal-engineer avatar Jan 24 '22 01:01 ethereal-engineer

Lemme reopen, sorry about that

Lissy93 avatar Jan 24 '22 01:01 Lissy93

So like server-side download and caching? Sure that would indeed be possible

Worth noting though, in your instance, this wouldn't have any impact on performance, resources that have been saved within Dashy are still going to be fetched the same way as other assets from locally running services. The only benefits of this would be:

  • If the caching script could also process and resize icons (requesting large assets is probably why your situation is slow)
  • If the target service goes offline, the icon can still be available

Lissy93 avatar Jan 24 '22 01:01 Lissy93

So would function like this:

  • When app loaded, check if running in server mode
  • For each asset, try and fetch it locally
    • If available locally, display and return
    • Else, display the web version, and send request to backend to cache for next time
  • Cached images should be normalized, resized, and saved as a hash of their URL

My only reservation is that there is a fair bit of complexity for this simple task, so I'm not sure that the benefits to the average user would be worth the time / cost it would take for me to develop this

Lissy93 avatar Jan 24 '22 02:01 Lissy93

Hi Lissy,

I’m a big fan of Dashy despite not yet using it to full potential. It’s beautiful AND functional.

In my case, the target services hardware vary a lot - some run on computers - some run on ESP32 devices, some on ESP01 devices - there is a significant lag for those ones. Also, notably, I have Authelia set up as a domain (two domains, actually - two instances) authentication service. If I am not authenticated at the time Dashy tries to fetch the service icons, it fails to fetch them. Same goes for basic .htpasswd protected resources.

Adam On 24 Jan 2022, 12:58 PM +1100, Alicia Sykes @.***>, wrote:

So like server-side download and caching? Sure that would indeed be possible Worth noting though, in your instance, this wouldn't have any impact on performance, resources that have been saved within Dashy are still going to be fetched the same way as other assets from locally running services. The only benefits of this would be:

• If the caching script could also process and resize icons (requesting large assets is probably why your situation is slow) • If the target service goes offline, the icon can still be available

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

ethereal-engineer avatar Jan 26 '22 06:01 ethereal-engineer

So would function like this:

* When app loaded, check if running in server mode

* For each asset, try and fetch it locally
  
  * If available locally, display and return
  * Else, display the web version, and send request to backend to cache for next time

* Cached images should be normalized, resized, and saved as a hash of their URL

My only reservation is that there is a fair bit of complexity for this simple task, so I'm not sure that the benefits to the average user would be worth the time / cost it would take for me to develop this

Oh Absolutely low priority. But thanks for hearing it out. As an ex dev myself, I know I prefer to hear about bugs, enhancement ideas, and potential features from active users. 👍🏻

ethereal-engineer avatar Feb 05 '22 06:02 ethereal-engineer

This issue has gone 6 weeks without an update. To keep the ticket open, please indicate that it is still relevant in a comment below. Otherwise it will be closed in 5 working days.

liss-bot avatar Mar 08 '22 01:03 liss-bot

keep open

Lissy93 avatar Mar 08 '22 01:03 Lissy93

Relevant information: I live in Australia, home to the third world of internet bandwidth poverty. 🤣

A friend in Utah sent me a speedtest.net result to compare with and it was seventy times faster than our average here. 😭

ethereal-engineer avatar Mar 15 '22 01:03 ethereal-engineer

A minor note on this. I run Authelia internally, and Dashy doesn't appear to use the authenticated headers to fetch (local) favicons - another reason this would be useful.

ethereal-engineer avatar Apr 22 '22 06:04 ethereal-engineer

For me this would be useful for some services which use self signed certificates. These will not load until the user visits the page and accepts the "risk" of the self signed cert.

depuits avatar May 07 '22 17:05 depuits