@playlive/realtime-pipeline
    Preparing search index...

    Interface UpdateLeaderboardMessage

    Pushed from the UDP leaderboard-snapshot-lambda immediately after a Tiltify donation_updated webhook that potentially shifts the campaign's leaderboard. Closes the same 60s latency gap the updatePoll message closes for polls.

    entries is the full top-N donor list for the campaign in the time window the recipient connection subscribed to (per its tiltify.leaderboardTimeType). Each recipient may receive a different entries payload for the same campaign when their leaderboardTimeType differs — server groups connections by timeType and fans one fetch per group.

    Older clients that don't recognize "updateLeaderboard" silently drop the message (default: break; in processMessage) — safe to roll out.

    interface UpdateLeaderboardMessage {
        data: { campaignID: string; entries: TiltifyLeaderboardEntry[] };
        id: string;
        sourceType: string;
        type: "updateLeaderboard";
    }

    Hierarchy (View Summary)

    Index
    data: { campaignID: string; entries: TiltifyLeaderboardEntry[] }

    Type Declaration

    • campaignID: string

      Campaign id (or team-campaign id) the leaderboard belongs to. Client stores flat under leaderboardEntries[campaignID] because each connection only ever sees one timeType.

    • entries: TiltifyLeaderboardEntry[]
    id: string
    sourceType: string
    type: "updateLeaderboard"