rewrite favicon discovery logic

This commit is contained in:
nkanaev
2026-05-18 21:51:59 +01:00
parent 76529c895e
commit 2f263e9803
4 changed files with 3 additions and 40 deletions

View File

@@ -471,7 +471,6 @@ func (s *Server) handleOPMLImport(c *router.Context) {
}
}
s.worker.FindFavicons()
s.worker.RefreshFeeds()
c.Out.WriteHeader(http.StatusOK)

View File

@@ -49,7 +49,6 @@ func (h *Server) GetAddr() string {
func (s *Server) Start() {
refreshRate := s.db.GetSettings().RefreshRate
s.worker.FindFavicons()
s.worker.StartFeedCleaner()
s.worker.SetRefreshRate(refreshRate)
if refreshRate > 0 {

View File

@@ -136,36 +136,6 @@ func (s *Storage) ListFeeds() []Feed {
return result
}
func (s *Storage) ListFeedsMissingIcons() []Feed {
result := make([]Feed, 0)
rows, err := s.db.Query(`
select id, folder_id, title, description, link, feed_link
from feeds
where icon is null
`)
if err != nil {
log.Print(err)
return result
}
for rows.Next() {
var f Feed
err = rows.Scan(
&f.Id,
&f.FolderId,
&f.Title,
&f.Description,
&f.Link,
&f.FeedLink,
)
if err != nil {
log.Print(err)
return result
}
result = append(result, f)
}
return result
}
func (s *Storage) GetFeed(id int64) *Feed {
var f Feed
err := s.db.QueryRow(`

View File

@@ -39,14 +39,6 @@ func (w *Worker) StartFeedCleaner() {
}()
}
func (w *Worker) FindFavicons() {
go func() {
for _, feed := range w.db.ListFeedsMissingIcons() {
w.FindFeedFavicon(feed)
}
}()
}
func (w *Worker) FindFeedFavicon(feed storage.Feed) {
icon, err := findFavicon(feed.Link, feed.FeedLink)
if err != nil {
@@ -144,6 +136,9 @@ func (w *Worker) worker(srcqueue <-chan storage.Feed, dstqueue chan<- []storage.
errMsg := err.Error()
w.db.UpdateFeedState(feed.Id, storage.UpdateFeedStateParams{LastError: &errMsg})
}
if len(items) > 0 && !feed.HasIcon {
w.FindFeedFavicon(feed)
}
dstqueue <- items
}
}