Browser-based feed selection layered on top of config/feeds.php:
- manage.php (password + CSRF gated, session based): add subreddits
(name / r/name / URL) and YouTube channels (@handle / UC id / URL,
handle resolved to channel_id once, youtube.com only); enable/disable
toggles; remove manual feeds; config feeds are hidden, not deleted.
- New feeds are validated with one immediate fetch (bypassing the
per-refresh host cap): HTTP 404 rejects the entry, 429 keeps it for
a later refresh. YouTube labels adopt the real channel title.
- feeds table gains origin (config|manual) and enabled columns, with
a guarded ALTER migration for existing databases.
- Only enabled feeds are refreshed and served: getItems/countItems
filter by feed_url in enabled feeds, so deselected feeds' cached
stories are hidden, not deleted; re-adding a URL re-enables it.
- Dashboard header gets a Manage link; manage page styled with the
existing design tokens; README documents the feature.