realtime
Kickside realtime — a centralized contract for pushing topics to connected UIs. broadcast() fans out to every client via the wippy/relay central hub; notify() targets one user's hub. Any module (nav, inbox, …) publishes through one seam so all UI reacts live.
BUSL-1.1 1.3k downloads
Updated 3 days ago Repository
kicksiderealtimerelaybroadcast
Run
wippy run kickside/realtimeKickside Realtime
A centralized contract for pushing topics to connected UIs, over wippy/relay.
Modules call one seam instead of touching the relay directly, so realtime stays decoupled and consistent across the app.
Contract kickside.realtime:realtime
broadcast({ topic, data? })— fan a topic out to every connected client. The relay central hub (wippy.central) forwards any non-control topic to all user hubs. Use for global changes (e.g. nav layout) every UI must reflect.notify({ user_id, topic, data? })— push a topic to one user's clients (theiruser.<id>hub). Use for per-user events (e.g. an inbox item).
Both are no-ops when no hub is live (no open clients); UIs reconcile on next
load. The FE subscribes to the topic via the Wippy instance (instance.on(topic, …)).