From 6e70049e32e7e6dad205710a7e29dae5d9adfe59 Mon Sep 17 00:00:00 2001 From: TimoKats Date: Sun, 26 Apr 2026 11:27:51 +0200 Subject: [PATCH 1/2] resolve refresh issues --- pkg/api.go | 4 +++- pkg/index.go | 9 +++------ pkg/types.go | 12 +++++++----- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/pkg/api.go b/pkg/api.go index 935eb5c..739ba4e 100644 --- a/pkg/api.go +++ b/pkg/api.go @@ -63,8 +63,10 @@ func (api Api) Get(idx *Index, format Format) http.HandlerFunc { // refreshes the index by removing all entries, and fetching the feed. func (api Api) Refresh(idx *Index) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { + tempUrls := make([]Url, len(idx.Urls)) + copy(tempUrls, idx.Urls) idx.Clear() - for _, url := range idx.Urls { + for _, url := range tempUrls { log.Printf("refreshing: %s", url.Url) err := idx.Add(url.Url, url.Category) if err != nil { diff --git a/pkg/index.go b/pkg/index.go index e67d564..762cd1f 100644 --- a/pkg/index.go +++ b/pkg/index.go @@ -23,11 +23,7 @@ func (idx *Index) Add(url string, category string) error { item.parentFeed = &feed idx.Rank = insertSorted(idx.Rank, &item) } - idx.Urls = append(idx.Urls, struct { - Url string - Category string - Size int - }{url, category, len(feed.Channel.Items)}) + idx.Urls = append(idx.Urls, Url{url, category, len(feed.Channel.Items)}) log.Printf("added to feed: '%s' %v", url, category) } return err @@ -88,9 +84,10 @@ func (idx *Index) Serve(port string) { log.Fatal(http.ListenAndServe(port, nil)) } -// removes all entries from rank. +// removes all entries from rank, return copy of urls for re-create. func (idx *Index) Clear() { idx.Rank = nil + idx.Urls = nil } // initiate rss feed index class (enforce singleton?) diff --git a/pkg/types.go b/pkg/types.go index c94d9c1..20e66ce 100644 --- a/pkg/types.go +++ b/pkg/types.go @@ -44,13 +44,15 @@ type Feed struct { Url string } +type Url struct { + Url string + Category string + Size int +} + type Index struct { Rank []*Item - Urls []struct { - Url string - Category string - Size int - } + Urls []Url } type Query struct { From 2c33769dc380172f4fdd6fbe75b24690e1188264 Mon Sep 17 00:00:00 2001 From: TimoKats Date: Sun, 26 Apr 2026 11:28:57 +0200 Subject: [PATCH 2/2] clean up unused folder --- .docker/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .docker/.gitkeep diff --git a/.docker/.gitkeep b/.docker/.gitkeep deleted file mode 100644 index e69de29..0000000