feat(scaling): serialize per-socket fan-out + NEW_CHANGES_BATCH

DE
5mo ago
+81559-8870

Port of upstream ether/etherpad-lite#7768

Serializes per-socket fan-out and adds NEW_CHANGES_BATCH wire format.


Summary by cubic

Serializes per-socket socket.io fan‑out to guarantee message ordering under load and adds a NEW_CHANGES_BATCH wire message to batch multiple changes per emit for higher throughput.

  • New Features

    • Per-socket send queue ensures ordered delivery and prevents interleaved emits.
    • NEW_CHANGES_BATCH bundles multiple change ops in one payload to reduce emit overhead; falls back to existing messages for older clients.
  • Migration

    • No action for core Etherpad clients. If you run a custom client or proxy, add a handler for NEW_CHANGES_BATCH or keep using existing messages until updated.