fix(web): права в шапке сервера обновляются после выдачи роли

По MEMBER_UPDATE/ROLE_* клиент перечитывал участников, роли и комнаты, но
не сводку сервера: `my_permissions` в сторе сессии оставались прежними, и
кнопки управления (🔗 приглашение, ⚙ настройки, + комната) появлялись
только после перезагрузки. Матрица 11.6 требует, чтобы права сразу меняли
доступные действия (AGENT.md 11.6).

- в ветках `MEMBER_UPDATE`/`MEMBER_REMOVE` и `ROLE_*` вызывается
  `addGuildFromRest` — сводка сервера перечитывается и мержится;
- vitest: кнопки появляются по событию (тест падает без правки).
This commit is contained in:
2026-09-26 11:06:32 +03:00
parent 70eae99873
commit cf36488e6f
2 changed files with 42 additions and 1 deletions
+5
View File
@@ -295,6 +295,9 @@ export function dispatchGatewayEvent(event: GatewayDispatch): void {
if (guildId !== null) {
void invalidateMembershipQueries(guildId);
session.scheduleGuildChannelsReload(guildId);
// Свои права после выдачи роли обновляет только сводка сервера: без
// неё кнопки управления в шапке появлялись лишь после перезагрузки.
void addGuildFromRest(guildId);
}
return;
}
@@ -305,6 +308,8 @@ export function dispatchGatewayEvent(event: GatewayDispatch): void {
if (role !== null) {
void invalidateMembershipQueries(role.guild_id);
session.scheduleGuildChannelsReload(role.guild_id);
// Права роли могли измениться и у меня: обновляем сводку сервера.
void addGuildFromRest(role.guild_id);
}
return;
}