Skip to content

feat(api): expose config catalog at GET /api/v1/configs - #1092

Merged
gildesmarais merged 4 commits into
mainfrom
feat/feed-directory-catalog-api
Aug 20, 2026
Merged

feat(api): expose config catalog at GET /api/v1/configs#1092
gildesmarais merged 4 commits into
mainfrom
feat/feed-directory-catalog-api

Conversation

@gildesmarais

@gildesmarais gildesmarais commented Aug 19, 2026

Copy link
Copy Markdown
Member

Summary

  • Add public GET /api/v1/configs (and OPTIONS) with CONFIG_CATALOG_ENABLED, merging embedded + local directory entries via Catalog::Merge
  • Expose instance.catalog: { enabled, url } on root API metadata; regenerate OpenAPI and the frontend generated client
  • Wire request specs and keep CORS scoped to the catalog route

Test plan

  • make ready (or catalog-focused request specs) in Dev Container
  • GET /api/v1/ includes catalog pointer when enabled
  • GET /api/v1/configs returns envelope; CONFIG_CATALOG_ENABLED=false → 404 catalog_disabled

Extract catalog handler helpers for RuboCop, format useStarterFeeds,
and commit regenerated OpenAPI client types for GET /configs.
Split preflight into its own documented operation, refactor local
catalog merge helpers for RuboCop, and regenerate the OpenAPI client.
Extract GET and OPTIONS handlers from the catalog route mount.
@gildesmarais
gildesmarais force-pushed the feat/feed-directory-catalog-api branch from 3b85003 to 88d1ad1 Compare August 20, 2026 17:19
@gildesmarais
gildesmarais merged commit c518055 into main Aug 20, 2026
27 checks passed
@gildesmarais
gildesmarais deleted the feat/feed-directory-catalog-api branch August 20, 2026 17:58
gildesmarais added a commit that referenced this pull request Aug 20, 2026
## Summary
- Add `frontend/src/catalog` find/load helpers and show multi-hit
included-feed suggestions under the create URL field
- Keyboard listbox (arrows / Enter / Escape), quiet hit-list styling,
and Vite proxy for `.rss`/`.xml`/`.json` so local clicks open real feeds
- Session featured feeds use `CatalogEntry[]`; docs updated for catalog
find

## Test plan
- [ ] `CI=1 make check-frontend` in Dev Container
- [ ] Type `bbc` → ≥2 hits; ArrowDown/Enter opens feed
- [ ] Click a hit on `:4001` opens RSS (not SPA create reload)
- [ ] Create Enter still creates when no hit is active

Depends on #1092 (API catalog).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant