diff --git a/src/server/routes.go b/src/server/routes.go index 66f85a2..c2ba861 100644 --- a/src/server/routes.go +++ b/src/server/routes.go @@ -219,7 +219,11 @@ func (s *Server) handleFeedList(c *router.Context) { result.FeedLink, form.FolderID, ) - s.db.CreateItems(worker.ConvertItems(result.Feed.Items, *feed)) + items := worker.ConvertItems(result.Feed.Items, *feed) + if len(items) > 0 { + s.db.CreateItems(items) + s.db.SetFeedSize(feed.Id, len(items)) + } s.worker.FindFeedFavicon(*feed) c.JSON(http.StatusOK, map[string]interface{}{ diff --git a/src/worker/worker.go b/src/worker/worker.go index 08f7c82..bdf066e 100644 --- a/src/worker/worker.go +++ b/src/worker/worker.go @@ -121,7 +121,11 @@ func (w *Worker) refresher(feeds []storage.Feed) { srcqueue <- feed } for i := 0; i < len(feeds); i++ { - w.db.CreateItems(<-dstqueue) + items := <-dstqueue + if len(items) > 0 { + w.db.CreateItems(items) + w.db.SetFeedSize(items[0].FeedId, len(items)) + } atomic.AddInt32(w.pending, -1) w.db.SyncSearch() }