Skip to content

Commit

Permalink
Merge pull request #1479 from matrix-org/tadzik/fallback-to-profile-n…
Browse files Browse the repository at this point in the history
…icknames

Fallback to generic profile displayname if we can't get the bot to join the proper room
  • Loading branch information
Half-Shot authored Sep 15, 2021
2 parents 4302af1 + db6d38e commit 7a344ac
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
1 change: 1 addition & 0 deletions changelog.d/1479.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix an edgecase where an nickname was not always set right for matrix users in PMs
22 changes: 11 additions & 11 deletions src/bridge/MatrixHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1006,17 +1006,17 @@ export class MatrixHandler {
let bridgedClient = this.ircBridge.getIrcUserFromCache(ircRoom.server, event.sender);
if (!bridgedClient) {
messageSendPromiseSet.push((async () => {
let displayName = undefined;
try {
const res = await this.ircBridge.getAppServiceBridge().getIntent().getStateEvent(
event.room_id, "m.room.member", event.sender
);
displayName = res.displayname;
}
catch (err) {
req.log.warn("Failed to get display name: %s", err);
// this is non-fatal, continue.
}
const intent = this.ircBridge.getAppServiceBridge().getIntent();
const displayName = await intent.getStateEvent(
event.room_id, "m.room.member", event.sender
).catch(err => {
req.log.warn(`Failed to get display name for the room: ${err}`);
return intent.getProfileInfo(event.sender, "displayname");
}).then(
res => res.displayname
).catch(err => {
req.log.error(`Failed to get display name: ${err}`);
});
bridgedClient = await this.ircBridge.getBridgedClient(
ircRoom.server, event.sender, displayName
);
Expand Down

0 comments on commit 7a344ac

Please sign in to comment.