Skip to content

Commit 2f61824

Browse files
v2.16.4
1 parent afe0041 commit 2f61824

File tree

6 files changed

+77
-11
lines changed

6 files changed

+77
-11
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Check out our [API Reference](https://quickblox.github.io/quickblox-javascript-s
1616
## Dependencies for browser
1717

1818
```html
19-
<script src="https://unpkg.com/quickblox@2.16.3/quickblox.min.js"></script>
19+
<script src="https://unpkg.com/quickblox@2.16.4/quickblox.min.js"></script>
2020
```
2121

2222
## Bower and RequireJS

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "quickblox",
33
"description": "QuickBlox JavaScript SDK",
4-
"version": "2.16.3",
4+
"version": "2.16.4",
55
"homepage": "https://quickblox.com/developers/Javascript",
66
"main": "src/qbMain.js",
77
"types": "quickblox.d.ts",

quickblox.js

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47317,18 +47317,51 @@ MucProxy.prototype = {
4731747317

4731847318
delete this.joinedRooms[jid];
4731947319

47320+
function handleLeaveAnswer(stanza) {
47321+
var id = chatUtils.getAttr(stanza, 'id');
47322+
var from = chatUtils.getAttr(stanza, 'from');
47323+
var dialogId = self.helpers.getDialogIdFromNode(from);
47324+
47325+
var x = chatUtils.getElement(stanza, 'x');
47326+
var xXMLNS = chatUtils.getAttr(x, 'xmlns');
47327+
var status = chatUtils.getElement(x, 'status');
47328+
var statusCode = chatUtils.getAttr(status, 'code');
47329+
47330+
if (status && statusCode == '110') {
47331+
Utils.safeCallbackCall(callback, null, {
47332+
dialogId: dialogId
47333+
});
47334+
} else {
47335+
var type = chatUtils.getAttr(stanza, 'type');
47336+
47337+
if (type && type === 'error' && xXMLNS == 'http://jabber.org/protocol/muc' && id.endsWith(':join')) {
47338+
var errorEl = chatUtils.getElement(stanza, 'error');
47339+
var code = chatUtils.getAttr(errorEl, 'code');
47340+
var errorMessage = chatUtils.getElementText(errorEl, 'text');
47341+
47342+
Utils.safeCallbackCall(callback, {
47343+
code: code || 500,
47344+
message: errorMessage || 'Unknown issue'
47345+
}, {
47346+
dialogId: dialogId
47347+
});
47348+
}
47349+
}
47350+
}
47351+
4732047352
if (Utils.getEnv().browser) {
4732147353
var roomJid = self.helpers.getRoomJid(jid);
4732247354

4732347355
if (typeof callback === 'function') {
47324-
self.connection.XAddTrackedHandler(callback, null, 'presence', presParams.type, null, roomJid);
47356+
self.connection.XAddTrackedHandler(handleLeaveAnswer, null, 'presence', presParams.type, null, roomJid);
47357+
4732547358
}
4732647359

4732747360
self.connection.send(pres);
4732847361
} else {
4732947362
/** The answer don't contain id */
4733047363
if (typeof callback === 'function') {
47331-
self.nodeStanzasCallbacks['muc:leave'] = callback;
47364+
self.nodeStanzasCallbacks['muc:leave'] = handleLeaveAnswer;
4733247365
}
4733347366

4733447367
self.Client.send(pres);
@@ -53642,8 +53675,8 @@ module.exports = StreamManagement;
5364253675
*/
5364353676

5364453677
var config = {
53645-
version: '2.16.3',
53646-
buildNumber: '1158',
53678+
version: '2.16.4',
53679+
buildNumber: '1159',
5364753680
creds: {
5364853681
'appId': 0,
5364953682
'authKey': '',

quickblox.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/modules/chat/qbChat.js

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1893,18 +1893,51 @@ MucProxy.prototype = {
18931893

18941894
delete this.joinedRooms[jid];
18951895

1896+
function handleLeaveAnswer(stanza) {
1897+
var id = chatUtils.getAttr(stanza, 'id');
1898+
var from = chatUtils.getAttr(stanza, 'from');
1899+
var dialogId = self.helpers.getDialogIdFromNode(from);
1900+
1901+
var x = chatUtils.getElement(stanza, 'x');
1902+
var xXMLNS = chatUtils.getAttr(x, 'xmlns');
1903+
var status = chatUtils.getElement(x, 'status');
1904+
var statusCode = chatUtils.getAttr(status, 'code');
1905+
1906+
if (status && statusCode == '110') {
1907+
Utils.safeCallbackCall(callback, null, {
1908+
dialogId: dialogId
1909+
});
1910+
} else {
1911+
var type = chatUtils.getAttr(stanza, 'type');
1912+
1913+
if (type && type === 'error' && xXMLNS == 'http://jabber.org/protocol/muc' && id.endsWith(':join')) {
1914+
var errorEl = chatUtils.getElement(stanza, 'error');
1915+
var code = chatUtils.getAttr(errorEl, 'code');
1916+
var errorMessage = chatUtils.getElementText(errorEl, 'text');
1917+
1918+
Utils.safeCallbackCall(callback, {
1919+
code: code || 500,
1920+
message: errorMessage || 'Unknown issue'
1921+
}, {
1922+
dialogId: dialogId
1923+
});
1924+
}
1925+
}
1926+
}
1927+
18961928
if (Utils.getEnv().browser) {
18971929
var roomJid = self.helpers.getRoomJid(jid);
18981930

18991931
if (typeof callback === 'function') {
1900-
self.connection.XAddTrackedHandler(callback, null, 'presence', presParams.type, null, roomJid);
1932+
self.connection.XAddTrackedHandler(handleLeaveAnswer, null, 'presence', presParams.type, null, roomJid);
1933+
19011934
}
19021935

19031936
self.connection.send(pres);
19041937
} else {
19051938
/** The answer don't contain id */
19061939
if (typeof callback === 'function') {
1907-
self.nodeStanzasCallbacks['muc:leave'] = callback;
1940+
self.nodeStanzasCallbacks['muc:leave'] = handleLeaveAnswer;
19081941
}
19091942

19101943
self.Client.send(pres);

src/qbConfig.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
*/
1313

1414
var config = {
15-
version: '2.16.3',
16-
buildNumber: '1158',
15+
version: '2.16.4',
16+
buildNumber: '1159',
1717
creds: {
1818
'appId': 0,
1919
'authKey': '',

0 commit comments

Comments
 (0)