feat: Quick Add article with RSS auto-discovery #minor - #12
Merged
Merged
Conversation
- Add Quick Add button (FAB) on feed view to paste a single article URL - Backend: POST /api/quick-add extracts article via readability, creates entry under system 'Quick Add' resource, discovers RSS feeds - Backend: POST /api/quick-add/subscribe creates RSS resource from discovered feed - RSS auto-discovery: parses <link rel='alternate'> tags from article page and site root, fetches last 5 feed articles as preview - QuickAddModal with 3 states: URL input → result with RSS preview → optional resource edit form - RSS preview shows 5 articles as clickable links with dates, feed URL as external link, and 3 options: Add RSS / Edit / No thanks - System 'Quick Add' resource (type=quickadd) auto-created on startup, hidden from resource management page, skipped by scheduler - Full test coverage for discovery and quick-add endpoints
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Add a Quick Add button (blue "+" FAB) on the feed view to paste a single article URL. The article is fetched, added to the feed, and summarized by AI — all without creating a full RSS resource.
RSS auto-discovery
When adding an article, the backend checks the site for RSS feeds (
<link rel="alternate">tags). If found, the modal shows:Implementation details
POST /api/quick-add(fetch + create entry + discover RSS) andPOST /api/quick-add/subscribe(create RSS resource)QuickAddModal.sveltewith 3 states (input → result → edit), FAB on feed viewquickaddtype resource parents one-off entries, hidden from resource management, skipped by schedulerinternal/engine/discovery.goparses feed links from article page with site-root fallbackFiles changed
cmd/knowledgehub/collections.go— quickadd type + migration + ensureQuickAddResourcecmd/knowledgehub/main.go— register quick-add routesinternal/engine/discovery.go+ tests — RSS/Atom/JSON Feed auto-discoveryinternal/engine/scheduler.go— exclude quickadd from scheduled fetchesinternal/routes/quickadd.go+ tests — quick-add and subscribe endpointsinternal/testutil/testutil.go— add quickadd to test schemaui/src/lib/components/QuickAddModal.svelte— modal componentui/src/routes/+page.svelte— FAB button + modal integrationui/src/routes/resources/+page.svelte— filter out quickadd resourcesTests
All existing + new tests pass (
go test ./internal/... -count=1)