diff --git a/src/js/room-picker.js b/src/js/room-picker.js index 9fbbece..d2e79fa 100644 --- a/src/js/room-picker.js +++ b/src/js/room-picker.js @@ -94,15 +94,20 @@ class Room extends ElemJS { } getName() { + // if the room has a name let name = this.data.state.events.find(e => e.type === "m.room.name") - if (name) { - name = name.content.name - } else { - const users = this.data.summary["m.heroes"] - const usernames = users.map(u => (u.match(/^@([^:]+):/) || [])[1] || u) - name = usernames.join(", ") + if (name && name.content.name) { + return name.content.name } - return name + // if the room has no name, use its canonical alias + let canonicalAlias = this.data.state.events.find(e => e.type === "m.room.canonical_alias") + if (canonicalAlias && canonicalAlias.content.alias) { + return canonicalAlias.content.alias + } + // if the room has no alias, use the names of its members ("heroes") + const users = this.data.summary["m.heroes"] + const usernames = users.map(u => (u.match(/^@([^:]+):/) || [])[1] || u) + return usernames.join(", ") } getIcon() {