fix(gateway): имена событий и resumable-флаг по спецификации §8.3
- ROLE_CREATE/ROLE_UPDATE/ROLE_DELETE вместо GUILD_ROLE_*;
- выдача/снятие роли приходит как MEMBER_UPDATE с полным списком role_ids:
клиент пересчитывает доступные действия сразу после события;
- промах RESUME отдаёт INVALID_SESSION с {"resumable": true} и следом полный
READY — сессия сохраняется, повторный вход не нужен;
- тесты обновлены под новый контракт.
This commit is contained in:
@@ -143,7 +143,7 @@ func TestRealtimeEventsReachConnectedClients(t *testing.T) {
|
||||
ID string `json:"id"`
|
||||
} `json:"role"`
|
||||
}](t, roleRec)
|
||||
owner.expectEvent("GUILD_ROLE_CREATE")
|
||||
owner.expectEvent("ROLE_CREATE")
|
||||
|
||||
memberUser, err := srv.auth.UserByEmail(t.Context(), "rt-member@example.com")
|
||||
if err != nil {
|
||||
@@ -154,7 +154,7 @@ func TestRealtimeEventsReachConnectedClients(t *testing.T) {
|
||||
"", ownerCookie); rec.Code != http.StatusOK {
|
||||
t.Fatalf("assign role = %d, body = %s", rec.Code, rec.Body.String())
|
||||
}
|
||||
member.expectEvent("MEMBER_ROLES_UPDATE")
|
||||
member.expectEvent("MEMBER_UPDATE")
|
||||
|
||||
// Профиль: событие приходит только владельцу сессии.
|
||||
if rec := doJSON(t, srv, http.MethodPatch, "/api/v1/users/@me",
|
||||
|
||||
Reference in New Issue
Block a user