- Replace invalid icons (edit→updatePost, discover→syndicate, refresh→repost)
- Remove date("relative") filter that fails on Date objects
- Bump to 1.0.25
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Integrate updateFeedStatus into polling processor for health tracking
- Add feed management UI showing status (active/error), errors, actions
- Add edit feed URL feature to change non-RSS URLs to actual feeds
- Add rediscover feature to run feed discovery and update URL
- Add refresh button to force immediate poll
- Update UI to use Indiekit's badge/button classes (badge--green/red, button--warning)
- Add routes: /feeds/:feedId/edit, /feeds/:feedId/rediscover, /feeds/:feedId/refresh
Fixes broken feeds by allowing users to:
1. Edit URL directly to the RSS/Atom feed
2. Click "Rediscover" to auto-find the feed from a blog URL
3. View error details and consecutive error counts
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add bookmark button to item-card.njk (timeline view)
- Add mark-read button to item.njk (full item view)
- Add JavaScript handler for mark-read on item page
- Pass channel info to item template for mark-read API call
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The JavaScript was POSTing to /microsub/reader but the Microsub API
is at /microsub. Fixed by computing parent path from baseUrl.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add countReadItems function to storage/items.js
- Update getTimelineItems to filter out read items by default
- Add showRead query param support to channel controller
- Update channel.njk with show/hide read toggle buttons
- Add "All caught up!" state when all items are read
- Add JavaScript handler for individual mark-read buttons
- Mark-read now hides the item with smooth animation
- Add locale strings: showRead, hideRead, allRead
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fetch syndication targets from Micropub config
- Display checkboxes for each target in compose form
- Include mp-syndicate-to in Micropub request
- Include optional content/comments for likes and reposts