Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 31 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,34 @@ deploy/

## Roadmap

- Declared indexed fields for fast queries on large collections.
- Extend per-collection access rules to multi-tenant projects (public access via a non-secret project id).
- Richer realtime presence (join/leave, typing) and a multi-process (Redis) adapter for horizontal scale.
- Publish to npm and a container registry (the GHCR release workflow is wired; first tag publishes).
**Recently shipped:** pluggable backends — optional **Postgres** (data) and **S3**
(files) alongside the SQLite + disk defaults; **declared indexed fields** for fast
queries on large collections; **per-project public collections** via a non-secret
project id; and realtime **presence** (join/leave/typing) with an optional **Redis**
fan-out for multi-process scale.

Next, split by who benefits:

_For app developers (the API):_

- **Public realtime** — extend non-secret project-id access to websocket
subscriptions on public channels, so a published frontend gets live updates
without embedding a secret (closes the gap left by public collections).
- **Optional per-collection schemas** — opt-in JSON-schema validation with clear
`422` errors; zero-config collections stay schemaless by default.
- **Cursor pagination** (`?after=`) for stable iteration over large collections,
built on the new declared indexes (offset paging drifts under concurrent writes).

_For operators (running the server):_

- **Redis-backed rate limiting + presence TTLs** — make per-IP limits and the
presence roster correct across the multi-process deployments Redis now enables
(today limits are per-process and a hard crash can leave a stale presence entry).
- **Observability** — a Prometheus `/metrics` endpoint and a `/ready` probe
(DB/Redis/S3 reachability) for orchestrated, scaled deployments.
- **Safe index builds** — `CREATE INDEX CONCURRENTLY` on Postgres so declaring an
index on a large live table doesn't block writes.

_Larger, later:_ verifiable identity (JWT/OIDC) for per-user ACL + trusted presence;
outbound webhooks on data changes; per-project AI provider config; publish to npm +
GHCR (the release workflow is wired; the first tag publishes).
Loading