Skip to content

deduplicate user metadata in the JOIN burst #2388

@slingamn

Description

@slingamn

Right now Ergo does eager metadata sync on JOIN, including the join burst for reattaching clients. This is fine for channel metadata, but risks blowup for user metadata (e.g. the same user is in 5 of your channels; syncChannelMetadata will send you 5 copies of your subscribed keys for them, one in each sync batch).

Ideas:

  1. We could deduplicate through the join burst (this adds implementation complexity)
  2. For a reattaching client, we could suppress user metadata in the join burst, then send a separate metadata batch (with a * parameter for the target?) containing all deduplicated metadata for "friends".

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions