Current limitations
What the pre-release of @folkways/realtime and Folkways don't do yet, and what is coming.
Today
- Not on npm yet. Install from source until the first release.
- One delivery type per topic rule. A topic rule in the dashboard has one class, so keep stream, kv and signal events on separate topics. See Topics and events.
- History lives in memory on the node. Receipts report
level: 'accepted'. If a node restarts, subscribers get agapwith reason'epoch-lost'and continue; point lasting references atuid, which survives restarts. - No session resume. After a reconnect the SDK resubscribes from its saved positions. You still get every event once, but the node does the replay again.
- Topic patterns, not wildcard subscriptions. Subscribe to concrete topics, such as
chat/lobby. Patterns are for rules, permissions andclient.on()filters.
Coming soon
- Several delivery types in one topic. One
chat/{room}topic carrying messages (stream), read receipts (kv) and typing (signal). The SDK already supports it; the dashboard's topic rules will follow. - Presence. Who is online in a topic and across the app.
- Personal topics and direct messages. A topic per user that your backend can post to.
- Member lists for private topics, with instant removal.
- Revoking one user's access at once. Today a token lives until it expires (at most 15 minutes), or until you delete the signing key that signed it.
The SDK accepts options for some of these already (access and presence in topic definitions);
they take effect once the feature is available.