Discord: no gateway RESUME, and member lists apply only SYNC #52

Closed
opened 2026-08-29 09:59:50 -04:00 by Salastil · 1 comment
Owner

Two related gateway gaps.

No RESUME. No session_id is retained for the main gateway and no sequence number is tracked, so every reconnect is a fresh op-2 IDENTIFY. It works — REST catch-up (catch_up_channel) covers the gap — but it is more expensive than resuming and loses anything catch-up does not reach.

Member lists are one 100-person window, SYNC only. The op-14 lazy-guild subscription requests range [[0,99]], and update_member_list applies only the SYNC operation — INSERT, UPDATE and DELETE are deliberately ignored (documented at discord.rs:3199-3207). So a roster goes stale as soon as anyone joins or leaves, and anything past 100 members is simply absent.

Done looks like: session_id and s retained, op 6 sent on reconnect with a fall back to IDENTIFY on an invalid-session reply; and the remaining member-list ops applied, with further ranges requested for large channels.


Filed from a protocol coverage survey of the four deployed protocols, 2026-08-29 (moho 1a11250, nobilis 030707f).

Two related gateway gaps. **No RESUME.** No `session_id` is retained for the main gateway and no sequence number is tracked, so every reconnect is a fresh op-2 IDENTIFY. It works — REST catch-up (`catch_up_channel`) covers the gap — but it is more expensive than resuming and loses anything catch-up does not reach. **Member lists are one 100-person window, SYNC only.** The op-14 lazy-guild subscription requests range `[[0,99]]`, and `update_member_list` applies only the `SYNC` operation — `INSERT`, `UPDATE` and `DELETE` are deliberately ignored (documented at `discord.rs:3199-3207`). So a roster goes stale as soon as anyone joins or leaves, and anything past 100 members is simply absent. **Done looks like:** `session_id` and `s` retained, op 6 sent on reconnect with a fall back to IDENTIFY on an invalid-session reply; and the remaining member-list ops applied, with further ranges requested for large channels. --- _Filed from a protocol coverage survey of the four deployed protocols, 2026-08-29 (moho `1a11250`, nobilis `030707f`)._
Salastil added the feature label 2026-08-29 09:59:50 -04:00
Author
Owner

Finished — nobilis d7a8ec0

Finished — nobilis [`d7a8ec0`](https://git.salastil.com/Salastil/nobilis/commit/d7a8ec0)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#52