|
@@ -512,23 +512,20 @@ converse.plugins.add('converse-muc-views', {
|
|
|
this.enterRoom();
|
|
|
},
|
|
|
|
|
|
- enterRoom (ev) {
|
|
|
+ async enterRoom (ev) {
|
|
|
if (ev) { ev.preventDefault(); }
|
|
|
if (this.model.get('connection_status') !== converse.ROOMSTATUS.ENTERED) {
|
|
|
- const handler = () => {
|
|
|
- if (!u.isPersistableModel(this.model)) {
|
|
|
- // Happens during tests, nothing to do if this
|
|
|
- // is a hanging chatbox (i.e. not in the collection anymore).
|
|
|
- return;
|
|
|
- }
|
|
|
- this.populateAndJoin();
|
|
|
- _converse.emit('chatRoomOpened', this);
|
|
|
+ await this.model.getRoomFeatures();
|
|
|
+ if (!u.isPersistableModel(this.model)) {
|
|
|
+ // XXX: Happens during tests, nothing to do if this
|
|
|
+ // is a hanging chatbox (i.e. not in the collection anymore).
|
|
|
+ return;
|
|
|
}
|
|
|
- this.model.getRoomFeatures().then(handler, handler);
|
|
|
+ this.populateAndJoin();
|
|
|
} else {
|
|
|
this.fetchMessages();
|
|
|
- _converse.emit('chatRoomOpened', this);
|
|
|
}
|
|
|
+ _converse.emit('chatRoomOpened', this);
|
|
|
},
|
|
|
|
|
|
render () {
|