Skip to content

feat: batch realtime traffic and surface data freshness - #428

Open
maztah1 wants to merge 1 commit into
Refract-Protocol:mainfrom
maztah1:feat/realtime-batching-freshness-fanout-types
Open

maztah1 wants to merge 1 commit into
Refract-Protocol:mainfrom
maztah1:feat/realtime-batching-freshness-fanout-types

Conversation

@maztah1

@maztah1 maztah1 commented Oct 21, 2026

Copy link
Copy Markdown

Implements batched realtime subscriptions, cross-tab event fan-out, generated OpenAPI validators, and data freshness indicators across the landing and provider views.

  • Coalesces topic subscribe/unsubscribe operations into bounded microtask batches, with immediate sends available for boundary-sensitive frames.
  • Elects a WebSocket leader per app instance, forwards validated state/events, and promotes a follower after the lease expires.
  • Generates stable realtime TypeScript types and Zod validators from the checked-in OpenAPI schemas, with a CI drift check.
  • Adds per-view freshness labels and reconnect grace handling, and restores the oracle, claims, and pool data hooks.

Closes #265
Closes #266
Closes #267
Closes #264

Validation: generated-file drift check passed; focused realtime tests passed (9 tests); scoped TypeScript compilation passed; git diff --check passed. Full repository checks remain blocked by existing issues in the base branch: the TypeScript check reports JSX parse errors in src/app/cover/page.tsx, ESLint fails on the Literal[value=1e7] selector in .eslintrc.json, and package-lock.json is malformed so npm ci cannot run.

@drips-wave

drips-wave Bot commented Oct 21, 2026

Copy link
Copy Markdown

@maztah1 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant