Skip to content

Conversation

@rmdes
Copy link

@rmdes rmdes commented Feb 1, 2026

Summary

This PR adds the foundational Microsub endpoint with channel and timeline management.

What's included

Microsub API:

  • GET/POST ?action=channels - list, create, update, delete, reorder channels
  • GET/POST ?action=timeline - list items, mark read/unread, remove

Storage:

  • MongoDB collections for channels and items
  • Cursor-based pagination for timeline
  • Per-user channel ordering and read state tracking

Features:

  • Follows Microsub spec for channel and timeline actions
  • Testable with existing Microsub clients (Monocle, Indigenous, etc.)
  • Multi-user support via userId from session/token

How to test

  1. Enable the plugin in your Indiekit config
  2. Use a Microsub client like Monocle pointed at your /microsub endpoint
  3. Or test via curl:
# List channels
curl -H "Authorization: Bearer YOUR_TOKEN" \
  "https://your-site.com/microsub?action=channels"

# Create a channel
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
  -d "action=channels&name=Tech News" \
  "https://your-site.com/microsub"

# Get timeline (will be empty until feed fetching is added in PR 3)
curl -H "Authorization: Bearer YOUR_TOKEN" \
  "https://your-site.com/microsub?action=timeline&channel=CHANNEL_UID"

PR breakdown

This is PR 1 of 6 for the Microsub implementation:

  • PR 1 (this): Core + Channels + Timeline API ← functional Microsub server
  • PR 2: Feed discovery and subscription
  • PR 3: Feed fetching and parsing
  • PR 4: Reader UI
  • PR 5: Compose and Micropub integration
  • PR 6: Settings and filtering

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

…imeline

This PR adds the foundational Microsub endpoint with:

**Microsub API:**
- GET/POST ?action=channels - list, create, update, delete, reorder channels
- GET/POST ?action=timeline - list items, mark read/unread, remove

**Storage:**
- MongoDB collections for channels and items
- Cursor-based pagination for timeline
- Per-user channel ordering and read state tracking

**Features:**
- Follows Microsub spec for channel and timeline actions
- Testable with existing Microsub clients (Monocle, Indigenous, etc.)
- Multi-user support via userId from session/token

This is PR 1 of 6 for the Microsub implementation. Future PRs will add:
- PR 2: Feed discovery and subscription
- PR 3: Feed fetching and parsing
- PR 4: Reader UI
- PR 5: Compose and Micropub integration
- PR 6: Settings and filtering

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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