I’ve noticed a consistent performance issue when selecting icons in Fibery. When opening the icon picker, there’s a significant delay before icons fully load and become visible, making it difficult to quickly identify and select the appropriate icon.
This might be due to a slow network connection as every icon is downloaded as an individual SVG. Do you have these performance issues on a good internet connection as well?
A way for Fibery to solve this would be to load all SVG data for the icon picker in a single request in order to eliminate the per-request overhead. This single request could include a version number be cached by the browser indefinitely. This should improve loading times as icons rarely change so they can be loaded from cache instantly in almost all cases.
Notion has this approach for their icon picker. Here is the URL to the single file containing all icon SVG data and metadata for the icon picker:
https://www.notion.so/icons/all
@derbenoo both approaches have their own pros and cons. We tried to avoid single big file and rely more on http2 multiplexing. The benefit is that cache won’t be busted after we add new icon.
However I’ve noticed that caching for icons was broken at all. Fixed that so icon picker should perform better now for subsequent openings. Thanks for reporting @Renato_Carvalho
p.s. our icon set seems to be more or less stable now so we are thinking about one icon sprite again, but that’s not a priority now
Thank your taking a look at it!
Caching seems to be working now.