victrme / Bonjourr

Minimalist & lightweight startpage inspired by iOS
https://bonjourr.fr
GNU General Public License v3.0
880 stars 104 forks source link

favicon keeps spinning and shows a question mark #318

Closed rajarshikhatua100 closed 5 months ago

rajarshikhatua100 commented 5 months ago

I am using the latest version. Here are the links of the websites-

  1. https://editor.graphite.rs
  2. https://editor.rive.app
  3. https://www.bing.com/create
  4. https://designer.microsoft.com
  5. https://vscode.dev/
  6. https://developer.android.com/get-started/overview

and also some google website like Web store,play store,photos,keep,Gemini etc. shows the google icon

https://github.com/victrme/Bonjourr/assets/77912617/ed755f2b-c16d-47a6-bfbd-9757ce264a14

victrme commented 5 months ago

Hi @rajarshikhatua100 !

Thanks for the heads up. Our favicon API struggles with web apps because the HTML sent is always empty and doesn't contain any icon links. It also struggles with anything Google because their services automatically redirects to their login page.

I'll manually add those icons until I can find a fix !

rajarshikhatua100 commented 5 months ago

this project -https://github.com/conceptualspace/yet-another-speed-dial, does fine with web apps like graphite or rive, it does it in a weird way (by opening the link in a background tab) but also this project - https://github.com/joelshepherd/tabliss works fine and it has web apps too. but these two also struggles with google websites(but those can be manually added easily , somehow chrome's default homepage does shows the icons)

victrme commented 5 months ago

I didn't think of using the Open Graph Protocol before, it should work for a few more websites.

We are somewhat already doing what YASD is doing in our API, the difference is that we only check the HTML instead of fully loading the website. Might be something worth investigating ! (Might be expensive on the CPU though 🤔)

rajarshikhatua100 commented 5 months ago

I am already seeing major performance issues, I had almost 70 quick links (that's why maybe). WASM is the answer for performance perhaps but that a debate for another day. but what I have seen is the app tries to fetch the logo every time, can we store the logo in local cache and give a option in setting to fetch if needed

victrme commented 5 months ago

In this case WASM would not work because it is only useful if there is a lot of computation and/or few DOM manipulation, which is the opposite of adding simple <li> to a page !

I don't know who wrote this code (it's me 😢), but each links are added to the page synchronously. This can be improved and icons should in theory appear faster or all at the same time, because they would all be ready before the first useful frame.

Capture d’écran 2024-03-17 à 19 48 10-min

As for the cache, our API https://api.bonjourr.fr/favicon/blob/<your-url> has a 1 year cache control. Some other URLs might have a smaller or no cache, and your favicons will refresh themselves every time...

We are not going to implement a stronger cache system because caching is hard and time is limited ! Finding a provider with a very long cache control would 99% fix the issue !