fix(app): keep hydrated state across gateway session resumes (#1862)

This commit is contained in:
Hampus authored and GitHub committed 2026-08-24 12:33:27 +02:00
1 parent b7f75e25ad
commit 943b948de7
41 files changed
+81 -690

No files matched your search

@@ -59,7 +59,7 @@ class GuildCount {
this.scheduleFlush();
}
handleConnectionOpen(guilds: ReadonlyArray<HydratableGuild>): void {
handleGatewayReady(guilds: ReadonlyArray<HydratableGuild>): void {
this.hydrate(guilds);
}
@@ -27,7 +27,7 @@ class GuildList {
}
@action
handleConnectionOpen(guilds: ReadonlyArray<GuildReadyData>): void {
handleGatewayReady(guilds: ReadonlyArray<GuildReadyData>): void {
const availableGuilds: Array<Guild> = [];
for (const guild of guilds) {
if (guild.unavailable) continue;
@@ -112,7 +112,7 @@ class GuildReadState {
() => {
const {all, changes} = ReadStates.consumePendingChanges();
if (all) {
this.handleConnectionOpen();
this.handleGatewayReady();
return;
}
if (changes.length === 0) {
@@ -384,7 +384,7 @@ class GuildReadState {
return false;
}
handleConnectionOpen(): void {
handleGatewayReady(): void {
this.guildStates.clear();
this.unreadGuildIds.clear();
this.updateCounter = 0;
@@ -454,7 +454,7 @@ class GuildReadState {
}
handleRecomputeAll(): void {
this.handleConnectionOpen();
this.handleGatewayReady();
}
handleWindowFocused(): void {
@@ -41,7 +41,7 @@ class GuildVerification {
makeAutoObservable(this, {}, {autoBind: true});
}
handleConnectionOpen(): void {
handleGatewayReady(): void {
this.recomputeAll();
}
@@ -44,7 +44,7 @@ class Guilds {
return Object.values(this.guilds).filter((guild) => guild.ownerId === userId);
}
handleConnectionOpen({guilds}: {guilds: Array<GuildReadyData>}): void {
handleGatewayReady({guilds}: {guilds: Array<GuildReadyData>}): void {
const availableGuilds = guilds.filter((guild) => !guild.unavailable);
if (availableGuilds.length === 0) {
this.guilds = {};