Julien Calixte 7b53909c52 feat(webhooks): add per-verb subscriptions and bulk-create debounce
Subscriptions now declare a `verb` (create | delete | bulk-create).
POST /:did/webhooks defaults to inserting both create and delete rows
when no verb is given, preserving existing all-events behavior. Update
events fold into the create verb. The new bulk-create verb debounces
creates per DID over 400 ms and delivers a `records` array.

Migration adds the verb column with default 'create' and clones every
existing row for the delete verb so legacy subscriptions keep firing
on both events.
2026-05-05 12:25:54 +02:00
2026-02-09 22:34:20 +01:00

litenote-jetstream

Backend for Remanso, a blogging platform on the AT Protocol. Listens to the Jetstream firehose for space.remanso.note records and serves them via a REST API.

Prerequisites

Setup

# Initialize the SQLite database
deno task migrate

Development

# Run the Jetstream listener (with watch)
deno task jetstream

# Run the API server (with watch)
deno task server

Production

# Run both processes
deno task jetstream:prod & deno task server:prod

Docker

docker build -t litenote-jetstream .
docker run -p 8080:8080 -v litenote-data:/data litenote-jetstream

API

Endpoint Description
GET /notes?cursor=&limit= Paginated notes from all users
GET /:did/notes?cursor=&limit= Paginated notes for a specific DID

Environment Variables

Variable Default Description
SQLITE_PATH notes.db Path to the SQLite database file
Description
No description provided
Readme 158 KiB
Languages
TypeScript 98.9%
Dockerfile 1.1%