aboutsummaryrefslogtreecommitdiffhomepage
path: root/backend/cmd/serve.go
AgeCommit message (Collapse)Author
2026-02-14feat(feed): auto-discover feed URLs from HTML pagesnsfisis
When an HTML page is provided instead of a direct feed URL, parse <link rel="alternate"> tags to find RSS/Atom feeds. Atom is preferred over RSS when both are present. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14refactor: migrate API from GraphQL to REST (TypeSpec/OpenAPI)nsfisis
Replace the entire GraphQL stack (gqlgen, urql, graphql-codegen) with a TypeSpec → OpenAPI 3.x pipeline using oapi-codegen for Go server stubs and openapi-fetch + openapi-typescript for the frontend client. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-01refactor: extract feed fetch and sync logic into shared feed packagensfisis
Consolidate duplicated feed fetching and article syncing code from AddFeed resolver and fetchOneFeed into reusable feed.Fetch and feed.Sync functions. This unifies behavior (10s timeout, article updates) across both call sites. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12refactor: deduplicate articles at insertion time instead of query timeClaude
Change deduplication strategy from query-time (ROW_NUMBER window function) to insertion-time (global guid check before insert). Benefits: - Simpler queries without CTE/window functions - Consistent read state (no duplicate articles to manage) - Better query performance (no per-query deduplication overhead) Changes: - Add CheckArticleExistsByGUID query for global guid lookup - Add migration to remove existing duplicate articles - Modify fetchOneFeed and AddFeed to skip duplicates on insert - Revert GetUnreadArticles/GetReadArticles to simple queries
2025-12-04refactor(backend): move cmd_*.go to cmd packagev0.4.3nsfisis