fix(homepage): logic error in ListAvailableIcons, ensure the cache is ready in GetHomepageMeta

This commit is contained in:
yusing
2025-10-10 09:27:23 +08:00
parent a8aa82f687
commit 5acc4c3894

View File

@@ -132,7 +132,7 @@ func ListAvailableIcons() (*Cache, error) {
iconsCache.RLock()
if time.Since(iconsCache.LastUpdate) < updateInterval {
if len(iconsCache.Icons) == 0 {
if len(iconsCache.Icons) > 0 {
iconsCache.RUnlock()
return iconsCache, nil
}
@@ -239,9 +239,15 @@ type HomepageMeta struct {
}
func GetHomepageMeta(ref string) (HomepageMeta, bool) {
iconsCache.RLock()
defer iconsCache.RUnlock()
meta, ok := iconsCache.Icons[NewIconKey(IconSourceSelfhSt, ref)]
cache, err := ListAvailableIcons()
if err != nil { // sliently ignore
return HomepageMeta{}, false
}
meta, ok := cache.Icons[NewIconKey(IconSourceSelfhSt, ref)]
// these info is not available in walkxcode
// if !ok {
// meta, ok = iconsCache.Icons[NewIconKey(IconSourceWalkXCode, ref)]
// }
if !ok {
return HomepageMeta{}, false
}