fix: Prefer cached channels before loaded

This commit is contained in:
2026-03-30 20:37:24 +02:00
parent 1e833ec7f2
commit 851d6ae759
4 changed files with 44 additions and 6 deletions

View File

@@ -139,7 +139,12 @@ export class InviteComponent implements OnInit {
RoomsActions.joinRoom({
roomId: joinResponse.server.id,
serverInfo: {
...invite.server,
...joinResponse.server,
channels:
Array.isArray(joinResponse.server.channels) && joinResponse.server.channels.length > 0
? joinResponse.server.channels
: invite.server.channels,
sourceId: context.endpoint.id,
sourceName: context.endpoint.name,
sourceUrl: context.sourceUrl

View File

@@ -241,6 +241,7 @@ export class ServerSearchComponent implements OnInit {
maxUsers: room.maxUsers ?? 50,
hasPassword: typeof room.hasPassword === 'boolean' ? room.hasPassword : !!room.password,
isPrivate: room.isPrivate,
channels: room.channels,
createdAt: room.createdAt,
ownerId: room.hostId,
sourceId: room.sourceId,
@@ -272,7 +273,14 @@ export class ServerSearchComponent implements OnInit {
sourceId: server.sourceId,
sourceUrl: server.sourceUrl
}));
const resolvedServer = response.server ?? server;
const resolvedServer = {
...server,
...response.server,
channels:
Array.isArray(response.server.channels) && response.server.channels.length > 0
? response.server.channels
: server.channels
};
this.closePasswordDialog();
this.store.dispatch(