|
@@ -385,7 +385,6 @@ converse.plugins.add('converse-muc', {
|
|
'hidden': ['mobile', 'fullscreen'].includes(_converse.view_mode),
|
|
'hidden': ['mobile', 'fullscreen'].includes(_converse.view_mode),
|
|
'message_type': 'groupchat',
|
|
'message_type': 'groupchat',
|
|
'name': '',
|
|
'name': '',
|
|
- 'nick': _converse.getDefaultMUCNickname(),
|
|
|
|
'num_unread': 0,
|
|
'num_unread': 0,
|
|
'roomconfig': {},
|
|
'roomconfig': {},
|
|
'time_opened': this.get('time_opened') || (new Date()).getTime(),
|
|
'time_opened': this.get('time_opened') || (new Date()).getTime(),
|
|
@@ -1194,34 +1193,26 @@ converse.plugins.add('converse-muc', {
|
|
* @returns { Promise<string> } A promise which resolves with the reserved nick or null
|
|
* @returns { Promise<string> } A promise which resolves with the reserved nick or null
|
|
*/
|
|
*/
|
|
async getReservedNick () {
|
|
async getReservedNick () {
|
|
- let iq;
|
|
|
|
- try {
|
|
|
|
- iq = await _converse.api.sendIQ(
|
|
|
|
- $iq({
|
|
|
|
- 'to': this.get('jid'),
|
|
|
|
- 'from': _converse.connection.jid,
|
|
|
|
- 'type': "get"
|
|
|
|
- }).c("query", {
|
|
|
|
- 'xmlns': Strophe.NS.DISCO_INFO,
|
|
|
|
- 'node': 'x-roomuser-item'
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
- } catch (e) {
|
|
|
|
- if (_.isElement(e)) {
|
|
|
|
- // IQ stanza of type 'error'
|
|
|
|
- return;
|
|
|
|
- } else {
|
|
|
|
- throw e;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- const identity_el = iq.querySelector('query[node="x-roomuser-item"] identity');
|
|
|
|
|
|
+ const stanza = $iq({
|
|
|
|
+ 'to': this.get('jid'),
|
|
|
|
+ 'from': _converse.connection.jid,
|
|
|
|
+ 'type': "get"
|
|
|
|
+ }).c("query", {
|
|
|
|
+ 'xmlns': Strophe.NS.DISCO_INFO,
|
|
|
|
+ 'node': 'x-roomuser-item'
|
|
|
|
+ })
|
|
|
|
+ const result = await _converse.api.sendIQ(stanza, null, true);
|
|
|
|
+ if (u.isErrorObject(result)) {
|
|
|
|
+ throw result;
|
|
|
|
+ }
|
|
|
|
+ const identity_el = result.querySelector('query[node="x-roomuser-item"] identity');
|
|
return identity_el ? identity_el.getAttribute('name') : null;
|
|
return identity_el ? identity_el.getAttribute('name') : null;
|
|
},
|
|
},
|
|
|
|
|
|
async registerNickname () {
|
|
async registerNickname () {
|
|
// See https://xmpp.org/extensions/xep-0045.html#register
|
|
// See https://xmpp.org/extensions/xep-0045.html#register
|
|
- const nick = this.get('nick'),
|
|
|
|
- jid = this.get('jid');
|
|
|
|
|
|
+ const nick = this.get('nick');
|
|
|
|
+ const jid = this.get('jid');
|
|
let iq, err_msg;
|
|
let iq, err_msg;
|
|
try {
|
|
try {
|
|
iq = await _converse.api.sendIQ(
|
|
iq = await _converse.api.sendIQ(
|