This commit is contained in:
nkanaev
2026-07-10 18:41:56 +01:00
parent 8e05b515c8
commit 018804a4a4
6 changed files with 23 additions and 25 deletions

View File

@@ -15,7 +15,7 @@ var static embed.FS
var templates embed.FS var templates embed.FS
func Templates() *template.Template { func Templates() *template.Template {
return template.Must(template.ParseFS(templates, "templates/*.html")) return template.Must(template.ParseFS(templates, "templates/*.html"))
} }
func StaticFS() fs.FS { func StaticFS() fs.FS {

View File

@@ -377,12 +377,12 @@ func TestRSSDefaultNamespace(t *testing.T) {
</rss> </rss>
`)) `))
want := &Feed{ want := &Feed{
Title: "Feed", Title: "Feed",
Items: []Item{ Items: []Item{
{ {
GUID: "https://example.com/news/1", GUID: "https://example.com/news/1",
URL: "https://example.com/news/1", URL: "https://example.com/news/1",
Title: "Title 1", Title: "Title 1",
}, },
}, },
} }

View File

@@ -44,7 +44,6 @@ const (
STARRED ItemStatus = 2 STARRED ItemStatus = 2
) )
var StatusRepresentations = map[ItemStatus]string{ var StatusRepresentations = map[ItemStatus]string{
UNREAD: "unread", UNREAD: "unread",
READ: "read", READ: "read",
@@ -120,7 +119,6 @@ type FeedStat struct {
StarredCount int64 `json:"starred"` StarredCount int64 `json:"starred"`
} }
type Settings struct { type Settings struct {
Filter string `json:"filter"` Filter string `json:"filter"`
Feed string `json:"feed"` Feed string `json:"feed"`

View File

@@ -255,7 +255,7 @@ func BenchmarkMarkItemsRead_ByFolder(b *testing.B) {
FeedLink: fmt.Sprintf("http://f%d.xml", k), FeedLink: fmt.Sprintf("http://f%d.xml", k),
FolderID: &folder.Id, FolderID: &folder.Id,
}) })
for i := 0; i < 1_000_000 / 5; i++ { for i := 0; i < 1_000_000/5; i++ {
all = append(all, model.Item{ all = append(all, model.Item{
GUID: fmt.Sprintf("f%d-i%d", k, i), GUID: fmt.Sprintf("f%d-i%d", k, i),
FeedId: feed.Id, FeedId: feed.Id,

View File

@@ -37,15 +37,15 @@ type testItemScope struct {
feed11, feed12 *model.Feed feed11, feed12 *model.Feed
feed21, feed01 *model.Feed feed21, feed01 *model.Feed
folder1, folder2 *model.Folder folder1, folder2 *model.Folder
items map[string]model.Item items map[string]model.Item
} }
func MustGet[K comparable, V any](m map[K]V, key K) V { func MustGet[K comparable, V any](m map[K]V, key K) V {
value, ok := m[key] value, ok := m[key]
if !ok { if !ok {
panic(fmt.Sprintf("key %v not found in map", key)) panic(fmt.Sprintf("key %v not found in map", key))
} }
return value return value
} }
func testItemsSetup(db storage.Storage) testItemScope { func testItemsSetup(db storage.Storage) testItemScope {
@@ -61,10 +61,10 @@ func testItemsSetup(db storage.Storage) testItemScope {
items := map[string]model.Item{ items := map[string]model.Item{
// feed11 // feed11
"item111": { "item111": {
GUID: "item111", GUID: "item111",
FeedId: feed11.Id, FeedId: feed11.Id,
Title: "title111", Title: "title111",
Date: now.Add(time.Hour * 24 * 1), Date: now.Add(time.Hour * 24 * 1),
}, },
"item112": { "item112": {
GUID: "item112", GUID: "item112",
@@ -82,10 +82,10 @@ func testItemsSetup(db storage.Storage) testItemScope {
}, // starred }, // starred
// feed12 // feed12
"item121": { "item121": {
GUID: "item121", GUID: "item121",
FeedId: feed12.Id, FeedId: feed12.Id,
Title: "title121", Title: "title121",
Date: now.Add(time.Hour * 24 * 4), Date: now.Add(time.Hour * 24 * 4),
}, },
"item122": { "item122": {
GUID: "item122", GUID: "item122",
@@ -111,10 +111,10 @@ func testItemsSetup(db storage.Storage) testItemScope {
}, // starred }, // starred
// feed01 // feed01
"item011": { "item011": {
GUID: "item011", GUID: "item011",
FeedId: feed01.Id, FeedId: feed01.Id,
Title: "title011", Title: "title011",
Date: now.Add(time.Hour * 24 * 8), Date: now.Add(time.Hour * 24 * 8),
}, },
"item012": { "item012": {
GUID: "item012", GUID: "item012",
@@ -141,7 +141,7 @@ func testItemsSetup(db storage.Storage) testItemScope {
feed01: feed01, feed01: feed01,
folder1: folder1, folder1: folder1,
folder2: folder2, folder2: folder2,
items: items, items: items,
} }
} }

View File

@@ -43,7 +43,7 @@ func init() {
Timeout: 10 * time.Second, Timeout: 10 * time.Second,
}).DialContext, }).DialContext,
DisableKeepAlives: true, DisableKeepAlives: true,
ForceAttemptHTTP2: true, ForceAttemptHTTP2: true,
TLSHandshakeTimeout: time.Second * 10, TLSHandshakeTimeout: time.Second * 10,
} }
httpClient := &http.Client{ httpClient := &http.Client{