Skip to content
Extraits de code Groupes Projets
Non vérifiée Valider 010df6c8 rédigé par Sorunome's avatar Sorunome
Parcourir les fichiers

handle if remoteUser is null in usersync ApplyStateToRoom

parent 48b417c5
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -198,14 +198,17 @@ export class UserSyncroniser {
return;
}
const remoteUser = await this.userStore.getRemoteUser(memberState.id);
if (!remoteUser) {
throw Error("Remote user not found");
let avatar = "";
if (remoteUser) {
avatar = remoteUser.avatarurlMxc || "";
} else {
log.warn("Remote user wasn't found, using blank avatar");
}
const intent = this.bridge.getIntent(memberState.mxUserId);
/* The intent class tries to be smart and deny a state update for <PL50 users.
Obviously a user can change their own state so we use the client instead. */
await intent.getClient().sendStateEvent(roomId, "m.room.member", {
"avatar_url": remoteUser.avatarurlMxc,
"avatar_url": avatar,
"displayname": memberState.displayName,
"membership": "join",
"uk.half-shot.discord.member": {
......@@ -217,11 +220,13 @@ export class UserSyncroniser {
},
}, memberState.mxUserId);
if (remoteUser) {
if (guildId) {
remoteUser.guildNicks.set(guildId, memberState.displayName);
}
await this.userStore.setRemoteUser(remoteUser);
}
}
public async GetUserUpdateState(discordUser: User, webhookID?: string): Promise<IUserState> {
log.verbose(`State update requested for ${discordUser.id}`);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter