Comparar commits

...

50 Commits

Autor SHA1 Mensagem Data
sualko 81f9b52e03 update strophe.jinglejs (fix #555) 2017-06-30 12:57:53 +02:00
Klaus dbc6ed082c Update .travis.yml 2017-06-29 11:02:26 +02:00
sualko e7c5473298 use span for emoticons 2017-06-29 10:22:45 +02:00
sualko 2231d19c35 add function to retrieve last message 2017-06-29 10:21:59 +02:00
sualko 6e1622a6be fix uncaught type error (fix #569) 2017-06-28 18:19:50 +02:00
sualko 0fbcca2f5e fix selection dialog (fix #552) 2017-06-26 15:47:46 +02:00
sualko f65be0b254 fix unlimited max size for http file upload 2017-06-14 10:06:27 +02:00
sualko da3b092628 build v3.2.1 2017-06-01 14:46:26 +02:00
sualko 46bab87c9a update locales 2017-06-01 14:21:54 +02:00
sualko 2f2924eba3 update change log 2017-06-01 14:21:40 +02:00
Klaus 7d563d7c91 Merge pull request #539 from jsxc/http-upload-fix-1
fix thumbnail transfer

fix #526 fix #534
2017-05-31 09:37:02 +02:00
sualko f7c7f6c26f disable links in last message view 2017-05-30 13:59:29 +02:00
Klaus c25195a8e4 Merge pull request #541 from jsxc/muc-file-transfer
enable http upload for muc

fix #535
2017-05-30 13:43:21 +02:00
sualko 60ed6299ce fix fallback language (fix #542) 2017-05-30 13:02:37 +02:00
sualko 00c9bda017 add debug message 2017-05-29 13:34:09 +02:00
sualko 764eb2230a fix disabled file transfer link 2017-05-29 13:33:40 +02:00
sualko 8f0bc35e87 catch undefined exception during file transfer 2017-05-29 13:33:04 +02:00
sualko b34dbb3238 remove favicon badge after logout 2017-05-24 14:01:09 +02:00
sualko e098951454 enable http upload for muc 2017-05-24 13:48:12 +02:00
sualko 5cb76e748b fix file transfer ui update 2017-05-24 13:39:25 +02:00
sualko 8f318182fb fix handler for muc menu items 2017-05-24 13:38:42 +02:00
sualko 5ead597881 fix thumbnail transfer
- should xhtml-im conform now
- include plaintext body to http upload message
2017-05-23 16:05:59 +02:00
sualko 14e7cdc537 reduce thumbnail size
- use jpeg 30%
2017-05-23 16:03:22 +02:00
sualko 1d9443f32d build v3.2.0 2017-05-17 13:23:14 +02:00
sualko 135db545c6 update locales 2017-05-17 13:14:26 +02:00
sualko 6a8d3f2e50 add data-status to every element with data-bid (fix #522) 2017-05-15 13:18:13 +02:00
sualko e6b699a123 remove important statement 2017-05-03 13:25:16 +02:00
sualko 689e868266 handle uri scheme if offline 2017-05-03 13:24:34 +02:00
sualko 94bfb84562 update locales 2017-05-03 11:02:58 +02:00
sualko 7e4885b86d build v3.2.0-beta.2 2017-04-28 15:33:28 +02:00
sualko e8357cb3e8 update lang 2017-04-28 15:32:03 +02:00
sualko 990dfa5de0 update change log 2017-04-28 15:29:26 +02:00
sualko ab2a713a29 change roster ready event
- add roster state
- add event without namespace
2017-04-28 14:16:53 +02:00
sualko 9ad183210d change error message handling
- move to core
- ignore errors without id
- add description to remote-server-not-found error
2017-04-27 17:15:27 +02:00
sualko fdf9b670f3 add data-bid to xmpp uris 2017-04-27 16:53:20 +02:00
sualko 0227f54c8b fix xmpp message uri to unknown jid 2017-04-27 16:52:43 +02:00
sualko 26d5599ab1 update dependencies
- grunt-contrib-clean
- grunt-contrib-uglify
- node-sass
- strophe.chatstates
- strophejs-plugin-mam
2017-04-27 13:44:40 +02:00
sualko c785e8dbdd Merge branch 'mmoqui-chatstate-503'
Take into account the 'RFC 6121 / No Available or Connected Resource' with an offline storage disabled (#513)
2017-04-27 12:57:09 +02:00
sualko 3c881a4b50 use namespace string from strophe 2017-04-27 12:56:47 +02:00
Miguel Moquillon 4644d79bb4 Take into account the 'RFC 6121 / No Available or Connected Resources' with an offline storage disabled. For example, in the context the chatstate notifications is refused to be delivered by the server or the user isn't connected, the messages carrying the chatstate shouldn't to be stored offline (XEP 0085), causing then the server to send back an error 'service-unavailable' (RFC 6121). This behavior was first observed with ejabberd and a message composing to a non connected user. 2017-04-27 08:40:59 +02:00
sualko a8fb7a2e50 make message error more visible 2017-04-25 17:10:32 +02:00
sualko e1c905586f update lang 2017-04-25 16:49:15 +02:00
sualko 84c3fbbd44 fix roster loading 2017-04-25 16:44:11 +02:00
sualko 5bd440ead9 Merge branch 'master' of github.com:jsxc/jsxc 2017-04-24 14:17:16 +02:00
sualko ebe6b7bfea replace old storage key style (fix #515) 2017-04-24 14:17:01 +02:00
Klaus 50693eece7 Merge pull request #510 from Digonly/digonly-ejabberd-fix
One line fix
2017-04-10 09:38:01 +02:00
Klaus e8ae2d5421 Fix travis (#509) 2017-04-07 10:16:07 +02:00
Klaus 9c3bfcda07 Merge pull request #505 from mmoqui/master
Non translated text about the receipt of a message from an unknown sender
2017-04-07 10:01:54 +02:00
Digonly fdc570b6ee Ejabberd one line fix 2017-04-06 22:42:44 +02:00
Miguel Moquillon 6ff2a7ce31 fix the i18n key used when informing about a message coming from an unknown sender 2017-04-06 15:50:29 +02:00
87 arquivos alterados com 5039 adições e 3669 exclusões
+3
Ver Arquivo
@@ -1,5 +1,7 @@
language: node_js
dist: trusty
node_js:
- "node"
@@ -8,4 +10,5 @@ before_install:
- gem install scss_lint
script:
- echo {} > .github.json
- ./node_modules/.bin/grunt pre-commit
+37 -1
Ver Arquivo
@@ -5,6 +5,25 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]
## 3.2.1 - 2017-06-01
### Added
- add Greek translation
### Fixed
- fix thumbnail transfer
- fix handler for muc menu items
- catch undefined exception during file transfer
- fix disabled file transfer link
- [#542](https://github.com/jsxc/jsxc/issues/542) fix fallback language
- remove favicon badge after logout
### Changed
- reduce thumbnail size
- enable http upload for muc
- disable links in last message view
## 3.2.0 - 2017-05-17
### Added
- [#150](https://github.com/jsxc/jsxc/issues/150) add Message Archive Management (XEP-0313)
- [#464](https://github.com/jsxc/jsxc/issues/464) respond to software version request (XEP-0092)
@@ -17,14 +36,31 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- [#470](https://github.com/jsxc/jsxc/issues/470) fix receiving message from unknown sender
- [#483](https://github.com/jsxc/jsxc/issues/483) fix unclickable space
- catch quota exceeded errors (e.g. Safari in private mode has a quota of 0)
- [#510](https://github.com/jsxc/jsxc/pull/510) fix muc form
- [#505](https://github.com/jsxc/jsxc/pull/505) fix i18n key
- [#515](https://github.com/jsxc/jsxc/issues/515) fix add contact in slave tab
- fix initial roster loading
- fix xmpp message uri to unknown jid
- fix uri scheme handling if offline
- fix hiding of offline users in roster
### Changed
- update strophe.jinglejs
- update dependencies
- strophe.jinglejs
- grunt-contrib-clean
- grunt-contrib-uglify
- node-sass
- strophe.chatstates
- strophejs-plugin-mam
- make max file size optional for http upload service
- [#480](https://github.com/jsxc/jsxc/issues/480) split avatar loading into chunks
- [#478](https://github.com/jsxc/jsxc/issues/478) support roster versioning
- prefer xmpp password from settings over login form
- [#468](https://github.com/jsxc/jsxc/issues/468) move composing message to window header
- make message error more visible
- ignore message errors without id
- add data-bid to xmpp uris
- add roster state to roster ready event
## 3.1.1 - 2017-02-14
### Fixed
+3 -3
Ver Arquivo
@@ -1,6 +1,6 @@
{
"name": "jsxc",
"version": "3.2.0-beta.1",
"version": "3.2.1",
"homepage": "https://www.jsxc.org",
"authors": [
"sualko <klaus@jsxc.org>"
@@ -31,11 +31,11 @@
"strophe.js": "strophejs#a11ebefa3db1b6712d51d0d309b9f68f8e391d1b",
"strophe.vcard": "strophe/strophejs-plugin-vcard#de3a0c97a2c520ed900ee15b04a0c16d5c663891",
"strophe.x": "strophe/strophejs-plugin-dataforms",
"strophe.chatstates": "strophe/strophejs-plugin-chatstates",
"strophe.chatstates": "strophe/strophejs-plugin-chatstates#fb0b5f5b03d98ba05ac9dec853fe2190794128b6",
"jquery-i18next": "^1.2.0",
"i18next": "^5.0.0",
"magnific-popup": "^1.1.0",
"strophejs-plugin-mam": "strophe/strophejs-plugin-mam#27e8d25",
"strophejs-plugin-mam": "strophe/strophejs-plugin-mam#d7b9a8a0b404e3dd9c83dd9cc4bf28aec2e5f329",
"strophejs-plugin-rsm": "strophe/strophejs-plugin-rsm#fa16b3b"
}
}
+12 -12
Ver Arquivo
@@ -2552,7 +2552,7 @@ fieldset[disabled]
width: 14px;
height: 100%;
position: absolute;
left: -14px !important;
right: 100%;
top: 0;
z-index: 110;
background-color: transparent;
@@ -3044,16 +3044,16 @@ fieldset[disabled]
position: relative;
outline: none;
clear: both; }
.jsxc_chatmessage.jsxc_error {
opacity: 0.7; }
.jsxc_chatmessage.jsxc_error:before {
content: " ";
position: absolute;
top: 3px;
right: 3px;
width: 8px;
height: 8px;
background-color: yellow; }
.jsxc_chatmessage.jsxc_error:before {
content: attr(data-error-msg);
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(255, 255, 255, 0.7);
text-align: center;
padding: 10px 5px; }
.jsxc_chatmessage a {
color: #00f;
text-decoration: underline;
@@ -3276,7 +3276,7 @@ div.jsxc_transfer {
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_fade {
padding-top: 44px; }
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_fingerprints, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_verification, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_transfer, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_video, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_sendFile {
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_fingerprints, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_verification, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_transfer, .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_video {
display: none; }
.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_members {
+230 -106
Ver Arquivo
@@ -1,5 +1,5 @@
/*!
* jsxc v3.2.0-beta.1 - 2017-04-04
* jsxc v3.2.1 - 2017-06-01
*
* Copyright (c) 2017 Klaus Herberth <klaus@jsxc.org> <br>
* Released under the MIT license
@@ -7,7 +7,7 @@
* Please see http://www.jsxc.org/
*
* @author Klaus Herberth <klaus@jsxc.org>
* @version 3.2.0-beta.1
* @version 3.2.1
* @license MIT
*/
@@ -25,7 +25,7 @@ var jsxc = null, RTC = null, RTCPeerconnection = null;
*/
jsxc = {
/** Version of jsxc */
version: '3.2.0-beta.1',
version: '3.2.1',
/** True if i'm the master */
master: false,
@@ -48,9 +48,6 @@ jsxc = {
/** Interval for keep-alive */
keepaliveInterval: null,
/** True if jid, sid and rid was used to connect */
reconnect: false,
/** True if restore is complete */
restoreCompleted: false,
@@ -296,6 +293,7 @@ jsxc = {
lng: lang,
fallbackLng: 'en',
resources: I18next,
returnNull: false,
debug: jsxc.storage.getItem('debug') === true,
interpolation: {
prefix: '__',
@@ -1139,8 +1137,6 @@ jsxc.xmpp = {
jsxc.debug('Try to attach');
jsxc.debug('SID: ' + sid);
jsxc.reconnect = true;
jsxc.xmpp.conn.attach(jid, sid, rid, callback);
} else {
jsxc.debug('New connection');
@@ -1192,6 +1188,10 @@ jsxc.xmpp = {
jsxc.storage.removeUserItem('windowlist');
jsxc.storage.removeUserItem('unreadMsg');
if (jsxc.gui.favicon) {
jsxc.gui.favicon.badge(0);
}
// Hide dropdown menu
$('body').click();
@@ -1285,6 +1285,7 @@ jsxc.xmpp = {
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onRosterChanged, 'jabber:iq:roster', 'iq', 'set');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onChatMessage, null, 'message', 'chat');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onErrorMessage, null, 'message', 'error');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onHeadlineMessage, null, 'message', 'headline');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onReceived, null, 'message');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onPresence, null, 'presence');
@@ -1329,8 +1330,10 @@ jsxc.xmpp = {
}
}
var rosterLoaded = jsxc.storage.getUserItem('rosterLoaded');
// Only load roaster if necessary
if (!jsxc.reconnect) {
if (rosterLoaded !== jsxc.xmpp.conn._proto.sid) {
// in order to not overide existing presence information, we send
// pres first after roster is ready
$(document).one('cloaded.roster.jsxc', jsxc.xmpp.sendPres);
@@ -1480,7 +1483,6 @@ jsxc.xmpp = {
window.clearInterval(jsxc.keepaliveInterval);
jsxc.role_allocation = false;
jsxc.master = false;
jsxc.reconnect = false;
jsxc.storage.removeItem('alive');
jsxc.changeState(jsxc.CONST.STATE.SUSPEND);
@@ -1531,6 +1533,8 @@ jsxc.xmpp = {
onRoster: function(iq) {
jsxc.debug('Load roster', iq);
jsxc.storage.setUserItem('rosterLoaded', jsxc.xmpp.conn._proto.sid);
if ($(iq).find('query').length === 0) {
jsxc.debug('Use cached roster');
@@ -1900,7 +1904,7 @@ jsxc.xmpp = {
if (chat.length === 0) {
jsxc.notice.add({
msg: $.t('Unknown_sender'),
description: $.t('You_received_a_message_from_an_unknown_sender') + ' (' + bid + ').'
description: $.t('You_received_a_message_from_an_unknown_sender_') + ' (' + bid + ').'
}, 'gui.showUnknownSender', [bid]);
}
@@ -1952,6 +1956,7 @@ jsxc.xmpp = {
var httpUploadElement = htmlBody.find('a[data-type][data-name][data-size]');
if (httpUploadElement.length === 1) {
// deprecated syntax @since 3.2.1
attachment = {
type: httpUploadElement.attr('data-type'),
name: httpUploadElement.attr('data-name'),
@@ -1970,6 +1975,44 @@ jsxc.xmpp = {
if (!attachment.type.match(/^[a-z]+\/[a-z0-9-+.*]+$/i) || !attachment.name.match(/^[\s\w.,-]+$/i) || !attachment.size.match(/^\d+$/i)) {
attachment = undefined;
jsxc.warn('Invalid file type, name or size.');
}
} else if (htmlBody.find('>a').length === 1) {
var linkElement = htmlBody.find('>a');
var metaString = '';
var thumbnail;
if (linkElement.find('>img').length === 1) {
var imgElement = linkElement.find('>img');
var src = imgElement.attr('src') || '';
var altString = imgElement.attr('alt') || '';
metaString = altString.replace(/^Preview:/, '');
if (src.match(/^\s*data:[a-z]+\/[a-z0-9-+.*]+;base64,[a-z0-9=+/]+$/i)) {
thumbnail = src;
}
} else {
metaString = linkElement.text();
}
var metaMatch = metaString.match(/^([a-z]+\/[a-z0-9-+.*]+)\|(\d+)\|([\s\w.,-]+)/);
if (metaMatch) {
attachment = {
type: metaMatch[1],
size: metaMatch[2],
name: metaMatch[3],
};
if (thumbnail) {
attachment.thumbnail = thumbnail;
}
if (linkElement.attr('href') && linkElement.attr('href').match(/^https?:\/\//)) {
attachment.data = linkElement.attr('href');
body = null;
}
} else {
jsxc.warn('Invalid file type, name or size.');
}
}
@@ -1979,7 +2022,6 @@ jsxc.xmpp = {
// @TODO check for file upload url after decryption
jsxc.otr.objects[bid].receiveMsg(body, {
_uid: mid,
foo: 'bar',
stamp: stamp,
forwarded: forwarded,
attachment: attachment
@@ -2001,6 +2043,58 @@ jsxc.xmpp = {
return true;
},
onErrorMessage: function(message) {
var bid = jsxc.jidToBid($(message).attr('from'));
if (jsxc.gui.window.get(bid).length === 0 || !$(message).attr('id')) {
return true;
}
if ($(message).find('item-not-found').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_item-not-found')
});
} else if ($(message).find('forbidden').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_forbidden')
});
} else if ($(message).find('not-acceptable').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_not-acceptable')
});
} else if ($(message).find('remote-server-not-found').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_remote-server-not-found')
});
} else if ($(message).find('service-unavailable').length > 0) {
if ($(message).find('[xmlns="' + Strophe.NS.CHATSTATES + '"]').length === 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_resource-unavailable')
});
}
} else {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send')
});
}
jsxc.debug('error message for ' + bid, $(message).find('error')[0]);
return true;
},
/**
* Process message stanzas of type headline.
*
@@ -2114,9 +2208,9 @@ jsxc.xmpp = {
type: 'subscribe'
}));
jsxc.storage.removeUserItem('add_' + bid);
jsxc.storage.removeUserItem('add', bid);
} else {
jsxc.storage.setUserItem('add_' + bid, {
jsxc.storage.setUserItem('add', bid, {
username: username,
alias: alias || null
});
@@ -2168,7 +2262,7 @@ jsxc.xmpp = {
*/
sendMessage: function(message) {
var bid = message.bid;
var msg = message.htmlMsg;
var msg = message.msg;
var mucRoomNames = (jsxc.xmpp.conn.muc && jsxc.xmpp.conn.muc.roomNames) ? jsxc.xmpp.conn.muc.roomNames : [];
var isMucBid = mucRoomNames.indexOf(bid) >= 0;
@@ -2202,18 +2296,14 @@ jsxc.xmpp = {
id: message._uid
});
if (message.type === jsxc.Message.HTML) {
xmlMsg.c("html", {
if (message.type === jsxc.Message.HTML && msg === message.msg && message.htmlMsg) {
xmlMsg.c('body').t(msg);
xmlMsg.up().c('html', {
xmlns: Strophe.NS.XHTML_IM
});
// Omit StropheJS XEP-0071 limitations
var body = Strophe.xmlElement("body", {
}).c('body', {
xmlns: Strophe.NS.XHTML
});
body.innerHTML = msg;
xmlMsg.node.appendChild(body);
}).h(message.htmlMsg).up();
} else {
xmlMsg.c('body').t(msg);
}
@@ -2483,7 +2573,21 @@ jsxc.gui = {
queryActions: {
/** xmpp:JID?message[;body=TEXT] */
message: function(jid, params) {
var win = jsxc.gui.window.open(jsxc.jidToBid(jid));
var bid = jsxc.jidToBid(jid);
if (!jsxc.storage.getUserItem('buddy', bid)) {
// init contact
jsxc.storage.saveBuddy(bid, {
jid: jid,
name: bid,
status: 0,
sub: 'none',
res: [],
rnd: Math.random()
});
}
var win = jsxc.gui.window.open(bid);
if (params && typeof params.body === 'string') {
win.find('.jsxc_textinput').val(params.body);
@@ -3605,6 +3709,8 @@ jsxc.gui = {
$('[data-bid="' + bid + '"]').each(function() {
var el = $(this);
el.attr('data-status', pres);
if (!el.hasClass('jsxc_statusIndicator')) {
el = el.find('.jsxc_statusIndicator');
}
@@ -3712,6 +3818,9 @@ jsxc.gui = {
var jid = href.split('?')[0];
var action, params = {};
element.attr('data-bid', jsxc.jidToBid(jid));
jsxc.gui.update(jsxc.jidToBid(jid));
if (href.indexOf('?') < 0) {
action = 'message';
} else {
@@ -3733,7 +3842,11 @@ jsxc.gui = {
element.off('click').click(function(ev) {
ev.stopPropagation();
jsxc.gui.queryActions[action].call(jsxc, jid, params);
if (jsxc.xmpp.conn && jsxc.xmpp.conn.connected) {
jsxc.gui.queryActions[action].call(jsxc, jid, params);
} else {
jsxc.gui.showNotification($.t('no_connection'), $.t('You_have_to_go_online_'));
}
return false;
});
@@ -3971,7 +4084,8 @@ jsxc.gui.roster = {
jsxc.notice.load();
jsxc.gui.roster.ready = true;
$(document).trigger('ready.roster.jsxc');
$(document).trigger('ready.roster.jsxc', [rosterState]);
$(document).trigger('ready-roster-jsxc', [rosterState]);
},
/**
@@ -4046,7 +4160,7 @@ jsxc.gui.roster = {
while (history.length > i) {
var message = new jsxc.Message(history[i]);
if (message.direction !== jsxc.Message.SYS) {
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(message.msg);
jsxc.gui.window.setLastMsg(bid, message.msg);
break;
}
i++;
@@ -4457,6 +4571,10 @@ jsxc.gui.window = {
win.find('.jsxc_sendFile').click(function() {
$('body').click();
if ($(this).hasClass('jsxc_disabled')) {
return;
}
jsxc.gui.window.sendFile(bid);
});
@@ -5099,6 +5217,7 @@ jsxc.gui.window = {
}
msgDiv.attr('title', message.error);
msgDiv.attr('data-error-msg', message.error);
if (message.attachment && message.attachment.name) {
var attachment = $('<div>');
@@ -5140,7 +5259,7 @@ jsxc.gui.window = {
}
if (direction !== 'sys') {
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(msg);
jsxc.gui.window.setLastMsg(bid, msg);
}
var currentMessageElement = jsxc.Message.getDOM(uid);
@@ -5209,6 +5328,15 @@ jsxc.gui.window = {
jsxc.gui.window.get(bid).find('.jsxc_textinput').val(text);
},
setLastMsg: function(bid, msg) {
var lastMsgTextElement = $('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text');
lastMsgTextElement.html(msg);
lastMsgTextElement.find('a').each(function() {
$(this).replaceWith('<span>' + $(this).text() + '</span>');
});
},
/**
* Load old log into chat area
*
@@ -5519,7 +5647,15 @@ jsxc.fileTransfer.startGuiAction = function(jid) {
var res = Strophe.getResourceFromJid(jid);
if (!res && !jsxc.xmpp.httpUpload.ready) {
jsxc.fileTransfer.selectResource(bid, jsxc.fileTransfer.startGuiAction);
if (jsxc.fileTransfer.isWebrtcCapable(bid)) {
jsxc.fileTransfer.selectResource(bid, jsxc.fileTransfer.startGuiAction);
} else {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('No_proper_file_transfer_method_available')
});
}
return;
}
@@ -5595,6 +5731,19 @@ jsxc.fileTransfer.showFileSelection = function(jid) {
});
};
jsxc.fileTransfer.showFileTooLarge = function(bid, file) {
var maxSize = jsxc.fileTransfer.formatByte(jsxc.options.get('httpUpload').maxSize);
var fileSize = jsxc.fileTransfer.formatByte(file.size);
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('File_too_large') + ' (' + fileSize + ' > ' + maxSize + ')'
});
jsxc.gui.window.hideOverlay(bid);
};
/**
* Callback for file selector.
*
@@ -5605,27 +5754,24 @@ jsxc.fileTransfer.showFileSelection = function(jid) {
*/
jsxc.fileTransfer.fileSelected = function(jid, msg, file) {
var bid = jsxc.jidToBid(jid);
var maxSize = jsxc.options.get('httpUpload').maxSize;
var httpUploadOptions = jsxc.options.get('httpUpload') || {};
var maxSize = httpUploadOptions.maxSize || 0;
if (file.transportMethod !== 'webrtc' && jsxc.xmpp.httpUpload.ready && maxSize >= 0 && file.size > maxSize) {
jsxc.debug('File too large for http upload.');
file.transportMethod = 'webrtc';
if (jsxc.fileTransfer.isWebrtcCapable(bid)) {
// try data channels
file.transportMethod = 'webrtc';
jsxc.fileTransfer.selectResource(bid, function(jid) {
jsxc.fileTransfer.fileSelected(jid, msg, file);
}, function() {
var maxSize = jsxc.fileTransfer.formatByte(jsxc.options.get('httpUpload').maxSize);
var fileSize = jsxc.fileTransfer.formatByte(file.size);
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('File_too_large') + ' (' + fileSize + ' > ' + maxSize + ')'
jsxc.fileTransfer.selectResource(bid, function(jid) {
jsxc.fileTransfer.fileSelected(jid, msg, file);
}, function() {
jsxc.fileTransfer.showFileTooLarge(bid, file);
});
jsxc.gui.window.hideOverlay(bid);
});
} else {
jsxc.fileTransfer.showFileTooLarge(bid, file);
}
return;
} else if (!jsxc.xmpp.httpUpload.ready && Strophe.getResourceFromJid(jid)) {
@@ -5713,6 +5859,10 @@ jsxc.fileTransfer.updateIcons = function(bid) {
if (jsxc.xmpp.httpUpload.ready) {
win.find('.jsxc_sendFile').removeClass('jsxc_disabled');
return;
} else if (!jsxc.fileTransfer.isWebrtcCapable(bid)) {
win.find('.jsxc_sendFile').addClass('jsxc_disabled');
return;
}
@@ -5728,6 +5878,10 @@ jsxc.fileTransfer.updateIcons = function(bid) {
}
};
jsxc.fileTransfer.isWebrtcCapable = function(bid) {
return !jsxc.muc.isGroupchat(bid);
};
$(document).on('update.gui.jsxc', function(ev, bid) {
jsxc.fileTransfer.updateIcons(bid);
});
@@ -6022,7 +6176,7 @@ jsxc.Message.prototype.save = function() {
ctx.drawImage(img, sx, sy, sWidth, sHeight, 0, 0, dWidth, dHeight);
this.attachment.thumbnail = canvas.toDataURL();
this.attachment.thumbnail = canvas.toDataURL('image/jpeg', 0.3);
if (this.direction === 'out') {
// save storage
@@ -6265,7 +6419,6 @@ jsxc.muc = {
$(document).on('error.presence.jsxc', jsxc.muc.onPresenceError);
self.conn.addHandler(self.onGroupchatMessage, null, 'message', 'groupchat');
self.conn.addHandler(self.onErrorMessage, null, 'message', 'error');
self.conn.muc.roomNames = jsxc.storage.getUserItem('roomNames') || [];
},
@@ -6923,6 +7076,7 @@ jsxc.muc = {
});
var destroy = $('<a>');
destroy.attr('href', '#');
destroy.text($.t('Destroy'));
destroy.addClass('jsxc_destroy');
destroy.hide();
@@ -6933,6 +7087,7 @@ jsxc.muc = {
win.find('.jsxc_settings ul').append($('<li>').append(destroy));
var configure = $('<a>');
configure.attr('href', '#');
configure.text($.t('Configure'));
configure.addClass('jsxc_configure');
configure.hide();
@@ -6961,6 +7116,7 @@ jsxc.muc = {
}
var leave = $('<a>');
leave.attr('href', '#');
leave.text($.t('Leave'));
leave.addClass('jsxc_leave');
leave.click(function() {
@@ -7557,51 +7713,6 @@ jsxc.muc = {
return true;
},
/**
* Handle group chat error message.
*
* @private
* @memberOf jsxc.muc
* @param {string} message Message stanza
*/
onErrorMessage: function(message) {
var room = jsxc.jidToBid($(message).attr('from'));
if (jsxc.gui.window.get(room).length === 0) {
return true;
}
if ($(message).find('item-not-found').length > 0) {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_item-not-found')
});
} else if ($(message).find('forbidden').length > 0) {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_forbidden')
});
} else if ($(message).find('not-acceptable').length > 0) {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_not-acceptable')
});
} else {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send')
});
}
jsxc.debug('[muc] error message for ' + room, $(message).find('error')[0]);
return true;
},
/**
* Prepare group chat roster item.
*
@@ -7741,7 +7852,7 @@ jsxc.muc = {
}
o = $(opt.toHTML());
for (j = 0; j < self.values; j++) {
for (j = 0; j < self.values.length; j++) {
k = self.values[j];
if (k.toString() === opt.value.toString()) {
o.attr('selected', 'selected');
@@ -7827,6 +7938,14 @@ jsxc.muc = {
return html.get(0);
}
},
isGroupchat: function(jid) {
var bid = jsxc.jidToBid(jid);
var userData = jsxc.storage.setUserItem('buddy', bid) || {};
return userData.type === 'groupchat';
}
};
@@ -12059,22 +12178,27 @@ jsxc.xmpp.httpUpload.sendFile = function(file, message) {
message.delete();
} else if (data.get && data.put) {
// slot received, start upload
jsxc.debug('slot received, start upload to ' + data.put);
self.uploadFile(data.put, file, message, function() {
var attachment = message.attachment;
var metaString = attachment.type + '|' + attachment.size + '|' + attachment.name;
var a = $('<a>');
a.attr('href', data.get);
a.attr('data-name', message.attachment.name);
a.attr('data-type', message.attachment.type);
a.attr('data-size', message.attachment.size);
if (message.attachment.thumbnail) {
a.attr('data-thumbnail', message.attachment.thumbnail);
attachment.data = data.get;
if (attachment.thumbnail) {
var img = $('<img>');
img.attr('alt', 'Preview:' + metaString);
img.attr('src', attachment.thumbnail);
a.prepend(img);
} else {
a.text(metaString);
}
a.text(data.get);
message.attachment.data = data.get;
message.msg = $('<span>').append(a).html();
message.msg = data.get;
message.htmlMsg = $('<span>').append(a).html();
message.type = jsxc.Message.HTML;
jsxc.gui.window.postMessage(message);
});
@@ -12219,8 +12343,8 @@ jsxc.xmpp.httpUpload.failedRequestSlotCB = function(stanza, cb) {
});
};
$(document).on('stateChange.jsxc', function(ev, state) {
if (state === jsxc.CONST.STATE.READY) {
$(document).on('stateUIChange.jsxc', function(ev, state) {
if (state === jsxc.CONST.UISTATE.INITIATING) {
jsxc.xmpp.httpUpload.init();
}
});
+9 -9
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+47 -45
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+4 -4
Ver Arquivo
@@ -281,7 +281,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line214">line 214</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line212">line 212</a>
</li></ul></dd>
@@ -412,7 +412,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line181">line 181</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line179">line 179</a>
</li></ul></dd>
@@ -452,13 +452,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -50,13 +50,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+1633 -1633
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+6 -6
Ver Arquivo
@@ -253,7 +253,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.fileTransfer.js.html">jsxc.lib.fileTransfer.js</a>, <a href="jsxc.lib.fileTransfer.js.html#line123">line 123</a>
<a href="jsxc.lib.fileTransfer.js.html">jsxc.lib.fileTransfer.js</a>, <a href="jsxc.lib.fileTransfer.js.html#line144">line 144</a>
</li></ul></dd>
@@ -579,7 +579,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.fileTransfer.js.html">jsxc.lib.fileTransfer.js</a>, <a href="jsxc.lib.fileTransfer.js.html#line55">line 55</a>
<a href="jsxc.lib.fileTransfer.js.html">jsxc.lib.fileTransfer.js</a>, <a href="jsxc.lib.fileTransfer.js.html#line63">line 63</a>
</li></ul></dd>
@@ -710,7 +710,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.fileTransfer.js.html">jsxc.lib.fileTransfer.js</a>, <a href="jsxc.lib.fileTransfer.js.html#line94">line 94</a>
<a href="jsxc.lib.fileTransfer.js.html">jsxc.lib.fileTransfer.js</a>, <a href="jsxc.lib.fileTransfer.js.html#line102">line 102</a>
</li></ul></dd>
@@ -972,7 +972,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.fileTransfer.js.html">jsxc.lib.fileTransfer.js</a>, <a href="jsxc.lib.fileTransfer.js.html#line220">line 220</a>
<a href="jsxc.lib.fileTransfer.js.html">jsxc.lib.fileTransfer.js</a>, <a href="jsxc.lib.fileTransfer.js.html#line239">line 239</a>
</li></ul></dd>
@@ -1014,13 +1014,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+6 -6
Ver Arquivo
@@ -73,7 +73,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1937">line 1937</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1878">line 1878</a>
</li></ul></dd>
@@ -222,7 +222,7 @@ otherwise only dialog with given name is closed.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2022">line 2022</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1963">line 1963</a>
</li></ul></dd>
@@ -457,7 +457,7 @@ otherwise only dialog with given name is closed.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1952">line 1952</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1893">line 1893</a>
</li></ul></dd>
@@ -610,7 +610,7 @@ otherwise only dialog with given name is closed.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2037">line 2037</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1978">line 1978</a>
</li></ul></dd>
@@ -652,13 +652,13 @@ otherwise only dialog with given name is closed.
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+32 -209
Ver Arquivo
@@ -304,7 +304,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1309">line 1309</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1242">line 1242</a>
</li></ul></dd>
@@ -458,7 +458,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1225">line 1225</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1156">line 1156</a>
</li></ul></dd>
@@ -584,7 +584,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1362">line 1362</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1295">line 1295</a>
</li></ul></dd>
@@ -717,7 +717,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line380">line 380</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line311">line 311</a>
</li></ul></dd>
@@ -821,7 +821,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line99">line 99</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line113">line 113</a>
</li></ul></dd>
@@ -947,7 +947,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1331">line 1331</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1264">line 1264</a>
</li></ul></dd>
@@ -1073,7 +1073,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line350">line 350</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line281">line 281</a>
</li></ul></dd>
@@ -1204,7 +1204,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1469">line 1469</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1409">line 1409</a>
</li></ul></dd>
@@ -1308,7 +1308,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line829">line 829</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line760">line 760</a>
</li></ul></dd>
@@ -1439,7 +1439,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line777">line 777</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line708">line 708</a>
</li></ul></dd>
@@ -1588,7 +1588,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line626">line 626</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line557">line 557</a>
</li></ul></dd>
@@ -1670,7 +1670,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line786">line 786</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line717">line 717</a>
</li></ul></dd>
@@ -1865,7 +1865,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line810">line 810</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line741">line 741</a>
</li></ul></dd>
@@ -2026,7 +2026,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line660">line 660</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line591">line 591</a>
</li></ul></dd>
@@ -2108,7 +2108,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line842">line 842</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line773">line 773</a>
</li></ul></dd>
@@ -2239,7 +2239,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line492">line 492</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line423">line 423</a>
</li></ul></dd>
@@ -2321,7 +2321,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line433">line 433</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line364">line 364</a>
</li></ul></dd>
@@ -2498,7 +2498,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1205">line 1205</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1136">line 1136</a>
</li></ul></dd>
@@ -2629,7 +2629,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line737">line 737</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line668">line 668</a>
</li></ul></dd>
@@ -2729,7 +2729,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1095">line 1095</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1026">line 1026</a>
</li></ul></dd>
@@ -2860,7 +2860,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line874">line 874</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line805">line 805</a>
</li></ul></dd>
@@ -2991,7 +2991,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line501">line 501</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line432">line 432</a>
</li></ul></dd>
@@ -3073,7 +3073,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1376">line 1376</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1379">line 1379</a>
</li></ul></dd>
@@ -3204,7 +3204,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line765">line 765</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line696">line 696</a>
</li></ul></dd>
@@ -3304,7 +3304,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line391">line 391</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line322">line 322</a>
</li></ul></dd>
@@ -3435,7 +3435,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line162">line 162</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line176">line 176</a>
</li></ul></dd>
@@ -3561,7 +3561,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1281">line 1281</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1214">line 1214</a>
</li></ul></dd>
@@ -3692,184 +3692,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line178">line 178</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".updateAvatar"><span class="type-signature">(static) </span>updateAvatar<span class="signature">(el, jid, aid)</span><span class="type-signature"></span></h4>
<div class="description">
Update avatar on all given elements.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>el</code></td>
<td class="type">
<span class="param-type">jQuery</span>
</td>
<td class="description last">Elements with subelement .jsxc_avatar</td>
</tr>
<tr>
<td class="name"><code>jid</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Jid</td>
</tr>
<tr>
<td class="name"><code>aid</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Avatar id (sha1 hash of image)</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line254">line 254</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line192">line 192</a>
</li></ul></dd>
@@ -4018,7 +3841,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1247">line 1247</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1178">line 1178</a>
</li></ul></dd>
@@ -4100,7 +3923,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line334">line 334</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line265">line 265</a>
</li></ul></dd>
@@ -4142,13 +3965,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+6 -6
Ver Arquivo
@@ -160,7 +160,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line87">line 87</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line101">line 101</a>
</li></ul></dd>
@@ -324,7 +324,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line68">line 68</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line82">line 82</a>
</li></ul></dd>
@@ -406,7 +406,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line73">line 73</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line87">line 87</a>
</li></ul></dd>
@@ -488,7 +488,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line82">line 82</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line96">line 96</a>
</li></ul></dd>
@@ -530,13 +530,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+16 -16
Ver Arquivo
@@ -73,7 +73,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1513">line 1513</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1453">line 1453</a>
</li></ul></dd>
@@ -148,7 +148,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1524">line 1524</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1464">line 1464</a>
</li></ul></dd>
@@ -210,7 +210,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1521">line 1521</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1461">line 1461</a>
</li></ul></dd>
@@ -360,7 +360,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1847">line 1847</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1788">line 1788</a>
</li></ul></dd>
@@ -509,7 +509,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1639">line 1639</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1580">line 1580</a>
</li></ul></dd>
@@ -591,7 +591,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1923">line 1923</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1864">line 1864</a>
</li></ul></dd>
@@ -673,7 +673,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1532">line 1532</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1472">line 1472</a>
</li></ul></dd>
@@ -846,7 +846,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1727">line 1727</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1668">line 1668</a>
</li></ul></dd>
@@ -946,7 +946,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1908">line 1908</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1849">line 1849</a>
</li></ul></dd>
@@ -1077,7 +1077,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1783">line 1783</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1724">line 1724</a>
</li></ul></dd>
@@ -1208,7 +1208,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1774">line 1774</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1715">line 1715</a>
</li></ul></dd>
@@ -1361,7 +1361,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1804">line 1804</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1745">line 1745</a>
</li></ul></dd>
@@ -1510,7 +1510,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1764">line 1764</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1705">line 1705</a>
</li></ul></dd>
@@ -1659,7 +1659,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1875">line 1875</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1816">line 1816</a>
</li></ul></dd>
@@ -1701,13 +1701,13 @@ alphabetical of the name
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+175 -175
Ver Arquivo
@@ -73,7 +73,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2042">line 2042</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1983">line 1983</a>
</li></ul></dd>
@@ -209,7 +209,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2401">line 2401</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2346">line 2346</a>
</li></ul></dd>
@@ -340,7 +340,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2525">line 2525</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2470">line 2470</a>
</li></ul></dd>
@@ -517,7 +517,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2671">line 2671</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2616">line 2616</a>
</li></ul></dd>
@@ -648,7 +648,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2446">line 2446</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2391">line 2391</a>
</li></ul></dd>
@@ -797,7 +797,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2905">line 2905</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2866">line 2866</a>
</li></ul></dd>
@@ -946,7 +946,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2376">line 2376</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2321">line 2321</a>
</li></ul></dd>
@@ -1077,7 +1077,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2351">line 2351</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2296">line 2296</a>
</li></ul></dd>
@@ -1242,7 +1242,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2500">line 2500</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2445">line 2445</a>
</li></ul></dd>
@@ -1373,7 +1373,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2539">line 2539</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2484">line 2484</a>
</li></ul></dd>
@@ -1504,7 +1504,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2055">line 2055</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1996">line 1996</a>
</li></ul></dd>
@@ -1658,7 +1658,7 @@ created.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2362">line 2362</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2307">line 2307</a>
</li></ul></dd>
@@ -1711,159 +1711,6 @@ created.
<h4 class="name" id=".postMessage"><span class="type-signature">(static) </span>postMessage<span class="signature">(message)</span><span class="type-signature"> &rarr; {<a href="jsxc.Message.html">jsxc.Message</a>}</span></h4>
<div class="description">
Write Message to chat area and save. Check border cases and remove html.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>message</code></td>
<td class="type">
<span class="param-type"><a href="jsxc.Message.html">jsxc.Message</a></span>
</td>
<td class="description last">object to be send</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2567">line 2567</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
maybe modified message object
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="jsxc.Message.html">jsxc.Message</a></span>
</dd>
</dl>
<h4 class="name" id=".postMessage"><span class="type-signature">(static) </span>postMessage<span class="signature">(args)</span><span class="type-signature"> &rarr; {<a href="jsxc.Message.html">jsxc.Message</a>}</span></h4>
@@ -2293,7 +2140,160 @@ and save. Check border cases and remove html.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2575">line 2575</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2520">line 2520</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
maybe modified message object
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="jsxc.Message.html">jsxc.Message</a></span>
</dd>
</dl>
<h4 class="name" id=".postMessage"><span class="type-signature">(static) </span>postMessage<span class="signature">(message)</span><span class="type-signature"> &rarr; {<a href="jsxc.Message.html">jsxc.Message</a>}</span></h4>
<div class="description">
Write Message to chat area and save. Check border cases and remove html.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>message</code></td>
<td class="type">
<span class="param-type"><a href="jsxc.Message.html">jsxc.Message</a></span>
</td>
<td class="description last">object to be send</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2512">line 2512</a>
</li></ul></dd>
@@ -2471,7 +2471,7 @@ and save. Check border cases and remove html.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2931">line 2931</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2898">line 2898</a>
</li></ul></dd>
@@ -2679,7 +2679,7 @@ and save. Check border cases and remove html.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2282">line 2282</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2227">line 2227</a>
</li></ul></dd>
@@ -2810,7 +2810,7 @@ and save. Check border cases and remove html.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2869">line 2869</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2830">line 2830</a>
</li></ul></dd>
@@ -2959,7 +2959,7 @@ and save. Check border cases and remove html.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2554">line 2554</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2499">line 2499</a>
</li></ul></dd>
@@ -3113,7 +3113,7 @@ and save. Check border cases and remove html.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2859">line 2859</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2811">line 2811</a>
</li></ul></dd>
@@ -3262,7 +3262,7 @@ and save. Check border cases and remove html.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2433">line 2433</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2378">line 2378</a>
</li></ul></dd>
@@ -3393,7 +3393,7 @@ and save. Check border cases and remove html.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2411">line 2411</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2356">line 2356</a>
</li></ul></dd>
@@ -3435,13 +3435,13 @@ and save. Check border cases and remove html.
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+42 -104
Ver Arquivo
@@ -191,7 +191,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line59">line 59</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line56">line 56</a>
</li></ul></dd>
@@ -253,7 +253,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line68">line 68</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line65">line 65</a>
</li></ul></dd>
@@ -315,7 +315,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line62">line 62</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line59">line 59</a>
</li></ul></dd>
@@ -377,7 +377,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line65">line 65</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line62">line 62</a>
</li></ul></dd>
@@ -501,7 +501,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line193">line 193</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line191">line 191</a>
</li></ul></dd>
@@ -563,7 +563,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line47">line 47</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line44">line 44</a>
</li></ul></dd>
@@ -705,68 +705,6 @@
<h4 class="name" id=".reconnect"><span class="type-signature">(static) </span>reconnect<span class="type-signature"></span></h4>
<div class="description">
True if jid, sid and rid was used to connect
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line32">line 32</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".restoreCompleted"><span class="type-signature">(static) </span>restoreCompleted<span class="type-signature"></span></h4>
@@ -811,7 +749,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line35">line 35</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line32">line 32</a>
</li></ul></dd>
@@ -936,7 +874,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line53">line 53</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line50">line 50</a>
</li></ul></dd>
@@ -1246,7 +1184,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line56">line 56</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line53">line 53</a>
</li></ul></dd>
@@ -1308,7 +1246,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line38">line 38</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line35">line 35</a>
</li></ul></dd>
@@ -1370,7 +1308,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line41">line 41</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line38">line 38</a>
</li></ul></dd>
@@ -1432,7 +1370,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line44">line 44</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line41">line 41</a>
</li></ul></dd>
@@ -1633,7 +1571,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line617">line 617</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line620">line 620</a>
</li></ul></dd>
@@ -1810,7 +1748,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line140">line 140</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line138">line 138</a>
</li></ul></dd>
@@ -1941,7 +1879,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line708">line 708</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line711">line 711</a>
</li></ul></dd>
@@ -2113,7 +2051,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line188">line 188</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line186">line 186</a>
</li></ul></dd>
@@ -2195,7 +2133,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line815">line 815</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line818">line 818</a>
</li></ul></dd>
@@ -2349,7 +2287,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line910">line 910</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line913">line 913</a>
</li></ul></dd>
@@ -2490,7 +2428,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line110">line 110</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line108">line 108</a>
</li></ul></dd>
@@ -2582,7 +2520,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line886">line 886</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line889">line 889</a>
</li></ul></dd>
@@ -2735,7 +2673,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line930">line 930</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line933">line 933</a>
</li></ul></dd>
@@ -2898,7 +2836,7 @@ Afterwards it performs the following actions in the given order:
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line211">line 211</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line209">line 209</a>
</li></ul></dd>
@@ -2980,7 +2918,7 @@ Afterwards it performs the following actions in the given order:
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line858">line 858</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line861">line 861</a>
</li></ul></dd>
@@ -3084,7 +3022,7 @@ Afterwards it performs the following actions in the given order:
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line463">line 463</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line462">line 462</a>
</li></ul></dd>
@@ -3232,7 +3170,7 @@ Afterwards it performs the following actions in the given order:
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line733">line 733</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line736">line 736</a>
</li></ul></dd>
@@ -3373,7 +3311,7 @@ Afterwards it performs the following actions in the given order:
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line718">line 718</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line721">line 721</a>
</li></ul></dd>
@@ -3477,7 +3415,7 @@ Afterwards it performs the following actions in the given order:
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line668">line 668</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line671">line 671</a>
</li></ul></dd>
@@ -3560,7 +3498,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line679">line 679</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line682">line 682</a>
</li></ul></dd>
@@ -3642,7 +3580,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line595">line 595</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line598">line 598</a>
</li></ul></dd>
@@ -3724,7 +3662,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line577">line 577</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line580">line 580</a>
</li></ul></dd>
@@ -3901,7 +3839,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line475">line 475</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line474">line 474</a>
</li></ul></dd>
@@ -4032,7 +3970,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line698">line 698</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line701">line 701</a>
</li></ul></dd>
@@ -4180,7 +4118,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line827">line 827</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line830">line 830</a>
</li></ul></dd>
@@ -4272,7 +4210,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line740">line 740</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line743">line 743</a>
</li></ul></dd>
@@ -4354,7 +4292,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line762">line 762</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line765">line 765</a>
</li></ul></dd>
@@ -4531,7 +4469,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line409">line 409</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line408">line 408</a>
</li></ul></dd>
@@ -4613,7 +4551,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line661">line 661</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line664">line 664</a>
</li></ul></dd>
@@ -4695,7 +4633,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line792">line 792</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line795">line 795</a>
</li></ul></dd>
@@ -4849,7 +4787,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line838">line 838</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line841">line 841</a>
</li></ul></dd>
@@ -5025,7 +4963,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line177">line 177</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line175">line 175</a>
</li></ul></dd>
@@ -5067,13 +5005,13 @@ normal signal
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+3 -3
Ver Arquivo
@@ -150,7 +150,7 @@ jsxc.Message.prototype.save = function() {
ctx.drawImage(img, sx, sy, sWidth, sHeight, 0, 0, dWidth, dHeight);
this.attachment.thumbnail = canvas.toDataURL();
this.attachment.thumbnail = canvas.toDataURL('image/jpeg', 0.3);
if (this.direction === 'out') {
// save storage
@@ -303,13 +303,13 @@ jsxc.Message.PLAIN = 'plain';
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+45 -18
Ver Arquivo
@@ -64,7 +64,15 @@ jsxc.fileTransfer.startGuiAction = function(jid) {
var res = Strophe.getResourceFromJid(jid);
if (!res &amp;&amp; !jsxc.xmpp.httpUpload.ready) {
jsxc.fileTransfer.selectResource(bid, jsxc.fileTransfer.startGuiAction);
if (jsxc.fileTransfer.isWebrtcCapable(bid)) {
jsxc.fileTransfer.selectResource(bid, jsxc.fileTransfer.startGuiAction);
} else {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('No_proper_file_transfer_method_available')
});
}
return;
}
@@ -140,6 +148,19 @@ jsxc.fileTransfer.showFileSelection = function(jid) {
});
};
jsxc.fileTransfer.showFileTooLarge = function(bid, file) {
var maxSize = jsxc.fileTransfer.formatByte(jsxc.options.get('httpUpload').maxSize);
var fileSize = jsxc.fileTransfer.formatByte(file.size);
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('File_too_large') + ' (' + fileSize + ' > ' + maxSize + ')'
});
jsxc.gui.window.hideOverlay(bid);
};
/**
* Callback for file selector.
*
@@ -150,26 +171,24 @@ jsxc.fileTransfer.showFileSelection = function(jid) {
*/
jsxc.fileTransfer.fileSelected = function(jid, msg, file) {
var bid = jsxc.jidToBid(jid);
var httpUploadOptions = jsxc.options.get('httpUpload') || {};
var maxSize = httpUploadOptions.maxSize || 0;
if (file.transportMethod !== 'webrtc' &amp;&amp; jsxc.xmpp.httpUpload.ready &amp;&amp; file.size > jsxc.options.get('httpUpload').maxSize) {
if (file.transportMethod !== 'webrtc' &amp;&amp; jsxc.xmpp.httpUpload.ready &amp;&amp; maxSize >= 0 &amp;&amp; file.size > maxSize) {
jsxc.debug('File too large for http upload.');
file.transportMethod = 'webrtc';
if (jsxc.fileTransfer.isWebrtcCapable(bid)) {
// try data channels
file.transportMethod = 'webrtc';
jsxc.fileTransfer.selectResource(bid, function(jid) {
jsxc.fileTransfer.fileSelected(jid, msg, file);
}, function() {
var maxSize = jsxc.fileTransfer.formatByte(jsxc.options.get('httpUpload').maxSize);
var fileSize = jsxc.fileTransfer.formatByte(file.size);
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('File_too_large') + ' (' + fileSize + ' > ' + maxSize + ')'
jsxc.fileTransfer.selectResource(bid, function(jid) {
jsxc.fileTransfer.fileSelected(jid, msg, file);
}, function() {
jsxc.fileTransfer.showFileTooLarge(bid, file);
});
jsxc.gui.window.hideOverlay(bid);
});
} else {
jsxc.fileTransfer.showFileTooLarge(bid, file);
}
return;
} else if (!jsxc.xmpp.httpUpload.ready &amp;&amp; Strophe.getResourceFromJid(jid)) {
@@ -257,6 +276,10 @@ jsxc.fileTransfer.updateIcons = function(bid) {
if (jsxc.xmpp.httpUpload.ready) {
win.find('.jsxc_sendFile').removeClass('jsxc_disabled');
return;
} else if (!jsxc.fileTransfer.isWebrtcCapable(bid)) {
win.find('.jsxc_sendFile').addClass('jsxc_disabled');
return;
}
@@ -272,6 +295,10 @@ jsxc.fileTransfer.updateIcons = function(bid) {
}
};
jsxc.fileTransfer.isWebrtcCapable = function(bid) {
return !jsxc.muc.isGroupchat(bid);
};
$(document).on('update.gui.jsxc', function(ev, bid) {
jsxc.fileTransfer.updateIcons(bid);
});
@@ -285,13 +312,13 @@ $(document).on('update.gui.jsxc', function(ev, bid) {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+216
Ver Arquivo
@@ -0,0 +1,216 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: jsxc.lib.gui.avatar.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: jsxc.lib.gui.avatar.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>jsxc.gui.avatar = {
queue: [],
PLACEHOLDER: 0,
DELAY: 300,
CHUNKSIZE: 20,
timeout: null,
lastRun: 0
};
/**
* Update avatar on all given elements.
*
* @memberOf jsxc.gui
* @param {jQuery} el Elements with subelement .jsxc_avatar
* @param {string} jid Jid
* @param {string} aid Avatar id (sha1 hash of image)
*/
jsxc.gui.avatar.update = function(el, jid, aid) {
var self = jsxc.gui.avatar;
if (typeof aid === 'undefined') {
self.set(jid, el, self.PLACEHOLDER);
return;
}
var avatarSrc = jsxc.storage.getUserItem('avatar', aid);
if (!jsxc.master &amp;&amp; !avatarSrc) {
// force avatar placeholder for slave tab, until master tab requested vCard
avatarSrc = self.PLACEHOLDER;
}
if (avatarSrc !== null) {
self.set(jid, el, avatarSrc);
} else {
var handler_cb = function(stanza) {
var src = jsxc.gui.avatar.getPhotoFromVcard(stanza);
jsxc.storage.setUserItem('avatar', aid, src);
self.set(jid, el, src);
};
var error_cb = function(msg) {
jsxc.warn('Could not load vcard.', msg);
jsxc.storage.setUserItem('avatar', aid, self.PLACEHOLDER);
self.set(jid, el, self.PLACEHOLDER);
};
var args = [];
// workaround for https://github.com/strophe/strophejs/issues/172
if (Strophe.getBareJidFromJid(jid) === Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid)) {
args = [handler_cb, error_cb];
} else {
args = [handler_cb, Strophe.getBareJidFromJid(jid), error_cb];
}
jsxc.gui.avatar.queueAction(jid, jsxc.xmpp.conn.vcard.get, args, jsxc.xmpp.conn.vcard);
}
};
jsxc.gui.avatar.getPhotoFromVcard = function(stanza) {
jsxc.debug('vCard', stanza);
var vCard = $(stanza).find("vCard > PHOTO");
var src;
if (vCard.length === 0) {
jsxc.debug('No photo provided');
src = '0';
} else if (vCard.find('EXTVAL').length > 0) {
src = vCard.find('EXTVAL').text();
} else {
var img = vCard.find('BINVAL').text();
var type = vCard.find('TYPE').text();
src = 'data:' + type + ';base64,' + img;
}
// concat chunks
src = src.replace(/[\t\r\n\f]/gi, '');
return src;
};
jsxc.gui.avatar.set = function(jid, el, src) {
var self = jsxc.gui.avatar;
if (src === self.PLACEHOLDER || src === '0') {
if (typeof jsxc.options.defaultAvatar === 'function') {
jsxc.gui.avatar.queueAction(jid, function() {
jsxc.options.defaultAvatar.call(el, jid);
});
return;
}
jsxc.gui.avatarPlaceholder(el.find('.jsxc_avatar'), jid);
return;
}
el.find('.jsxc_avatar').removeAttr('style');
el.find('.jsxc_avatar').css({
'background-image': 'url(' + src + ')',
'text-indent': '999px'
});
};
jsxc.gui.avatar.queueAction = function(jid, fn, args, context) {
var self = jsxc.gui.avatar;
var bid = jsxc.jidToBid(jid);
var data = jsxc.storage.getUserItem('buddy', bid) || {};
var state = data.status;
var index = self.queue.indexOf(bid);
if (index > -1) {
self.queue.splice(index, 1);
}
var action = {
fn: fn,
args: args || [],
context: context || this
};
if (state === 0) {
self.queue.push(action);
} else {
self.queue.unshift(action);
}
jsxc.gui.avatar.processQueue();
};
jsxc.gui.avatar.processQueue = function() {
var self = jsxc.gui.avatar;
var currentTime = (new Date()).getTime();
if (currentTime - self.lastRun &lt; self.DELAY) {
if (!self.timeout) {
self.timeout = setTimeout(self.processQueue, self.DELAY);
}
return;
}
self.lastRun = currentTime;
var i, action;
for (i = 0; i &lt; self.CHUNKSIZE; i++) {
if (self.queue.length > 0) {
action = self.queue.shift();
action.fn.apply(action.context, action.args);
}
}
if (self.queue.length > 0) {
self.timeout = setTimeout(self.processQueue, self.DELAY);
} else {
self.timeout = null;
}
};
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+65 -98
Ver Arquivo
@@ -85,7 +85,21 @@ jsxc.gui = {
queryActions: {
/** xmpp:JID?message[;body=TEXT] */
message: function(jid, params) {
var win = jsxc.gui.window.open(jsxc.jidToBid(jid));
var bid = jsxc.jidToBid(jid);
if (!jsxc.storage.getUserItem('buddy', bid)) {
// init contact
jsxc.storage.saveBuddy(bid, {
jid: jid,
name: bid,
status: 0,
sub: 'none',
res: [],
rnd: Math.random()
});
}
var win = jsxc.gui.window.open(bid);
if (params &amp;&amp; typeof params.body === 'string') {
win.find('.jsxc_textinput').val(params.body);
@@ -266,94 +280,11 @@ jsxc.gui = {
ri.find('.jsxc_name').attr('title', info);
jsxc.gui.updateAvatar(ri.add(we.find('.jsxc_bar')), data.jid, data.avatar);
jsxc.gui.avatar.update(ri.add(we.find('.jsxc_bar')), data.jid, data.avatar);
$(document).trigger('update.gui.jsxc', [bid]);
},
/**
* Update avatar on all given elements.
*
* @memberOf jsxc.gui
* @param {jQuery} el Elements with subelement .jsxc_avatar
* @param {string} jid Jid
* @param {string} aid Avatar id (sha1 hash of image)
*/
updateAvatar: function(el, jid, aid) {
var setAvatar = function(src) {
if (src === 0 || src === '0') {
if (typeof jsxc.options.defaultAvatar === 'function') {
jsxc.options.defaultAvatar.call(el, jid);
return;
}
jsxc.gui.avatarPlaceholder(el.find('.jsxc_avatar'), jid);
return;
}
el.find('.jsxc_avatar').removeAttr('style');
el.find('.jsxc_avatar').css({
'background-image': 'url(' + src + ')',
'text-indent': '999px'
});
};
if (typeof aid === 'undefined') {
setAvatar(0);
return;
}
var avatarSrc = jsxc.storage.getUserItem('avatar', aid);
if (!jsxc.master &amp;&amp; !avatarSrc) {
// force avatar placeholder for slave tab, until master tab requested vCard
avatarSrc = 0;
}
if (avatarSrc !== null) {
setAvatar(avatarSrc);
} else {
var handler_cb = function(stanza) {
jsxc.debug('vCard', stanza);
var vCard = $(stanza).find("vCard > PHOTO");
var src;
if (vCard.length === 0) {
jsxc.debug('No photo provided');
src = '0';
} else if (vCard.find('EXTVAL').length > 0) {
src = vCard.find('EXTVAL').text();
} else {
var img = vCard.find('BINVAL').text();
var type = vCard.find('TYPE').text();
src = 'data:' + type + ';base64,' + img;
}
// concat chunks
src = src.replace(/[\t\r\n\f]/gi, '');
jsxc.storage.setUserItem('avatar', aid, src);
setAvatar(src);
};
var error_cb = function(msg) {
jsxc.warn('Could not load vcard.', msg);
jsxc.storage.setUserItem('avatar', aid, 0);
setAvatar(0);
};
// workaround for https://github.com/strophe/strophejs/issues/172
if (Strophe.getBareJidFromJid(jid) === Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid)) {
jsxc.xmpp.conn.vcard.get(handler_cb, error_cb);
} else {
jsxc.xmpp.conn.vcard.get(handler_cb, Strophe.getBareJidFromJid(jid), error_cb);
}
}
},
/**
* Updates scrollbar handlers.
*
@@ -905,7 +836,7 @@ jsxc.gui = {
var data = jsxc.storage.getUserItem('buddy', bid);
if (data) {
if (data &amp;&amp; data.res) {
// Display resources and corresponding information
var i, j, res, identities, identity = null,
cap, client;
@@ -1292,10 +1223,12 @@ jsxc.gui = {
el.attr('data-status', pres);
if (el.find('.jsxc_avatar').length > 0) {
el = el.find('.jsxc_avatar');
if (!el.hasClass('jsxc_statusIndicator')) {
el = el.find('.jsxc_statusIndicator');
}
el.attr('data-status', pres);
el.removeClass('jsxc_' + jsxc.CONST.STATUS.join(' jsxc_')).addClass('jsxc_' + pres);
});
},
@@ -1397,6 +1330,9 @@ jsxc.gui = {
var jid = href.split('?')[0];
var action, params = {};
element.attr('data-bid', jsxc.jidToBid(jid));
jsxc.gui.update(jsxc.jidToBid(jid));
if (href.indexOf('?') &lt; 0) {
action = 'message';
} else {
@@ -1418,7 +1354,11 @@ jsxc.gui = {
element.off('click').click(function(ev) {
ev.stopPropagation();
jsxc.gui.queryActions[action].call(jsxc, jid, params);
if (jsxc.xmpp.conn &amp;&amp; jsxc.xmpp.conn.connected) {
jsxc.gui.queryActions[action].call(jsxc, jid, params);
} else {
jsxc.gui.showNotification($.t('no_connection'), $.t('You_have_to_go_online_'));
}
return false;
});
@@ -1656,7 +1596,8 @@ jsxc.gui.roster = {
jsxc.notice.load();
jsxc.gui.roster.ready = true;
$(document).trigger('ready.roster.jsxc');
$(document).trigger('ready.roster.jsxc', [rosterState]);
$(document).trigger('ready-roster-jsxc', [rosterState]);
},
/**
@@ -1731,7 +1672,7 @@ jsxc.gui.roster = {
while (history.length > i) {
var message = new jsxc.Message(history[i]);
if (message.direction !== jsxc.Message.SYS) {
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(message.msg);
jsxc.gui.window.setLastMsg(bid, message.msg);
break;
}
i++;
@@ -2142,6 +2083,10 @@ jsxc.gui.window = {
win.find('.jsxc_sendFile').click(function() {
$('body').click();
if ($(this).hasClass('jsxc_disabled')) {
return;
}
jsxc.gui.window.sendFile(bid);
});
@@ -2784,6 +2729,7 @@ jsxc.gui.window = {
}
msgDiv.attr('title', message.error);
msgDiv.attr('data-error-msg', message.error);
if (message.attachment &amp;&amp; message.attachment.name) {
var attachment = $('&lt;div>');
@@ -2825,11 +2771,15 @@ jsxc.gui.window = {
}
if (direction !== 'sys') {
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(msg);
jsxc.gui.window.setLastMsg(bid, msg);
}
if (jsxc.Message.getDOM(uid).length > 0) {
jsxc.Message.getDOM(uid).replaceWith(msgDiv);
var currentMessageElement = jsxc.Message.getDOM(uid);
if (currentMessageElement.length > 0) {
if (currentMessageElement.attr('data-queryId')) {
msgDiv.attr('data-queryId', currentMessageElement.attr('data-queryId'));
}
currentMessageElement.replaceWith(msgDiv);
} else {
win.find('.jsxc_textarea').append(msgDiv);
}
@@ -2843,7 +2793,7 @@ jsxc.gui.window = {
msgDiv.attr('data-bid', jsxc.jidToBid(message.sender.jid));
var data = jsxc.storage.getUserItem('buddy', jsxc.jidToBid(message.sender.jid)) || {};
jsxc.gui.updateAvatar(msgDiv, jsxc.jidToBid(message.sender.jid), data.avatar);
jsxc.gui.avatar.update(msgDiv, jsxc.jidToBid(message.sender.jid), data.avatar);
title = jsxc.jidToBid(message.sender.jid);
}
@@ -2874,7 +2824,9 @@ jsxc.gui.window = {
jsxc.gui.detectUriScheme(win);
jsxc.gui.detectEmail(win);
jsxc.gui.window.scrollDown(bid);
if (!message.forwarded) {
jsxc.gui.window.scrollDown(bid);
}
},
/**
@@ -2888,6 +2840,15 @@ jsxc.gui.window = {
jsxc.gui.window.get(bid).find('.jsxc_textinput').val(text);
},
setLastMsg: function(bid, msg) {
var lastMsgTextElement = $('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text');
lastMsgTextElement.html(msg);
lastMsgTextElement.find('a').each(function() {
$(this).replaceWith('&lt;span>' + $(this).text() + '&lt;/span>');
});
},
/**
* Load old log into chat area
*
@@ -2942,10 +2903,16 @@ jsxc.gui.window = {
jsxc.storage.setUserItem('history', bid, []);
var buddyData = jsxc.storage.getUserItem('buddy', bid) || {};
delete buddyData.lastArchiveUid;
delete buddyData.archiveExhausted;
jsxc.storage.setUserItem('buddy', bid, buddyData);
var win = jsxc.gui.window.get(bid);
if (win.length > 0) {
win.find('.jsxc_textarea').empty();
win.find('.jsxc_textarea').scroll();
}
},
@@ -3163,13 +3130,13 @@ jsxc.gui.template.get = function(name, bid, msg) {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+13 -10
Ver Arquivo
@@ -56,9 +56,6 @@ jsxc = {
/** Interval for keep-alive */
keepaliveInterval: null,
/** True if jid, sid and rid was used to connect */
reconnect: false,
/** True if restore is complete */
restoreCompleted: false,
@@ -109,7 +106,8 @@ jsxc = {
},
NS: {
CARBONS: 'urn:xmpp:carbons:2',
FORWARD: 'urn:xmpp:forward:0'
FORWARD: 'urn:xmpp:forward:0',
HINTS: 'urn:xmpp:hints'
},
HIDDEN: 'hidden',
SHOWN: 'shown',
@@ -250,8 +248,8 @@ jsxc = {
}
// Check localStorage
if (typeof(localStorage) === 'undefined') {
jsxc.warn("Browser doesn't support localStorage.");
if (!jsxc.storage.hasSupport()) {
jsxc.error("Browser doesn't support localStorage. JSXC will be disabled.");
return;
}
@@ -303,6 +301,7 @@ jsxc = {
lng: lang,
fallbackLng: 'en',
resources: I18next,
returnNull: false,
debug: jsxc.storage.getItem('debug') === true,
interpolation: {
prefix: '__',
@@ -559,6 +558,10 @@ jsxc = {
username = settings.xmpp.username;
}
if (typeof settings.xmpp.password === 'string') {
password = settings.xmpp.password;
}
var resource = (settings.xmpp.resource) ? '/' + settings.xmpp.resource : '';
var domain = settings.xmpp.domain;
var jid;
@@ -612,7 +615,7 @@ jsxc = {
$('#jsxc_roster').removeClass('jsxc_noConnection');
jsxc.registerLogout();
jsxc.gui.updateAvatar($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
jsxc.gui.avatar.update($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
jsxc.gui.restore();
},
@@ -680,7 +683,7 @@ jsxc = {
jsxc.otr.createDSA();
}
jsxc.gui.updateAvatar($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
jsxc.gui.avatar.update($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
},
/**
@@ -1001,13 +1004,13 @@ jsxc = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+21 -59
Ver Arquivo
@@ -125,7 +125,6 @@ jsxc.muc = {
$(document).on('error.presence.jsxc', jsxc.muc.onPresenceError);
self.conn.addHandler(self.onGroupchatMessage, null, 'message', 'groupchat');
self.conn.addHandler(self.onErrorMessage, null, 'message', 'error');
self.conn.muc.roomNames = jsxc.storage.getUserItem('roomNames') || [];
},
@@ -783,6 +782,7 @@ jsxc.muc = {
});
var destroy = $('&lt;a>');
destroy.attr('href', '#');
destroy.text($.t('Destroy'));
destroy.addClass('jsxc_destroy');
destroy.hide();
@@ -793,6 +793,7 @@ jsxc.muc = {
win.find('.jsxc_settings ul').append($('&lt;li>').append(destroy));
var configure = $('&lt;a>');
configure.attr('href', '#');
configure.text($.t('Configure'));
configure.addClass('jsxc_configure');
configure.hide();
@@ -821,6 +822,7 @@ jsxc.muc = {
}
var leave = $('&lt;a>');
leave.attr('href', '#');
leave.text($.t('Leave'));
leave.addClass('jsxc_leave');
leave.click(function() {
@@ -854,7 +856,6 @@ jsxc.muc = {
var nickname = Strophe.unescapeNode(res);
var own = jsxc.storage.getUserItem('ownNicknames') || {};
var member = jsxc.storage.getUserItem('member', room) || {};
var openWindow = false;
var codes = [];
xdata.find('status').each(function() {
@@ -868,6 +869,9 @@ jsxc.muc = {
if (roomdata.state === self.CONST.ROOMSTATE.INIT) {
// successfully joined
roomdata.status = jsxc.CONST.STATUS.indexOf('online');
jsxc.storage.setUserItem('buddy', room, roomdata);
jsxc.storage.setUserItem('roomNames', jsxc.xmpp.conn.muc.roomNames);
if (jsxc.gui.roster.getItem(room).length === 0) {
@@ -880,8 +884,9 @@ jsxc.muc = {
if ($('#jsxc_dialog').length > 0) {
// User joined the room manually
openWindow = true;
jsxc.gui.dialog.close();
jsxc.gui.window.open(room);
}
}
@@ -972,11 +977,6 @@ jsxc.muc = {
$(document).trigger('status.muc.jsxc', [code, room, nickname, member[nickname] || {}, presence]);
});
if (openWindow) {
// we wait until all parameters are set up correctly (e.g. state)
jsxc.gui.window.open(room);
}
return true;
},
@@ -1272,15 +1272,14 @@ jsxc.muc = {
if (typeof jid === 'string') {
m.find('.jsxc_name').text(jsxc.jidToBid(jid));
m.attr('data-bid', jsxc.jidToBid(jid));
title = title + '\n' + jsxc.jidToBid(jid);
var data = jsxc.storage.getUserItem('buddy', jsxc.jidToBid(jid));
if (data !== null &amp;&amp; typeof data === 'object') {
jsxc.gui.updateAvatar(m, jsxc.jidToBid(jid), data.avatar);
jsxc.gui.avatar.update(m, jsxc.jidToBid(jid), data.avatar);
} else if (jsxc.jidToBid(jid) === ownBid) {
jsxc.gui.updateAvatar(m, jsxc.jidToBid(jid), 'own');
jsxc.gui.avatar.update(m, jsxc.jidToBid(jid), 'own');
}
} else {
m.find('.jsxc_name').text(nickname);
@@ -1420,51 +1419,6 @@ jsxc.muc = {
return true;
},
/**
* Handle group chat error message.
*
* @private
* @memberOf jsxc.muc
* @param {string} message Message stanza
*/
onErrorMessage: function(message) {
var room = jsxc.jidToBid($(message).attr('from'));
if (jsxc.gui.window.get(room).length === 0) {
return true;
}
if ($(message).find('item-not-found').length > 0) {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_item-not-found')
});
} else if ($(message).find('forbidden').length > 0) {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_forbidden')
});
} else if ($(message).find('not-acceptable').length > 0) {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_not-acceptable')
});
} else {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send')
});
}
jsxc.debug('[muc] error message for ' + room, $(message).find('error')[0]);
return true;
},
/**
* Prepare group chat roster item.
*
@@ -1604,7 +1558,7 @@ jsxc.muc = {
}
o = $(opt.toHTML());
for (j = 0; j &lt; self.values; j++) {
for (j = 0; j &lt; self.values.length; j++) {
k = self.values[j];
if (k.toString() === opt.value.toString()) {
o.attr('selected', 'selected');
@@ -1690,6 +1644,14 @@ jsxc.muc = {
return html.get(0);
}
},
isGroupchat: function(jid) {
var bid = jsxc.jidToBid(jid);
var userData = jsxc.storage.setUserItem('buddy', bid) || {};
return userData.type === 'groupchat';
}
};
@@ -1714,13 +1676,13 @@ $(document).one('connected.jsxc', function() {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -189,13 +189,13 @@ jsxc.notice = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -313,13 +313,13 @@ jsxc.notification = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+11 -5
Ver Arquivo
@@ -202,9 +202,7 @@ jsxc.options = {
* @param jid Jid of that user.
* @this {jQuery} Elements to update with probable .jsxc_avatar elements
*/
defaultAvatar: function(jid) {
jsxc.gui.avatarPlaceholder($(this).find('.jsxc_avatar'), jid);
},
defaultAvatar: null,
/**
* This callback processes all settings.
@@ -331,6 +329,14 @@ jsxc.options = {
screenMediaExtension: {
firefox: '',
chrome: ''
},
/**
* Options for Message Archive Management (XEP-0313)
*/
mam: {
enable: false,
max: null
}
};
</code></pre>
@@ -343,13 +349,13 @@ jsxc.options = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+4 -2
Ver Arquivo
@@ -63,6 +63,7 @@ jsxc.otr = {
});
} else {
jsxc.gui.window.postMessage({
_uid: d._uid,
bid: bid,
direction: jsxc.Message.IN,
msg: d.msg,
@@ -237,6 +238,7 @@ jsxc.otr = {
// Receive message
jsxc.otr.objects[bid].on('ui', function(msg, encrypted, meta) {
jsxc.otr.receiveMessage({
_uid: meta._uid,
bid: bid,
msg: msg,
encrypted: encrypted === true,
@@ -568,13 +570,13 @@ jsxc.otr = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+29 -4
Ver Arquivo
@@ -41,6 +41,22 @@ jsxc.storage = {
SEP: ':',
hasSupport: function() {
if (typeof localStorage === 'undefined' || localStorage === null) {
return false;
}
try {
localStorage.setItem('jsxc:storage:test', 'jsxc');
localStorage.removeItem('jsxc:storage:test');
} catch (err) {
jsxc.warn('Can not save any data. Probably your quota exceeded or you use Safari in private Mode:', (err) ? err.message : undefined);
return false;
}
return true;
},
/**
* @param {type} uk Should we generate a user prefix?
* @returns {String} prefix
@@ -90,7 +106,11 @@ jsxc.storage = {
});
}
localStorage.setItem(jsxc.storage.getPrefix(uk) + key, value);
try {
localStorage.setItem(jsxc.storage.getPrefix(uk) + key, value);
} catch (err) {
jsxc.error('An error occured while saving data.', (err) ? err.message : undefined);
}
},
setUserItem: function(type, key, value) {
@@ -422,6 +442,11 @@ jsxc.storage = {
var history = JSON.parse(e.newValue);
var uid, el, message;
if (!jsxc.master) {
var win = jsxc.gui.window.get(bid);
win.find('.jsxc_textarea').empty();
}
while (history.length > 0) {
uid = history.pop();
@@ -430,7 +455,7 @@ jsxc.storage = {
if (el.length === 0) {
if (jsxc.master &amp;&amp; message.direction === jsxc.Message.OUT) {
jsxc.xmpp.sendMessage(message.bid, message.msg, message._uid);
jsxc.xmpp.sendMessage(message);
}
jsxc.gui.window._postMessage(message, true);
@@ -654,13 +679,13 @@ jsxc.storage = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -96,13 +96,13 @@ jsxc.tab = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+19 -16
Ver Arquivo
@@ -276,8 +276,10 @@ jsxc.webrtc = {
win.find('.jsxc_tools .jsxc_settings').after(div);
var screenMediaExtension = jsxc.options.get('screenMediaExtension') || {};
var browser = self.conn.jingle.RTC.webrtcDetectedBrowser;
if (screenMediaExtension[browser] || jsxc.storage.getItem('debug')) {
var browserDetails = self.conn.jingle.RTC.browserDetails || {};
var browser = browserDetails.browser;
var version = browserDetails.version;
if (screenMediaExtension[browser] || jsxc.storage.getItem('debug') || (browser === 'firefox' &amp;&amp; version >= 52)) {
// Add screen sharing button if extension is available or we are in debug mode
var a = $('&lt;a>');
a.text($.t('Share_screen'));
@@ -822,9 +824,8 @@ jsxc.webrtc = {
* @param stream {mediastream}
*/
attachMediaStream: function(element, stream) {
var self = jsxc.webrtc;
self.conn.jingle.RTC.attachMediaStream((element instanceof jQuery) ? element.get(0) : element, stream);
var el = (element instanceof jQuery) ? element.get(0) : element;
el.srcObject = stream;
$(element).show();
},
@@ -1139,21 +1140,23 @@ jsxc.webrtc = {
}
try {
self.conn.jingle.RTC.getUserMedia(constraints,
function(stream) {
jsxc.debug('onUserMediaSuccess');
$(document).trigger('mediaready.jingle', [stream]);
},
function(error) {
jsxc.warn('Failed to get access to local media. Error ', error);
$(document).trigger('mediafailure.jingle', [error]);
});
self.conn.jingle.getUserMedia(constraints, self.userMediaCallback);
} catch (e) {
jsxc.error('GUM failed: ', e);
$(document).trigger('mediafailure.jingle');
}
},
userMediaCallback: function(err, stream) {
if (err) {
jsxc.warn('Failed to get access to local media. Error ', err);
$(document).trigger('mediafailure.jingle', [err]);
} else if (stream) {
jsxc.debug('onUserMediaSuccess');
$(document).trigger('mediaready.jingle', [stream]);
}
},
/**
* Get screen media from local browser.
*
@@ -1518,13 +1521,13 @@ $(document).ready(function() {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -381,13 +381,13 @@ jsxc.xmpp.bookmarks.showDialog = function(room) {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+31 -45
Ver Arquivo
@@ -95,8 +95,6 @@ jsxc.xmpp.chatState.onComposing = function(ev, jid) {
return;
}
clearTimeout(win.data('composing-timeout'));
// add user in array if necessary
var usersComposing = win.data('composing') || [];
if (usersComposing.indexOf(user) === -1) {
@@ -104,25 +102,8 @@ jsxc.xmpp.chatState.onComposing = function(ev, jid) {
win.data('composing', usersComposing);
}
var textarea = win.find('.jsxc_textarea');
var composingNotif = textarea.find('.jsxc_composing');
if (composingNotif.length &lt; 1) {
// notification not present, add it
composingNotif = $('&lt;div>').addClass('jsxc_composing')
.addClass('jsxc_chatmessage')
.addClass('jsxc_sys')
.appendTo(textarea);
}
var msg = self._genComposingMsg(usersComposing);
composingNotif.text(msg);
// scroll to bottom
jsxc.gui.window.scrollDown(bid);
// show message
composingNotif.addClass('jsxc_fadein');
var msg = self._genComposingMsg(data.type, usersComposing);
jsxc.xmpp.chatState.setStatus(win, msg);
};
/**
@@ -148,7 +129,6 @@ jsxc.xmpp.chatState.onPaused = function(ev, jid) {
return;
}
var el = win.find('.jsxc_composing');
var usersComposing = win.data('composing') || [];
if (usersComposing.indexOf(user) >= 0) {
@@ -157,25 +137,12 @@ jsxc.xmpp.chatState.onPaused = function(ev, jid) {
win.data('composing', usersComposing);
}
if (usersComposing.length === 0) {
var durationValue = el.css('transition-duration') || '0s';
var duration = parseFloat(durationValue) || 0;
if (durationValue.match(/[^m]s$/)) {
duration *= 1000;
}
el.removeClass('jsxc_fadein');
var to = setTimeout(function() {
el.remove();
}, duration);
win.data('composing-timeout', to);
} else {
// update message
el.text(self._genComposingMsg(usersComposing));
var composingMsg;
if (usersComposing.length !== 0) {
composingMsg = self._genComposingMsg(data.type, usersComposing);
}
jsxc.xmpp.chatState.setStatus(win, composingMsg);
};
/**
@@ -254,16 +221,35 @@ jsxc.xmpp.chatState.endComposing = function(bid) {
* Generate composing message.
*
* @memberOf jsxc.xmpp.chatState
* @param {String} the type of the chat ('groupchat' or 'chat')
* @param {Array} usersComposing List of users which are currently composing a message
*/
jsxc.xmpp.chatState._genComposingMsg = function(usersComposing) {
jsxc.xmpp.chatState._genComposingMsg = function(chatType, usersComposing) {
if (!usersComposing || usersComposing.length === 0) {
jsxc.debug('usersComposing array is empty?');
return '';
} else {
return usersComposing.length > 1 ? usersComposing.join(', ') + $.t('_are_composing') :
usersComposing[0] + $.t('_is_composing');
if (chatType === 'groupchat') {
return usersComposing.length > 1 ? usersComposing.join(', ') + $.t('_are_composing') :
usersComposing[0] + $.t('_is_composing');
}
return $.t('_is_composing');
}
};
jsxc.xmpp.chatState.setStatus = function(win, msg) {
var statusMsgElement = win.find('.jsxc_status-msg');
statusMsgElement.text(msg || '');
statusMsgElement.attr('title', msg || '');
if (msg) {
statusMsgElement.addClass('jsxc_composing');
win.addClass('jsxc_status-msg-show');
} else {
statusMsgElement.removeClass('jsxc_composing');
win.removeClass('jsxc_status-msg-show');
}
};
@@ -284,13 +270,13 @@ $(document).on('attached.jsxc', jsxc.xmpp.chatState.init);
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+26 -22
Ver Arquivo
@@ -91,11 +91,7 @@ jsxc.xmpp.httpUpload.init = function(o) {
return;
}
if (caps.hasFeatureByJid(domain, self.CONST.NS.HTTPUPLOAD)) {
self.discoverUploadService();
} else {
jsxc.debug(domain + ' does not support http upload');
}
self.discoverUploadService();
};
/**
@@ -105,12 +101,15 @@ jsxc.xmpp.httpUpload.init = function(o) {
*/
jsxc.xmpp.httpUpload.discoverUploadService = function() {
var self = jsxc.xmpp.httpUpload;
var domain = self.conn.domain;
jsxc.debug('discover http upload service');
self.queryItemForUploadService(self.conn.domain);
if (jsxc.xmpp.conn.caps.hasFeatureByJid(domain, self.CONST.NS.HTTPUPLOAD)) {
self.queryItemForUploadService(domain);
}
self.conn.disco.items(self.conn.domain, null, function(items) {
self.conn.disco.items(domain, null, function(items) {
$(items).find('item').each(function() {
var jid = $(this).attr('jid');
@@ -146,7 +145,7 @@ jsxc.xmpp.httpUpload.queryItemForUploadService = function(jid, cb) {
jsxc.options.set('httpUpload', {
server: jid,
name: $(info).find('identity').attr('name'),
maxSize: parseInt(httpUploadMaxSize.text())
maxSize: parseInt(httpUploadMaxSize.text()) || -1
});
self.ready = true;
@@ -191,22 +190,27 @@ jsxc.xmpp.httpUpload.sendFile = function(file, message) {
message.delete();
} else if (data.get &amp;&amp; data.put) {
// slot received, start upload
jsxc.debug('slot received, start upload to ' + data.put);
self.uploadFile(data.put, file, message, function() {
var attachment = message.attachment;
var metaString = attachment.type + '|' + attachment.size + '|' + attachment.name;
var a = $('&lt;a>');
a.attr('href', data.get);
a.attr('data-name', message.attachment.name);
a.attr('data-type', message.attachment.type);
a.attr('data-size', message.attachment.size);
if (message.attachment.thumbnail) {
a.attr('data-thumbnail', message.attachment.thumbnail);
attachment.data = data.get;
if (attachment.thumbnail) {
var img = $('&lt;img>');
img.attr('alt', 'Preview:' + metaString);
img.attr('src', attachment.thumbnail);
a.prepend(img);
} else {
a.text(metaString);
}
a.text(data.get);
message.attachment.data = data.get;
message.msg = $('&lt;span>').append(a).html();
message.msg = data.get;
message.htmlMsg = $('&lt;span>').append(a).html();
message.type = jsxc.Message.HTML;
jsxc.gui.window.postMessage(message);
});
@@ -351,8 +355,8 @@ jsxc.xmpp.httpUpload.failedRequestSlotCB = function(stanza, cb) {
});
};
$(document).on('stateChange.jsxc', function(ev, state) {
if (state === jsxc.CONST.STATE.READY) {
$(document).on('stateUIChange.jsxc', function(ev, state) {
if (state === jsxc.CONST.UISTATE.INITIATING) {
jsxc.xmpp.httpUpload.init();
}
});
@@ -366,13 +370,13 @@ $(document).on('stateChange.jsxc', function(ev, state) {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+207 -35
Ver Arquivo
@@ -122,6 +122,7 @@ jsxc.xmpp = {
$(document).on('authfail.jsxc', jsxc.xmpp.onAuthFail);
Strophe.addNamespace('RECEIPTS', 'urn:xmpp:receipts');
Strophe.addNamespace('VERSION', 'jabber:iq:version');
}
// Create new connection (no login)
@@ -175,8 +176,6 @@ jsxc.xmpp = {
jsxc.debug('Try to attach');
jsxc.debug('SID: ' + sid);
jsxc.reconnect = true;
jsxc.xmpp.conn.attach(jid, sid, rid, callback);
} else {
jsxc.debug('New connection');
@@ -184,6 +183,7 @@ jsxc.xmpp = {
if (jsxc.xmpp.conn.caps) {
// Add system handler, because user handler isn't called before
// we are authenticated
// @REVIEW this could maybe retrieved from jsxc.xmpp.conn.features
jsxc.xmpp.conn._addSysHandler(function(stanza) {
var from = jsxc.xmpp.conn.domain,
c = stanza.querySelector('c'),
@@ -224,10 +224,13 @@ jsxc.xmpp = {
// REVIEW: this should maybe moved to xmpp.disconnected
// clean up
jsxc.storage.removeUserItem('buddylist');
jsxc.storage.removeUserItem('windowlist');
jsxc.storage.removeUserItem('unreadMsg');
if (jsxc.gui.favicon) {
jsxc.gui.favicon.badge(0);
}
// Hide dropdown menu
$('body').click();
@@ -284,6 +287,9 @@ jsxc.xmpp = {
jsxc.xmpp.saveSessionParameter();
var rosterVerSupport = $(jsxc.xmpp.conn.features).find('[xmlns="urn:xmpp:features:rosterver"]').length > 0;
jsxc.storage.setUserItem('rosterVerSupport', rosterVerSupport);
if (jsxc.options.loginForm.triggered) {
switch (jsxc.options.loginForm.onConnected || 'submit') {
case 'submit':
@@ -314,11 +320,15 @@ jsxc.xmpp = {
$('#jsxc_roster').removeClass('jsxc_noConnection');
Strophe.addNamespace('VERSION', 'jabber:iq:version');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onRosterChanged, 'jabber:iq:roster', 'iq', 'set');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onChatMessage, null, 'message', 'chat');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onErrorMessage, null, 'message', 'error');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onHeadlineMessage, null, 'message', 'headline');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onReceived, null, 'message');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onPresence, null, 'presence');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onVersionRequest, Strophe.NS.VERSION, 'iq', 'get');
jsxc.gui.init();
@@ -359,19 +369,28 @@ jsxc.xmpp = {
}
}
var rosterLoaded = jsxc.storage.getUserItem('rosterLoaded');
// Only load roaster if necessary
if (!jsxc.reconnect || !jsxc.storage.getUserItem('buddylist')) {
if (rosterLoaded !== jsxc.xmpp.conn._proto.sid) {
// in order to not overide existing presence information, we send
// pres first after roster is ready
$(document).one('cloaded.roster.jsxc', jsxc.xmpp.sendPres);
$('#jsxc_roster > p:first').remove();
var queryAttr = {
xmlns: 'jabber:iq:roster'
};
if (jsxc.storage.getUserItem('rosterVerSupport')) {
// @TODO check if we really cached the roster
queryAttr.ver = jsxc.storage.getUserItem('rosterVer') || '';
}
var iq = $iq({
type: 'get'
}).c('query', {
xmlns: 'jabber:iq:roster'
});
}).c('query', queryAttr);
jsxc.xmpp.conn.sendIQ(iq, jsxc.xmpp.onRoster);
} else {
@@ -399,14 +418,12 @@ jsxc.xmpp = {
},
initNewConnection: function() {
// make shure roster will be reloaded
jsxc.storage.removeUserItem('buddylist');
jsxc.storage.removeUserItem('windowlist');
jsxc.storage.removeUserItem('own');
jsxc.storage.removeUserItem('avatar', 'own');
jsxc.storage.removeUserItem('otrlist');
jsxc.storage.removeUserItem('unreadMsg');
jsxc.storage.removeUserItem('features');
// reset user options
jsxc.storage.removeUserElement('options', 'RTCPeerConfig');
@@ -421,6 +438,7 @@ jsxc.xmpp = {
jsxc.xmpp.conn.disco.addIdentity('client', 'web', 'JSXC');
jsxc.xmpp.conn.disco.addFeature(Strophe.NS.DISCO_INFO);
jsxc.xmpp.conn.disco.addFeature(Strophe.NS.RECEIPTS);
jsxc.xmpp.conn.disco.addFeature(Strophe.NS.VERSION);
}
// create presence stanza
@@ -443,6 +461,23 @@ jsxc.xmpp = {
jsxc.debug('Send presence', pres.toString());
jsxc.xmpp.conn.send(pres);
if (!jsxc.storage.getUserItem('features')) {
jsxc.xmpp.conn.flush();
var barJid = Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid);
jsxc.xmpp.conn.disco.info(barJid, undefined, function(stanza) {
var features = $(stanza).find('feature').map(function() {
return $(this).attr('var');
});
jsxc.storage.setUserItem('features', features.toArray());
$(document).trigger('features.jsxc');
});
} else {
$(document).trigger('features.jsxc');
}
},
/**
@@ -459,6 +494,7 @@ jsxc.xmpp = {
jsxc.storage.removeItem('hidden');
jsxc.storage.removeUserItem('avatar', 'own');
jsxc.storage.removeUserItem('otrlist');
jsxc.storage.removeUserItem('features');
$(document).off('connected.jsxc', jsxc.xmpp.connected);
$(document).off('attached.jsxc', jsxc.xmpp.attached);
@@ -534,13 +570,17 @@ jsxc.xmpp = {
* @private
*/
onRoster: function(iq) {
/*
* &lt;iq from='' type='get' id=''> &lt;query xmlns='jabber:iq:roster'> &lt;item
* jid='' name='' subscription='' /> ... &lt;/query> &lt;/iq>
*/
jsxc.debug('Load roster', iq);
jsxc.storage.setUserItem('rosterLoaded', jsxc.xmpp.conn._proto.sid);
if ($(iq).find('query').length === 0) {
jsxc.debug('Use cached roster');
jsxc.restoreRoster();
return;
}
var buddies = [];
$(iq).find('item').each(function() {
@@ -571,6 +611,10 @@ jsxc.xmpp = {
jsxc.storage.setUserItem('buddylist', buddies);
if ($(iq).find('query').attr('ver')) {
jsxc.storage.setUserItem('rosterVer', $(iq).find('query').attr('ver'));
}
// load bookmarks
jsxc.xmpp.bookmarks.load();
@@ -650,6 +694,10 @@ jsxc.xmpp = {
}
});
if ($(iq).find('query').attr('ver')) {
jsxc.storage.setUserItem('rosterVer', $(iq).find('query').attr('ver'));
}
if (!jsxc.storage.getUserItem('buddylist') || jsxc.storage.getUserItem('buddylist').length === 0) {
jsxc.gui.roster.empty();
} else {
@@ -773,9 +821,7 @@ jsxc.xmpp = {
});
}
if (data.type === 'groupchat') {
data.status = status;
} else {
if (data.type !== 'groupchat') {
data.status = max;
}
@@ -897,14 +943,22 @@ jsxc.xmpp = {
if (chat.length === 0) {
jsxc.notice.add({
msg: $.t('Unknown_sender'),
description: $.t('You_received_a_message_from_an_unknown_sender') + ' (' + bid + ').'
description: $.t('You_received_a_message_from_an_unknown_sender_') + ' (' + bid + ').'
}, 'gui.showUnknownSender', [bid]);
}
var msg = jsxc.removeHTML(body);
msg = jsxc.escapeHTML(msg);
jsxc.storage.saveMessage(bid, 'in', msg, false, forwarded, stamp);
var messageObj = new jsxc.Message({
bid: bid,
msg: msg,
direction: jsxc.Message.IN,
encrypted: false,
forwarded: forwarded,
stamp: stamp
});
messageObj.save();
return true;
}
@@ -941,6 +995,7 @@ jsxc.xmpp = {
var httpUploadElement = htmlBody.find('a[data-type][data-name][data-size]');
if (httpUploadElement.length === 1) {
// deprecated syntax @since 3.2.1
attachment = {
type: httpUploadElement.attr('data-type'),
name: httpUploadElement.attr('data-name'),
@@ -959,6 +1014,44 @@ jsxc.xmpp = {
if (!attachment.type.match(/^[a-z]+\/[a-z0-9-+.*]+$/i) || !attachment.name.match(/^[\s\w.,-]+$/i) || !attachment.size.match(/^\d+$/i)) {
attachment = undefined;
jsxc.warn('Invalid file type, name or size.');
}
} else if (htmlBody.find('>a').length === 1) {
var linkElement = htmlBody.find('>a');
var metaString = '';
var thumbnail;
if (linkElement.find('>img').length === 1) {
var imgElement = linkElement.find('>img');
var src = imgElement.attr('src') || '';
var altString = imgElement.attr('alt') || '';
metaString = altString.replace(/^Preview:/, '');
if (src.match(/^\s*data:[a-z]+\/[a-z0-9-+.*]+;base64,[a-z0-9=+/]+$/i)) {
thumbnail = src;
}
} else {
metaString = linkElement.text();
}
var metaMatch = metaString.match(/^([a-z]+\/[a-z0-9-+.*]+)\|(\d+)\|([\s\w.,-]+)/);
if (metaMatch) {
attachment = {
type: metaMatch[1],
size: metaMatch[2],
name: metaMatch[3],
};
if (thumbnail) {
attachment.thumbnail = thumbnail;
}
if (linkElement.attr('href') &amp;&amp; linkElement.attr('href').match(/^https?:\/\//)) {
attachment.data = linkElement.attr('href');
body = null;
}
} else {
jsxc.warn('Invalid file type, name or size.');
}
}
@@ -967,12 +1060,14 @@ jsxc.xmpp = {
if (jsxc.otr.objects.hasOwnProperty(bid) &amp;&amp; body) {
// @TODO check for file upload url after decryption
jsxc.otr.objects[bid].receiveMsg(body, {
_uid: mid,
stamp: stamp,
forwarded: forwarded,
attachment: attachment
});
} else {
jsxc.gui.window.postMessage({
_uid: mid,
bid: bid,
direction: jsxc.Message.IN,
msg: body,
@@ -987,6 +1082,58 @@ jsxc.xmpp = {
return true;
},
onErrorMessage: function(message) {
var bid = jsxc.jidToBid($(message).attr('from'));
if (jsxc.gui.window.get(bid).length === 0 || !$(message).attr('id')) {
return true;
}
if ($(message).find('item-not-found').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_item-not-found')
});
} else if ($(message).find('forbidden').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_forbidden')
});
} else if ($(message).find('not-acceptable').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_not-acceptable')
});
} else if ($(message).find('remote-server-not-found').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_remote-server-not-found')
});
} else if ($(message).find('service-unavailable').length > 0) {
if ($(message).find('[xmlns="' + Strophe.NS.CHATSTATES + '"]').length === 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_resource-unavailable')
});
}
} else {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send')
});
}
jsxc.debug('error message for ' + bid, $(message).find('error')[0]);
return true;
},
/**
* Process message stanzas of type headline.
*
@@ -1019,6 +1166,29 @@ jsxc.xmpp = {
return true;
},
/**
* Respond to version request (XEP-0092).
*/
onVersionRequest: function(stanza) {
stanza = $(stanza);
var from = stanza.attr('from');
var id = stanza.attr('id');
var iq = $iq({
type: 'result',
to: from,
id: id
}).c('query', {
xmlns: Strophe.NS.VERSION
}).c('name').t('JSXC').up()
.c('version').t(jsxc.version);
jsxc.xmpp.conn.sendIQ(iq);
return true;
},
/**
* Triggerd if the rid changed
*
@@ -1077,9 +1247,9 @@ jsxc.xmpp = {
type: 'subscribe'
}));
jsxc.storage.removeUserItem('add_' + bid);
jsxc.storage.removeUserItem('add', bid);
} else {
jsxc.storage.setUserItem('add_' + bid, {
jsxc.storage.setUserItem('add', bid, {
username: username,
alias: alias || null
});
@@ -1131,7 +1301,7 @@ jsxc.xmpp = {
*/
sendMessage: function(message) {
var bid = message.bid;
var msg = message.htmlMsg;
var msg = message.msg;
var mucRoomNames = (jsxc.xmpp.conn.muc &amp;&amp; jsxc.xmpp.conn.muc.roomNames) ? jsxc.xmpp.conn.muc.roomNames : [];
var isMucBid = mucRoomNames.indexOf(bid) >= 0;
@@ -1165,18 +1335,14 @@ jsxc.xmpp = {
id: message._uid
});
if (message.type === jsxc.Message.HTML) {
xmlMsg.c("html", {
if (message.type === jsxc.Message.HTML &amp;&amp; msg === message.msg &amp;&amp; message.htmlMsg) {
xmlMsg.c('body').t(msg);
xmlMsg.up().c('html', {
xmlns: Strophe.NS.XHTML_IM
});
// Omit StropheJS XEP-0071 limitations
var body = Strophe.xmlElement("body", {
}).c('body', {
xmlns: Strophe.NS.XHTML
});
body.innerHTML = msg;
xmlMsg.node.appendChild(body);
}).h(message.htmlMsg).up();
} else {
xmlMsg.c('body').t(msg);
}
@@ -1187,6 +1353,12 @@ jsxc.xmpp = {
});
}
if (msg.match(/^\?OTR/)) {
xmlMsg.up().c("no-permanent-store", {
xmlns: jsxc.CONST.NS.HINTS
});
}
if (type === 'chat' &amp;&amp; (isBar || jsxc.xmpp.conn.caps.hasFeatureByJid(jid, Strophe.NS.RECEIPTS))) {
// Add request according to XEP-0184
xmlMsg.up().c('request', {
@@ -1390,13 +1562,13 @@ jsxc.xmpp.carbons = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+268
Ver Arquivo
@@ -0,0 +1,268 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: jsxc.lib.xmpp.mam.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: jsxc.lib.xmpp.mam.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/**
* Implements XEP-0313: Message Archive Management.
*
* @namespace jsxc.xmpp.mam
* @see {@link https://xmpp.org/extensions/xep-0313.html}
*/
jsxc.xmpp.mam = {
conn: null
};
jsxc.xmpp.mam.init = function() {
var self = jsxc.xmpp.mam;
self.conn = jsxc.xmpp.conn;
};
jsxc.xmpp.mam.isEnabled = function() {
var mamOptions = jsxc.options.get('mam') || {};
var features = jsxc.storage.getUserItem('features') || [];
var hasFeatureMam2 = features.indexOf(Strophe.NS.MAM) >= 0;
return hasFeatureMam2 &amp;&amp; mamOptions.enable;
};
jsxc.xmpp.mam.nextMessages = function(bid) {
var self = jsxc.xmpp.mam;
var buddyData = jsxc.storage.getUserItem('buddy', bid) || {};
var lastArchiveUid = buddyData.lastArchiveUid;
var queryId = self.conn.getUniqueId();
var mamOptions = jsxc.options.get('mam') || {};
var history = jsxc.storage.getUserItem('history', bid) || [];
if (buddyData.archiveExhausted) {
jsxc.debug('No more archived messages.');
return;
}
var queryOptions = {
queryid: queryId,
before: lastArchiveUid || '',
with: bid,
onMessage: function() {
var args = Array.from(arguments);
args.unshift(bid);
self.onMessage.apply(this, args);
return true;
},
onComplete: function() {
var args = Array.from(arguments);
args.unshift(bid);
self.onComplete.apply(this, args);
return true;
}
};
var oldestMessageId = history[history.length - 1];
if (oldestMessageId &amp;&amp; !lastArchiveUid) {
var oldestMessage = new jsxc.Message(oldestMessageId);
queryOptions.end = (new Date(oldestMessage.stamp)).toISOString();
}
if (mamOptions.max) {
queryOptions.max = mamOptions.max;
}
self.conn.mam.query(undefined, queryOptions);
};
jsxc.xmpp.mam.onMessage = function(bid, stanza) {
stanza = $(stanza);
var result = stanza.find('result[xmlns="' + Strophe.NS.MAM + '"]');
var queryId = result.attr('queryid');
if (result.length !== 1) {
return;
}
var forwarded = result.find('forwarded[xmlns="' + jsxc.CONST.NS.FORWARD + '"]');
var message = forwarded.find('message');
var messageId = $(message).attr('id');
if (message.length !== 1) {
return;
}
var from = message.attr('from');
var to = message.attr('to');
if (jsxc.jidToBid(from) !== bid &amp;&amp; jsxc.jidToBid(to) !== bid) {
return;
}
var delay = forwarded.find('delay[xmlns="urn:xmpp:delay"]');
var stamp = (delay.length > 0) ? new Date(delay.attr('stamp')) : new Date();
stamp = stamp.getTime();
var body = $(message).find('body:first').text();
if (!body || body.match(/\?OTR/i)) {
return true;
}
var direction = (jsxc.jidToBid(to) === bid) ? jsxc.Message.OUT : jsxc.Message.IN;
var win = jsxc.gui.window.get(bid);
var textarea = win.find('.jsxc_textarea');
if (textarea.find('[id="' + messageId + '"]').length === 0) {
var pseudoChatElement = $('&lt;div>');
pseudoChatElement.attr('id', messageId.replace(/:/g, '-'));
pseudoChatElement.attr('data-queryId', queryId);
var lastMessage = textarea.find('[data-queryId="' + queryId + '"]').last();
var history = jsxc.storage.getUserItem('history', bid) || [];
if (history.indexOf(messageId) &lt; 0) {
if (lastMessage.length === 0) {
textarea.prepend(pseudoChatElement);
history.push(messageId);
} else {
lastMessage.after(pseudoChatElement);
history.splice(history.indexOf(lastMessage.attr('id').replace(/-/g, ':')), 0, messageId);
}
}
jsxc.storage.setUserItem('history', bid, history);
}
jsxc.gui.window.postMessage({
_uid: messageId,
bid: bid,
direction: direction,
msg: body,
encrypted: false,
forwarded: true,
stamp: stamp
});
};
jsxc.xmpp.mam.onComplete = function(bid, stanza) {
stanza = $(stanza);
var fin = stanza.find('fin[xmlns="' + Strophe.NS.MAM + '"]');
var buddyData = jsxc.storage.getUserItem('buddy', bid) || {};
var win = jsxc.gui.window.get(bid);
buddyData.archiveExhausted = fin.attr('complete') === 'true';
buddyData.lastArchiveUid = fin.find('first').text();
if (buddyData.archiveExhausted) {
win.find('.jsxc_fade').removeClass('jsxc_mam-enable');
}
jsxc.storage.setUserItem('buddy', bid, buddyData);
};
jsxc.xmpp.mam.initWindow = function(ev, win) {
var self = jsxc.xmpp.mam;
if (!jsxc.xmpp.conn &amp;&amp; jsxc.master) {
$(document).one('attached.jsxc', function() {
self.initWindow(null, win);
});
return;
}
if (!jsxc.master) {
return;
}
$(document).on('features.jsxc', function() {
jsxc.xmpp.mam.addLoadButton(win);
});
var features = jsxc.storage.getUserItem('features');
if (features !== null) {
// features.jsxc was already fired
jsxc.xmpp.mam.addLoadButton(win);
}
};
jsxc.xmpp.mam.addLoadButton = function(win) {
if (!jsxc.xmpp.mam.isEnabled()) {
return;
}
var classNameShow = 'jsxc_show';
var classNameMamEnable = 'jsxc_mam-enable';
var bid = win.attr('data-bid');
var element = $('&lt;div>');
element.addClass('jsxc_mam-load-more');
element.appendTo(win.find('.slimScrollDiv'));
element.click(function() {
jsxc.xmpp.mam.nextMessages(bid);
});
element.text($.t('Load_older_messages'));
win.find('.jsxc_textarea').scroll(function() {
var buddyData = jsxc.storage.getUserItem('buddy', bid) || {};
if (this.scrollTop &lt; 42 &amp;&amp; !buddyData.archiveExhausted) {
element.addClass(classNameShow);
} else {
element.removeClass(classNameShow);
}
if (!buddyData.archiveExhausted) {
win.find('.jsxc_fade').addClass(classNameMamEnable);
}
});
win.find('.jsxc_textarea').scroll();
};
$(document).on('attached.jsxc', jsxc.xmpp.mam.init);
$(document).on('init.window.jsxc', jsxc.xmpp.mam.initWindow);
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:22 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+13 -13
Ver Arquivo
@@ -282,7 +282,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1506">line 1506</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1460">line 1460</a>
</li></ul></dd>
@@ -466,7 +466,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line630">line 630</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line629">line 629</a>
</li></ul></dd>
@@ -643,7 +643,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line594">line 594</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line593">line 593</a>
</li></ul></dd>
@@ -774,7 +774,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1319">line 1319</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1318">line 1318</a>
</li></ul></dd>
@@ -856,7 +856,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line109">line 109</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line108">line 108</a>
</li></ul></dd>
@@ -1304,7 +1304,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line510">line 510</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line509">line 509</a>
</li></ul></dd>
@@ -1435,7 +1435,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line539">line 539</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line538">line 538</a>
</li></ul></dd>
@@ -1937,7 +1937,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1274">line 1274</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1273">line 1273</a>
</li></ul></dd>
@@ -2091,7 +2091,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1290">line 1290</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1289">line 1289</a>
</li></ul></dd>
@@ -2267,7 +2267,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line126">line 126</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line125">line 125</a>
</li></ul></dd>
@@ -2398,7 +2398,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line422">line 422</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line421">line 421</a>
</li></ul></dd>
@@ -2440,13 +2440,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -1399,13 +1399,13 @@ messages.
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+139 -144
Ver Arquivo
@@ -334,7 +334,69 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line293">line 293</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line291">line 291</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".defaultAvatar"><span class="type-signature">(static) </span>defaultAvatar<span class="type-signature"></span></h4>
<div class="description">
If no avatar is found, this function is called.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line177">line 177</a>
</li></ul></dd>
@@ -458,7 +520,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line232">line 232</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line230">line 230</a>
</li></ul></dd>
@@ -520,7 +582,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line285">line 285</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line283">line 283</a>
</li></ul></dd>
@@ -724,6 +786,68 @@
<h4 class="name" id=".mam"><span class="type-signature">(static) </span>mam<span class="type-signature"></span></h4>
<div class="description">
Options for Message Archive Management (XEP-0313)
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line309">line 309</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".maxStorableSize"><span class="type-signature">(static) </span>maxStorableSize<span class="type-signature"></span></h4>
@@ -768,7 +892,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line282">line 282</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line280">line 280</a>
</li></ul></dd>
@@ -1016,7 +1140,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line263">line 263</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line261">line 261</a>
</li></ul></dd>
@@ -1388,7 +1512,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line246">line 246</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line244">line 244</a>
</li></ul></dd>
@@ -1460,7 +1584,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line303">line 303</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line301">line 301</a>
</li></ul></dd>
@@ -1589,7 +1713,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line243">line 243</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line241">line 241</a>
</li></ul></dd>
@@ -1677,135 +1801,6 @@
<h4 class="name" id=".defaultAvatar"><span class="type-signature">(static) </span>defaultAvatar<span class="signature">(jid)</span><span class="type-signature"></span></h4>
<div class="description">
If no avatar is found, this function is called.
</div>
<h5>This:</h5>
<ul><li>{jQuery}</li></ul>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>jid</code></td>
<td class="type">
</td>
<td class="description last">Jid of that user.</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line177">line 177</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".displayRosterMinimized"><span class="type-signature">(static) </span>displayRosterMinimized<span class="signature">()</span><span class="type-signature"></span></h4>
@@ -2073,7 +2068,7 @@ modification is done to it.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line236">line 236</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line234">line 234</a>
</li></ul></dd>
@@ -2237,7 +2232,7 @@ modification is done to it.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line221">line 221</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line219">line 219</a>
</li></ul></dd>
@@ -2414,7 +2409,7 @@ modification is done to it.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line196">line 196</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line194">line 194</a>
</li></ul></dd>
@@ -2558,7 +2553,7 @@ modification is done to it.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line205">line 205</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line203">line 203</a>
</li></ul></dd>
@@ -2712,7 +2707,7 @@ modification is done to it.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line252">line 252</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line250">line 250</a>
</li></ul></dd>
@@ -2754,13 +2749,13 @@ modification is done to it.
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+14 -14
Ver Arquivo
@@ -224,7 +224,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line502">line 502</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line504">line 504</a>
</li></ul></dd>
@@ -355,7 +355,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line351">line 351</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line353">line 353</a>
</li></ul></dd>
@@ -486,7 +486,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line69">line 69</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line70">line 70</a>
</li></ul></dd>
@@ -586,7 +586,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line418">line 418</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line420">line 420</a>
</li></ul></dd>
@@ -735,7 +735,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line516">line 516</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line518">line 518</a>
</li></ul></dd>
@@ -866,7 +866,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line316">line 316</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line318">line 318</a>
</li></ul></dd>
@@ -1033,7 +1033,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line333">line 333</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line335">line 335</a>
</li></ul></dd>
@@ -1225,7 +1225,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line253">line 253</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line255">line 255</a>
</li></ul></dd>
@@ -1646,7 +1646,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line383">line 383</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line385">line 385</a>
</li></ul></dd>
@@ -1800,7 +1800,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line55">line 55</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line56">line 56</a>
</li></ul></dd>
@@ -2005,7 +2005,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line286">line 286</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line288">line 288</a>
</li></ul></dd>
@@ -2154,7 +2154,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line298">line 298</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line300">line 300</a>
</li></ul></dd>
@@ -2214,13 +2214,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+14 -14
Ver Arquivo
@@ -298,7 +298,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line89">line 89</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line109">line 109</a>
</li></ul></dd>
@@ -425,7 +425,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line21">line 21</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line37">line 37</a>
</li></ul></dd>
@@ -573,7 +573,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line106">line 106</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line126">line 126</a>
</li></ul></dd>
@@ -737,7 +737,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line219">line 219</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line239">line 239</a>
</li></ul></dd>
@@ -986,7 +986,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line269">line 269</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line289">line 289</a>
</li></ul></dd>
@@ -1163,7 +1163,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line232">line 232</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line252">line 252</a>
</li></ul></dd>
@@ -1335,7 +1335,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line125">line 125</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line145">line 145</a>
</li></ul></dd>
@@ -1461,7 +1461,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line143">line 143</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line163">line 163</a>
</li></ul></dd>
@@ -1605,7 +1605,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line595">line 595</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line620">line 620</a>
</li></ul></dd>
@@ -1804,7 +1804,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line39">line 39</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line55">line 55</a>
</li></ul></dd>
@@ -2044,7 +2044,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line165">line 165</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line185">line 185</a>
</li></ul></dd>
@@ -2284,7 +2284,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line198">line 198</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line218">line 218</a>
</li></ul></dd>
@@ -2326,13 +2326,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -428,13 +428,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+21 -21
Ver Arquivo
@@ -735,7 +735,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line796">line 796</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line798">line 798</a>
</li></ul></dd>
@@ -987,7 +987,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1134">line 1134</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1137">line 1137</a>
</li></ul></dd>
@@ -1212,7 +1212,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1101">line 1101</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1102">line 1102</a>
</li></ul></dd>
@@ -1294,7 +1294,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line922">line 922</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line923">line 923</a>
</li></ul></dd>
@@ -1448,7 +1448,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line884">line 884</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line885">line 885</a>
</li></ul></dd>
@@ -1602,7 +1602,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line981">line 981</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line982">line 982</a>
</li></ul></dd>
@@ -1733,7 +1733,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line478">line 478</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line480">line 480</a>
</li></ul></dd>
@@ -1864,7 +1864,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line567">line 567</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line569">line 569</a>
</li></ul></dd>
@@ -1995,7 +1995,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line510">line 510</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line512">line 512</a>
</li></ul></dd>
@@ -2172,7 +2172,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1253">line 1253</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1256">line 1256</a>
</li></ul></dd>
@@ -2303,7 +2303,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1038">line 1038</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1039">line 1039</a>
</li></ul></dd>
@@ -2457,7 +2457,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line680">line 680</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line682">line 682</a>
</li></ul></dd>
@@ -2539,7 +2539,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1051">line 1051</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1052">line 1052</a>
</li></ul></dd>
@@ -2693,7 +2693,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1220">line 1220</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1223">line 1223</a>
</li></ul></dd>
@@ -2859,7 +2859,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line376">line 376</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line378">line 378</a>
</li></ul></dd>
@@ -2985,7 +2985,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1177">line 1177</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1180">line 1180</a>
</li></ul></dd>
@@ -3139,7 +3139,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line854">line 854</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line855">line 855</a>
</li></ul></dd>
@@ -3270,7 +3270,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line938">line 938</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line939">line 939</a>
</li></ul></dd>
@@ -3396,7 +3396,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line270">line 270</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line272">line 272</a>
</li></ul></dd>
@@ -3438,13 +3438,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -1016,13 +1016,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+6 -6
Ver Arquivo
@@ -73,7 +73,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1277">line 1277</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1449">line 1449</a>
</li></ul></dd>
@@ -204,7 +204,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1317">line 1317</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1489">line 1489</a>
</li></ul></dd>
@@ -330,7 +330,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1291">line 1291</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1463">line 1463</a>
</li></ul></dd>
@@ -456,7 +456,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1343">line 1343</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1515">line 1515</a>
</li></ul></dd>
@@ -498,13 +498,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+32 -9
Ver Arquivo
@@ -182,7 +182,7 @@
<h4 class="name" id="._genComposingMsg"><span class="type-signature">(static) </span>_genComposingMsg<span class="signature">(usersComposing)</span><span class="type-signature"></span></h4>
<h4 class="name" id="._genComposingMsg"><span class="type-signature">(static) </span>_genComposingMsg<span class="signature">(the, usersComposing)</span><span class="type-signature"></span></h4>
@@ -223,6 +223,29 @@
<tbody>
<tr>
<td class="name"><code>the</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">type of the chat ('groupchat' or 'chat')</td>
</tr>
<tr>
<td class="name"><code>usersComposing</code></td>
@@ -282,7 +305,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line231">line 231</a>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line199">line 199</a>
</li></ul></dd>
@@ -413,7 +436,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line217">line 217</a>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line184">line 184</a>
</li></ul></dd>
@@ -567,7 +590,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line160">line 160</a>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line127">line 127</a>
</li></ul></dd>
@@ -875,7 +898,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line107">line 107</a>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line88">line 88</a>
</li></ul></dd>
@@ -1006,7 +1029,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line203">line 203</a>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line170">line 170</a>
</li></ul></dd>
@@ -1137,7 +1160,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line170">line 170</a>
<a href="jsxc.lib.xmpp.chatState.js.html">jsxc.lib.xmpp.chatState.js</a>, <a href="jsxc.lib.xmpp.chatState.js.html#line137">line 137</a>
</li></ul></dd>
@@ -1179,13 +1202,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+96 -11
Ver Arquivo
@@ -112,6 +112,9 @@
<dt><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></dt>
<dd></dd>
<dt><a href="jsxc.xmpp.mam.html">mam</a></dt>
<dd></dd>
</dl>
@@ -248,7 +251,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1031">line 1031</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1201">line 1201</a>
</li></ul></dd>
@@ -374,7 +377,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1210">line 1210</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1382">line 1382</a>
</li></ul></dd>
@@ -561,7 +564,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1233">line 1233</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1405">line 1405</a>
</li></ul></dd>
@@ -745,7 +748,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1187">line 1187</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1359">line 1359</a>
</li></ul></dd>
@@ -1025,7 +1028,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line968">line 968</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1115">line 1115</a>
</li></ul></dd>
@@ -1073,6 +1076,88 @@
<h4 class="name" id=".onVersionRequest"><span class="type-signature">(static) </span>onVersionRequest<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
Respond to version request (XEP-0092).
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1144">line 1144</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".removeBuddy"><span class="type-signature">(static) </span>removeBuddy<span class="signature">(jid)</span><span class="type-signature"></span></h4>
@@ -1174,7 +1259,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1066">line 1066</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1236">line 1236</a>
</li></ul></dd>
@@ -1328,7 +1413,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1010">line 1010</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1180">line 1180</a>
</li></ul></dd>
@@ -1490,7 +1575,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1104">line 1104</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1274">line 1274</a>
</li></ul></dd>
@@ -1572,7 +1657,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line390">line 390</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line407">line 407</a>
</li></ul></dd>
@@ -1614,13 +1699,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+9 -9
Ver Arquivo
@@ -167,7 +167,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line78">line 78</a>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line74">line 74</a>
</li></ul></dd>
@@ -321,7 +321,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line299">line 299</a>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line303">line 303</a>
</li></ul></dd>
@@ -606,7 +606,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line106">line 106</a>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line105">line 105</a>
</li></ul></dd>
@@ -760,7 +760,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line242">line 242</a>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line246">line 246</a>
</li></ul></dd>
@@ -914,7 +914,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line140">line 140</a>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line139">line 139</a>
</li></ul></dd>
@@ -1068,7 +1068,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line275">line 275</a>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line279">line 279</a>
</li></ul></dd>
@@ -1268,7 +1268,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line198">line 198</a>
<a href="jsxc.lib.xmpp.httpUpload.js.html">jsxc.lib.xmpp.httpUpload.js</a>, <a href="jsxc.lib.xmpp.httpUpload.js.html#line202">line 202</a>
</li></ul></dd>
@@ -1310,13 +1310,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+138
Ver Arquivo
@@ -0,0 +1,138 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Namespace: mam</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Namespace: mam</h1>
<section>
<header>
<h2>
<span class="ancestors"><a href="jsxc.html">jsxc</a><a href="jsxc.xmpp.html">.xmpp</a>.</span>mam</h2>
</header>
<article>
<div class="container-overview">
<div class="description">Implements XEP-0313: Message Archive Management.</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.mam.js.html">jsxc.lib.xmpp.mam.js</a>, <a href="jsxc.lib.xmpp.mam.js.html#line1">line 1</a>
</li></ul></dd>
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul>
<li><a href="https://xmpp.org/extensions/xep-0313.html">https://xmpp.org/extensions/xep-0313.html</a></li>
</ul>
</dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.tab.html">tab</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li><li><a href="jsxc.xmpp.mam.html">mam</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Thu Jun 01 2017 14:24:23 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+314
Ver Arquivo
@@ -0,0 +1,314 @@
{
"translation": {
"Logging_in": "‏يتم تسجيل الدخول…",
"your_connection_is_unencrypted": null,
"your_connection_is_encrypted": null,
"your_buddy_closed_the_private_connection": null,
"start_private": null,
"close_private": null,
"your_buddy_is_verificated": null,
"you_have_only_a_subscription_in_one_way": null,
"authentication_query_sent": null,
"your_message_wasnt_send_please_end_your_private_conversation": null,
"unencrypted_message_received": null,
"not_available": null,
"no_connection": null,
"relogin": null,
"trying_to_start_private_conversation": null,
"Verified": null,
"Unverified": null,
"private_conversation_aborted": null,
"your_buddy_closed_the_private_conversation_you_should_do_the_same": null,
"conversation_is_now_verified": null,
"authentication_failed": null,
"Creating_your_private_key_": null,
"Authenticating_a_buddy_helps_": null,
"How_do_you_want_to_authenticate_your_buddy": null,
"Select_method": null,
"Manual": null,
"Question": null,
"Secret": null,
"To_verify_the_fingerprint_": null,
"Your_fingerprint": null,
"Buddy_fingerprint": null,
"Close": null,
"Compared": null,
"To_authenticate_using_a_question_": null,
"Ask": null,
"To_authenticate_pick_a_secret_": null,
"Compare": null,
"Fingerprints": null,
"Authentication": null,
"Message": null,
"Add_buddy": null,
"rename_buddy": null,
"delete_buddy": null,
"Login": null,
"Username": null,
"Password": null,
"Cancel": null,
"Connect": null,
"Type_in_the_full_username_": null,
"Alias": null,
"Add": null,
"Subscription_request": null,
"You_have_a_request_from": null,
"Deny": null,
"Approve": null,
"Remove_buddy": null,
"You_are_about_to_remove_": null,
"Continue_without_chat": null,
"Please_wait": null,
"Login_failed": null,
"Sorry_we_cant_authentikate_": null,
"Retry": null,
"clear_history": null,
"New_message_from": null,
"Should_we_notify_you_": null,
"Please_accept_": null,
"Hide_offline": null,
"Show_offline": null,
"About": null,
"dnd": null,
"Mute": null,
"Unmute": null,
"Subscription": null,
"both": null,
"Status": null,
"online": null,
"chat": null,
"away": null,
"xa": null,
"offline": null,
"none": null,
"Unknown_instance_tag": null,
"Not_one_of_our_latest_keys": null,
"Received_an_unreadable_encrypted_message": null,
"Online": null,
"Chatty": null,
"Away": null,
"Extended_away": null,
"Offline": null,
"Friendship_request": null,
"Confirm": null,
"Dismiss": null,
"Remove": null,
"Online_help": null,
"FN": null,
"N": null,
"FAMILY": null,
"GIVEN": null,
"NICKNAME": null,
"URL": null,
"ADR": null,
"STREET": null,
"EXTADD": null,
"LOCALITY": null,
"REGION": null,
"PCODE": null,
"CTRY": null,
"TEL": null,
"NUMBER": null,
"EMAIL": null,
"USERID": null,
"ORG": null,
"ORGNAME": null,
"ORGUNIT": null,
"TITLE": null,
"ROLE": null,
"BDAY": null,
"DESC": null,
"PHOTO": null,
"send_message": null,
"get_info": null,
"Settings": null,
"Priority": null,
"Save": null,
"User_settings": null,
"A_fingerprint_": null,
"is": null,
"Login_options": null,
"BOSH_url": null,
"Domain": null,
"Resource": null,
"On_login": null,
"Received_an_unencrypted_message": null,
"Sorry_your_buddy_doesnt_provide_any_information": null,
"Info_about": null,
"Authentication_aborted": null,
"Authentication_request_received": null,
"Log_in_without_chat": null,
"has_come_online": null,
"Unknown_sender": null,
"Please_allow_access_to_microphone_and_camera": null,
"Incoming_call": null,
"from": null,
"Do_you_want_to_accept_the_call_from": null,
"Reject": null,
"Accept": null,
"hang_up": null,
"snapshot": null,
"mute_my_audio": null,
"pause_my_video": null,
"fullscreen": null,
"Info": null,
"Local_IP": null,
"Remote_IP": null,
"Local_Fingerprint": null,
"Remote_Fingerprint": null,
"Video_call_not_possible": null,
"Start_video_call": null,
"Join_chat": null,
"Join": null,
"Room": null,
"Nickname": null,
"left_the_building": null,
"entered_the_room": null,
"is_now_known_as": null,
"This_room_is": null,
"muc_hidden": {
"keyword": null,
"description": null
},
"muc_membersonly": {
"keyword": null,
"description": null
},
"muc_moderated": {
"keyword": null,
"description": null
},
"muc_nonanonymous": {
"keyword": null,
"description": null
},
"muc_open": {
"keyword": null,
"description": null
},
"muc_passwordprotected": {
"keyword": null,
"description": null
},
"muc_persistent": {
"keyword": null,
"description": null
},
"muc_public": {
"keyword": null,
"description": null
},
"muc_semianonymous": {
"keyword": null,
"description": null
},
"muc_temporary": {
"keyword": null,
"description": null
},
"muc_unmoderated": {
"keyword": null,
"description": null
},
"muc_unsecured": {
"keyword": null,
"description": null
},
"Continue": null,
"Server": null,
"Rooms_are_loaded": null,
"Could_load_only": null,
"muc_explanation": null,
"You_already_joined_this_room": null,
"This_room_will_be_closed": null,
"Room_not_found_": null,
"Loading_room_information": null,
"Destroy": null,
"Leave": null,
"changed_subject_to": null,
"muc_removed_kicked": null,
"muc_removed_info_kicked": null,
"muc_removed_banned": null,
"muc_removed_info_banned": null,
"muc_removed_affiliation": null,
"muc_removed_info_affiliation": null,
"muc_removed_membersonly": null,
"muc_removed_info_membersonly": null,
"muc_removed_shutdown": null,
"Reason": null,
"message_not_send": null,
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
"You_are_not_on_the_member_list": null,
"You_are_banned_from_this_room": null,
"Your_desired_nickname_": null,
"The_maximum_number_": null,
"This_room_is_locked_": null,
"You_are_not_allowed_to_create_": null,
"Alert": null,
"Call_started": null,
"Call_terminated": null,
"Carbon_copy": null,
"Enable": null,
"jingle_reason_busy": null,
"jingle_reason_decline": null,
"jingle_reason_success": null,
"Media_failure": null,
"No_local_audio_device": null,
"No_local_video_device": null,
"Ok": null,
"PermissionDeniedError": null,
"Use_local_audio_device": null,
"Use_local_video_device": null,
"is_": null,
"You_received_a_message_from_an_unknown_sender_": null,
"Your_roster_is_empty_add_": null,
"onsmp_explanation_question": null,
"onsmp_explanation_secret": null,
"from_sender": null,
"Verified_private_conversation_started": null,
"Unverified_private_conversation_started": null,
"Bookmark": null,
"Auto-join": null,
"Edit_bookmark": null,
"Room_logging_is_disabled": null,
"Room_is_now_non-anoymous": null,
"Room_is_now_semi-anonymous": null,
"Do_you_want_to_change_the_default_room_configuration": null,
"Default": null,
"Change": null,
"Send_file": null,
"setting-explanation-carbon": null,
"setting-explanation-login": null,
"setting-explanation-priority": null,
"setting-explanation-xmpp": null,
"_is_composing": null,
"_are_composing": null,
"Chat_state_notifications": null,
"setting-explanation-chat-state": null,
"Share_screen": null,
"Incoming_stream": null,
"Stream_started": null,
"HTTPS_REQUIRED": null,
"EXTENSION_UNAVAILABLE": null,
"UNKNOWN_ERROR": null,
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+10 -5
Ver Arquivo
@@ -95,7 +95,7 @@
"Remove": "Löschen",
"Online_help": "Online Hilfe",
"FN": "Name",
"N": " ",
"N": "Name",
"FAMILY": "Familienname",
"GIVEN": "Vorname",
"NICKNAME": "Spitzname",
@@ -110,7 +110,7 @@
"TEL": "Telefon",
"NUMBER": "Nummer",
"EMAIL": "E-Mail",
"USERID": " ",
"USERID": "Benutzerkennung",
"ORG": "Organisation",
"ORGNAME": "Name",
"ORGUNIT": "Abteilung",
@@ -118,7 +118,7 @@
"ROLE": "Rolle",
"BDAY": "Geburtstag",
"DESC": "Beschreibung",
"PHOTO": " ",
"PHOTO": "Foto",
"send_message": "Sende Nachricht",
"get_info": "Benutzerinformationen",
"Settings": "Einstellungen",
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": "Deine Nachricht wurde nicht versandt, da der Raum nicht mehr existiert",
"message_not_send_forbidden": "Deine Nachricht wurde nicht versandt, da du kein \"Mitspracherecht\" hast",
"message_not_send_not-acceptable": "Deine Nachricht wurde nicht versandt, da du kein Mitglied dieser Gruppe bist",
"message_not_send_resource-unavailable": "Ihre Nachricht wurde nicht gesendet, weil Ihr Gesprächspartner sich nicht verbunden hat",
"message_not_send_remote-server-not-found": "Ihre Nachricht wurde nicht gesendet, weil keine Server-zu-Server Verbindung aufgebaut werden konnte",
"This_room_has_been_closed": "Diese Gruppe wurde geschlossen",
"Room_logging_is_enabled": "Gesprächsverlauf kann öffentlich einsehbar sein",
"A_password_is_required": "Es wird ein Passwort benötigt",
@@ -267,7 +269,7 @@
"is_": "ist __status__",
"You_received_a_message_from_an_unknown_sender_": "Du hast eine Nachricht von einem unbekannten Absender erhalten (__sender__). Möchtest du sie sehen?",
"Your_roster_is_empty_add_": "Deine Kontaktliste ist leer, füge einen neuen Kontakt <a>hinzu</a>",
"onsmp_explanation_question": "Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib die Antwort ein und klick auf Antworten.",
"onsmp_explanation_question": "Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib die Antwort ein und klick auf Antworten.",
"onsmp_explanation_secret": "Dein Kontakt versucht herauszufinden ob er wirklich mit dir redet. Um dich gegenüber deinem Kontakt zu verifizieren gib das Geheimnis ein.",
"from_sender": "von __sender__",
"Verified_private_conversation_started": "Verifizierte private Konversation gestartet.",
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": "Unlesbare OTR Nachricht verworfen",
"Load_older_messages": "Ältere Nachrichten laden",
"Message_history": "Nachrichten Verlauf",
"setting-mam-enable": null
"setting-mam-enable": "Falls aktiviert können Sie gespeicherte Nachrichten vom Server abrufen",
"File_too_large": "Datei zu groß",
"No_proper_file_transfer_method_available": "Keine geeignete Übertragungsmethode verfügbar",
"You_have_to_go_online_": "Du musst online sein um diese Aktion auszuführen."
}
}
+286 -281
Ver Arquivo
@@ -1,309 +1,314 @@
{
"translation": {
"Logging_in": null,
"your_connection_is_unencrypted": null,
"your_connection_is_encrypted": null,
"your_buddy_closed_the_private_connection": null,
"start_private": null,
"close_private": null,
"your_buddy_is_verificated": null,
"you_have_only_a_subscription_in_one_way": null,
"authentication_query_sent": null,
"your_message_wasnt_send_please_end_your_private_conversation": null,
"unencrypted_message_received": null,
"not_available": null,
"no_connection": null,
"relogin": null,
"trying_to_start_private_conversation": null,
"Verified": null,
"Unverified": null,
"private_conversation_aborted": null,
"your_buddy_closed_the_private_conversation_you_should_do_the_same": null,
"conversation_is_now_verified": null,
"authentication_failed": null,
"Creating_your_private_key_": null,
"Authenticating_a_buddy_helps_": null,
"How_do_you_want_to_authenticate_your_buddy": null,
"Select_method": null,
"Manual": null,
"Question": null,
"Secret": null,
"To_verify_the_fingerprint_": null,
"Your_fingerprint": null,
"Buddy_fingerprint": null,
"Close": null,
"Compared": null,
"To_authenticate_using_a_question_": null,
"Ask": null,
"To_authenticate_pick_a_secret_": null,
"Compare": null,
"Fingerprints": null,
"Authentication": null,
"Message": null,
"Add_buddy": null,
"rename_buddy": null,
"delete_buddy": null,
"Login": null,
"Username": null,
"Password": null,
"Cancel": null,
"Connect": null,
"Type_in_the_full_username_": null,
"Alias": null,
"Add": null,
"Subscription_request": null,
"You_have_a_request_from": null,
"Deny": null,
"Approve": null,
"Remove_buddy": null,
"You_are_about_to_remove_": null,
"Continue_without_chat": null,
"Please_wait": null,
"Login_failed": null,
"Sorry_we_cant_authentikate_": null,
"Retry": null,
"clear_history": null,
"New_message_from": null,
"Should_we_notify_you_": null,
"Please_accept_": null,
"Hide_offline": null,
"Show_offline": null,
"About": null,
"dnd": null,
"Mute": null,
"Unmute": null,
"Subscription": null,
"both": null,
"Status": null,
"online": null,
"chat": null,
"away": null,
"xa": null,
"offline": null,
"none": null,
"Unknown_instance_tag": null,
"Not_one_of_our_latest_keys": null,
"Received_an_unreadable_encrypted_message": null,
"Online": null,
"Chatty": null,
"Away": null,
"Extended_away": null,
"Offline": null,
"Friendship_request": null,
"Confirm": null,
"Dismiss": null,
"Remove": null,
"Online_help": null,
"FN": null,
"N": null,
"FAMILY": null,
"GIVEN": null,
"NICKNAME": null,
"URL": null,
"ADR": null,
"STREET": null,
"EXTADD": null,
"LOCALITY": null,
"REGION": null,
"PCODE": null,
"CTRY": null,
"TEL": null,
"NUMBER": null,
"EMAIL": null,
"USERID": null,
"ORG": null,
"ORGNAME": null,
"ORGUNIT": null,
"TITLE": null,
"ROLE": null,
"BDAY": null,
"DESC": null,
"PHOTO": null,
"send_message": null,
"get_info": null,
"Settings": null,
"Priority": null,
"Save": null,
"User_settings": null,
"A_fingerprint_": null,
"is": null,
"Login_options": null,
"BOSH_url": null,
"Domain": null,
"Resource": null,
"On_login": null,
"Received_an_unencrypted_message": null,
"Sorry_your_buddy_doesnt_provide_any_information": null,
"Info_about": null,
"Authentication_aborted": null,
"Authentication_request_received": null,
"Log_in_without_chat": null,
"has_come_online": null,
"Unknown_sender": null,
"Please_allow_access_to_microphone_and_camera": null,
"Incoming_call": null,
"from": null,
"Do_you_want_to_accept_the_call_from": null,
"Reject": null,
"Accept": null,
"hang_up": null,
"snapshot": null,
"mute_my_audio": null,
"pause_my_video": null,
"fullscreen": null,
"Info": null,
"Local_IP": null,
"Remote_IP": null,
"Local_Fingerprint": null,
"Remote_Fingerprint": null,
"Video_call_not_possible": null,
"Start_video_call": null,
"Join_chat": null,
"Join": null,
"Room": null,
"Nickname": null,
"left_the_building": null,
"entered_the_room": null,
"is_now_known_as": null,
"This_room_is": null,
"Logging_in": "Σύνδεση...",
"your_connection_is_unencrypted": "Η σύνδεση είναι μη κρυπτογραφημένη.",
"your_connection_is_encrypted": "Η σύνδεση είναι κρυπτογραφημένη.",
"your_buddy_closed_the_private_connection": "Η επαφή σας έκλεισε την ιδιωτική σύνδεση.",
"start_private": "Ξεκινήστε ιδιωτικά",
"close_private": "Κλείστε ιδιωτικά",
"your_buddy_is_verificated": "Η επαφή σας επαληθεύτηκε.",
"you_have_only_a_subscription_in_one_way": "Έχεις μόνο one-way εγγραφή.",
"authentication_query_sent": "Το αίτημα επικύρωσης στάλθηκε.",
"your_message_wasnt_send_please_end_your_private_conversation": "Το μήνυμα δεν εστάλη. Παρακαλώ τερματίστε την προσωπική συνομιλία.",
"unencrypted_message_received": "Παραλήφθηκε μη κρυπτογραφημένο μήνυμα.",
"not_available": "Μη διαθέσιμο.",
"no_connection": "Δεν υπάρχει σύνδεση.",
"relogin": "Επανασύνδεση",
"trying_to_start_private_conversation": "Προσπάθησε να εκκινήσεις μια ιδιωτική συνομιλία!",
"Verified": "Επικαιροποιήθηκε",
"Unverified": "Ανεπαλήθευτο",
"private_conversation_aborted": "Η ιδιωτική συνομιλία ακυρώθηκε!",
"your_buddy_closed_the_private_conversation_you_should_do_the_same": "Η επαφή σας έκλεισε την ιδιωτική συνομιλία! Θα πρέπει να κάνετε το ίδιο.",
"conversation_is_now_verified": "Η συνομιλία έχει πλέον επαληθευτεί.",
"authentication_failed": "Η αυθεντικοποίηση απέτυχε.",
"Creating_your_private_key_": "Δημιουργία ιδιωτικού κλειδιού; αυτό θα πάρει λίγη ώρα.",
"Authenticating_a_buddy_helps_": "Ο έλεγχος ταυτότητας μιας επαφής βοηθά να διασφαλίσετε ότι το άτομο με το οποίο μιλάτε είναι πραγματικά αυτό που ισχυρίζεται ότι είναι.",
"How_do_you_want_to_authenticate_your_buddy": "Πώς θέλετε να πιστοποιήσετε την ταυτότητα __bid_name__ (<b> __ bid_jid __ </ b>);",
"Select_method": "Επέλεξε την μέθοδο...",
"Manual": "Εγχειρίδιο",
"Question": "Ερώτηση",
"Secret": "Μυστικό",
"To_verify_the_fingerprint_": "Για να επαληθεύσετε το δακτυλικό αποτύπωμα, επικοινωνήστε με την επαφή σας μέσω άλλου αξιόπιστου καναλιού, όπως το τηλέφωνο.",
"Your_fingerprint": "Το αποτύπωμα σας",
"Buddy_fingerprint": "Αναγνωριστικό επαφής",
"Close": "Κλείσε",
"Compared": "Σε σύγκριση",
"To_authenticate_using_a_question_": "Για να επαληθεύσετε χρησιμοποιώντας ερώτηση, διαλέξτε μια ερώτηση της οποίας η απάντηση θα την γνωρίζετε μόνο εσείς και η επαφή σας.",
"Ask": "Ερώτηση",
"To_authenticate_pick_a_secret_": "Για να επαληθεύσετε, διαλέξτε ένα μυστικό που θα είναι γνωστό μόνο από σας και την επαφή σας.",
"Compare": "Σύγκριση",
"Fingerprints": "Δακτυλικά αποτυπώματα",
"Authentication": "Αυθεντικοποίηση",
"Message": "Μήνυμα",
"Add_buddy": "Πρόσθεσε επαφή",
"rename_buddy": "Μετονομασία επαφής",
"delete_buddy": "Διαγραφή επαφής",
"Login": "Είσοδος",
"Username": "Όνομα χρήστη",
"Password": "Κωδικός",
"Cancel": "Ακύρωση",
"Connect": "Σύνδεση",
"Type_in_the_full_username_": "Πληκτρολογήστε το πλήρες όνομα χρήστη και ένα προαιρετικό ψευδώνυμο.",
"Alias": "Ψευδώνυμο",
"Add": "Πρόσθεσε",
"Subscription_request": "Αίτημα εγγραφής",
"You_have_a_request_from": "Έχετε ένα αίτημα από",
"Deny": "Άρνηση",
"Approve": "Επέτρεψε",
"Remove_buddy": "Αφαίρεσε την επαφή",
"You_are_about_to_remove_": "Πρόκειται να καταργήσετε την __bid_name__ (<b> __ bid_jid __ </ b>) από τη λίστα επαφών σας. Όλες οι σχετικές συζητήσεις θα κλείσουν.",
"Continue_without_chat": "Συνεχίστε χωρίς συνομιλία",
"Please_wait": "Παρακαλώ περιμένετε",
"Login_failed": "Η είσοδος στη συνομιλία απέτυχε",
"Sorry_we_cant_authentikate_": "Ο έλεγχος ταυτότητας απέτυχε με το διακομιστή συνομιλίας. Ίσως ο κωδικός πρόσβασης είναι λάθος;",
"Retry": "Πίσω",
"clear_history": "Εκκαθάριση ιστορικού",
"New_message_from": "Νέο όνομα από__name__",
"Should_we_notify_you_": "Θα θέλατε να σας ενημερώνεστε για νέα μηνύματα στο μέλλον;",
"Please_accept_": "Παρακαλώ κάντε κλικ στο κουμπί \"Να επιτρέπεται\" στο επάνω μέρος.",
"Hide_offline": "Κρύψε τις ανενεργές επαφές",
"Show_offline": "Εμφάνισε τις ανενεργές επαφές",
"About": "Σχετικά",
"dnd": "Μην ενοχλείτε",
"Mute": "Σίγαση",
"Unmute": "Με ήχο",
"Subscription": "Εγγραφή",
"both": "μαζί",
"Status": "Κατάσταση",
"online": "ενεργός",
"chat": "συνομιλία",
"away": "απών",
"xa": "απών για ώρα",
"offline": "ανενεργός",
"none": "κανείς",
"Unknown_instance_tag": "Άγνωστη ετικέτα παρουσίας.",
"Not_one_of_our_latest_keys": "Κανένα από τα τελευταία κλειδιά μας.",
"Received_an_unreadable_encrypted_message": "Παραλήφθηκε ένα μη κρυπτογραφημένο μήνυμα, αδύνατο να διαβαστεί.",
"Online": "Ενεργός",
"Chatty": "Ομιλητικός",
"Away": "Εκτός",
"Extended_away": "Απών για ώρα",
"Offline": "Εκτός πρόσβασης",
"Friendship_request": "Αίτημα επικοινωνίας",
"Confirm": "Επιβεβαιώνω",
"Dismiss": "Απορρίπτω",
"Remove": "Αφαιρώ",
"Online_help": "Διαδικτυακή βοήθεια",
"FN": "Πλήρες όνομα",
"N": "Όνομα",
"FAMILY": "Επίθετο",
"GIVEN": "Όνομα",
"NICKNAME": "Ψευδώνυμο",
"URL": "URL",
"ADR": "Διεύθυνση",
"STREET": "Διεύθυνση οδού",
"EXTADD": "Πλήρη διεύθυνση",
"LOCALITY": "Γειτονιά",
"REGION": "Περιοχή",
"PCODE": "Ταχυδρομικός Κώδικας",
"CTRY": "Χώρα",
"TEL": "Τηλέφωνο",
"NUMBER": "Αριθμός",
"EMAIL": "Ηλεκτρονική διεύθυνση",
"USERID": "ID χρήστη",
"ORG": "Οργανισμός",
"ORGNAME": "Όνομα",
"ORGUNIT": "Μονάδα",
"TITLE": "Τίτλος εργασίας",
"ROLE": "Ρόλος",
"BDAY": "Γενέθλια",
"DESC": "Περιγραφή",
"PHOTO": "Φωτογραφία",
"send_message": "Αποστολή μηνύματος",
"get_info": "Εμφάνιση πληροφοριών",
"Settings": "Ρυθμίσεις",
"Priority": "Προτεραιότητα",
"Save": "Αποθήκευση",
"User_settings": "Ρυθμίσεις χρήστη",
"A_fingerprint_": "Το αναγνωριστικό χρησιμοποιείτε για να επαληθεύσει αν το άτομο το οποίο μιλάτε είναι αυτός ή αυτή που δηλώνει.",
"is": "είναι",
"Login_options": "Επιλογές σύνδεσης",
"BOSH_url": "BOSH URL",
"Domain": "Τομέας",
"Resource": "Πόροι",
"On_login": "Κατά την είσοδο",
"Received_an_unencrypted_message": "Παραλαβή μη κρυπτογραφημένου μήνυματος",
"Sorry_your_buddy_doesnt_provide_any_information": "Λυπούμαστε, η επαφή σας δεν παρέχει καμία πληροφορία.",
"Info_about": "Πληροφορίες για",
"Authentication_aborted": "Ο έλεγχος ταυτότητας απορρίφθηκε",
"Authentication_request_received": "Αίτημα ελέγχου ταυτότητας παραλήφθηκε.",
"Log_in_without_chat": "Συνδεθείτε χωρίς συνομιλία",
"has_come_online": "έχει έρθει σε σύνδεση",
"Unknown_sender": "Άγνωστος αποστολέας",
"Please_allow_access_to_microphone_and_camera": "Παρακαλώ κάντε κλικ στο κουμπί \"Επιτρέπεται\" στο επάνω μέρος, για να επιτρέψετε την πρόσβαση στο μικρόφωνο και την κάμερα.",
"Incoming_call": "Εισερχόμενη κλήση",
"from": "από",
"Do_you_want_to_accept_the_call_from": "Θέλετε να δεχτείτε την κλήση από",
"Reject": "Απορρίπτω",
"Accept": "Αποδέχομαι",
"hang_up": "κλείνω το τηλέφωνο",
"snapshot": "στιγμιότυπο",
"mute_my_audio": "σίγαση του ήχου μου",
"pause_my_video": "παύση του βίντεο μου",
"fullscreen": "Πλήρης οθόνη",
"Info": "Πληροφορίες",
"Local_IP": "Τοπική IP",
"Remote_IP": "Απομακρυσμένη IP",
"Local_Fingerprint": "Τοπικό αναγνωριστικό",
"Remote_Fingerprint": "Απομακρυσμένο αναγνωριστικό",
"Video_call_not_possible": "Δεν είναι δυνατή η κλήση βίντεο. Η επαφή σας δεν υποστηρίζει κλήσεις βίντεο.",
"Start_video_call": "Έναρξη βιντεοκλήσης",
"Join_chat": "Συμμετοχή σε συνομιλία",
"Join": "Συμμετοχή",
"Room": "Δωμάτιο",
"Nickname": "Ψευδώνυμο",
"left_the_building": "__nickname__ έφυγε από το κτίριο",
"entered_the_room": "__nickname__ μπήκε στο δωμάτιο",
"is_now_known_as": "__oldNickname__ έγινε τώρα ως __newNickname__",
"This_room_is": "Αυτό το δωμάτιο είναι",
"muc_hidden": {
"keyword": null,
"description": null
"keyword": "κρυφό",
"description": "δεν μπορεί να βρεθεί μέσω αναζήτησης"
},
"muc_membersonly": {
"keyword": null,
"description": null
"keyword": "μέλη μόνο",
"description": "πρέπει να είστε στη λίστα μελών"
},
"muc_moderated": {
"keyword": null,
"description": null
"keyword": "έχει διαχειριστεί",
"description": "Μόνο άτομα με \"φωνή\" επιτρέπεται να στέλνουν μηνύματα"
},
"muc_nonanonymous": {
"keyword": null,
"description": null
"keyword": "μη ανώνυμους",
"description": "Το jabber id σας εκτίθεται σε όλους τους άλλους συμμετέχοντες"
},
"muc_open": {
"keyword": null,
"description": null
"keyword": "ανοιχτό",
"description": "ο καθένας μπορεί να συμμετάσχει"
},
"muc_passwordprotected": {
"keyword": null,
"description": null
"keyword": "προστασία με κωδικό",
"description": "θα πρέπει να δώσετε τον σωστό κωδικό πρόσβασης"
},
"muc_persistent": {
"keyword": null,
"description": null
"keyword": "συνεχής",
"description": "δεν θα καταστραφεί εάν φύγει ο τελευταίος συμμετέχων"
},
"muc_public": {
"keyword": null,
"description": null
"keyword": "δημόσια",
"description": "μπορεί να βρεθεί μέσω αναζήτησης"
},
"muc_semianonymous": {
"keyword": null,
"description": null
"keyword": "ημιανώνυμος",
"description": "Το jabber id σας είναι εκτεθειμένο μόνο σε διαχειριστές δωματίων"
},
"muc_temporary": {
"keyword": null,
"description": null
"keyword": "προσωρινά",
"description": "θα καταστραφεί εάν φύγει ο τελευταίος"
},
"muc_unmoderated": {
"keyword": null,
"description": null
"keyword": "δεν έχει διαχειριστεί",
"description": "όλοι επιτρέπεται να στέλνουν μηνύματα"
},
"muc_unsecured": {
"keyword": null,
"description": null
"keyword": "Μη ασφαλής",
"description": "Δεν χρειάζεται να εισάγετε κωδικό πρόσβασης για να μπείτε"
},
"Continue": null,
"Server": null,
"Rooms_are_loaded": null,
"Could_load_only": null,
"muc_explanation": null,
"You_already_joined_this_room": null,
"This_room_will_be_closed": null,
"Room_not_found_": null,
"Loading_room_information": null,
"Destroy": null,
"Leave": null,
"changed_subject_to": null,
"muc_removed_kicked": null,
"muc_removed_info_kicked": null,
"muc_removed_banned": null,
"muc_removed_info_banned": null,
"muc_removed_affiliation": null,
"muc_removed_info_affiliation": null,
"muc_removed_membersonly": null,
"muc_removed_info_membersonly": null,
"muc_removed_shutdown": null,
"Reason": null,
"message_not_send": null,
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
"You_are_not_on_the_member_list": null,
"You_are_banned_from_this_room": null,
"Your_desired_nickname_": null,
"The_maximum_number_": null,
"This_room_is_locked_": null,
"You_are_not_allowed_to_create_": null,
"Alert": null,
"Call_started": null,
"Call_terminated": null,
"Carbon_copy": null,
"Enable": null,
"jingle_reason_busy": null,
"jingle_reason_decline": null,
"jingle_reason_success": null,
"Media_failure": null,
"No_local_audio_device": null,
"No_local_video_device": null,
"Ok": null,
"PermissionDeniedError": null,
"Use_local_audio_device": null,
"Use_local_video_device": null,
"is_": null,
"You_received_a_message_from_an_unknown_sender_": null,
"Your_roster_is_empty_add_": null,
"onsmp_explanation_question": null,
"onsmp_explanation_secret": null,
"from_sender": null,
"Verified_private_conversation_started": null,
"Unverified_private_conversation_started": null,
"Bookmark": null,
"Auto-join": null,
"Edit_bookmark": null,
"Room_logging_is_disabled": null,
"Room_is_now_non-anoymous": null,
"Room_is_now_semi-anonymous": null,
"Do_you_want_to_change_the_default_room_configuration": null,
"Default": null,
"Change": null,
"Send_file": null,
"setting-explanation-carbon": null,
"setting-explanation-login": null,
"setting-explanation-priority": null,
"setting-explanation-xmpp": null,
"_is_composing": null,
"_are_composing": null,
"Chat_state_notifications": null,
"setting-explanation-chat-state": null,
"Share_screen": null,
"Incoming_stream": null,
"Stream_started": null,
"HTTPS_REQUIRED": null,
"EXTENSION_UNAVAILABLE": null,
"UNKNOWN_ERROR": null,
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"Continue": "Συνέχισε",
"Server": "Διακομιστής",
"Rooms_are_loaded": "Το δωμάτιο φορτώνεται",
"Could_load_only": "Μπορεί να φορτώσει μόνο __count__ δωμάτια για αυτόματη συμπλήρωση",
"muc_explanation": "Παρακαλώ εισαγάγετε το όνομα δωματίου και προαιρετικά ένα ψευδώνυμο και κωδικό πρόσβασης για να συμμετάσχετε σε μια συνομιλία",
"You_already_joined_this_room": "Έχετε ήδη ενταχθεί σε αυτό το δωμάτιο",
"This_room_will_be_closed": "Αυτό το δωμάτιο θα κλείσει",
"Room_not_found_": "Θα δημιουργηθεί ένα νέο δωμάτιο",
"Loading_room_information": "Φόρτωση πληροφοριών δωματίου",
"Destroy": "Καταστρέφω",
"Leave": "Φεύγω",
"changed_subject_to": "Ο __nickname__ άλλαξε το δωμάτιο σε \"__subject__\"",
"muc_removed_kicked": "Έχετε διωχθεί από το δωμάτιο",
"muc_removed_info_kicked": "__nickname__ έχει διωχθεί από το δωμάτιο",
"muc_removed_banned": "Έχετε αποκλειστεί από το δωμάτιο",
"muc_removed_info_banned": "__nickname__ έχει αποκλειστεί από το δωμάτιο",
"muc_removed_affiliation": "Έχετε απομακρυνθεί από το δωμάτιο, λόγω αλλαγής συνεργασίας",
"muc_removed_info_affiliation": "__nickname__ έχει αφαιρεθεί από το δωμάτιο, λόγω αλλαγής της συνεργασίας",
"muc_removed_membersonly": "Έχετε αφαιρεθεί από το δωμάτιο, επειδή το δωμάτιο έχει αλλάξει μόνο σε μέλη και δεν είστε μέλος",
"muc_removed_info_membersonly": "__nickname__ έχει αφαιρεθεί από το δωμάτιο, επειδή το δωμάτιο έχει αλλάξει σε μέλη μόνο και δεν είναι μέλος",
"muc_removed_shutdown": "Έχετε αφαιρεθεί από το δωμάτιο, επειδή η υπηρεσία MUC τερματίζεται",
"Reason": "Λόγος",
"message_not_send": "Το μήνυμά σας δεν στάλθηκε λόγω σφάλματος",
"message_not_send_item-not-found": "Το μήνυμά σας δεν στάλθηκε επειδή αυτό το δωμάτιο δεν υπάρχει",
"message_not_send_forbidden": "Το μήνυμά σας δεν στάλθηκε επειδή δεν έχετε φωνή σε αυτό το δωμάτιο",
"message_not_send_not-acceptable": "Το μήνυμά σας δεν στάλθηκε επειδή δεν είστε κάτοχος αυτού του δωματίου",
"message_not_send_resource-unavailable": "Το μήνυμά σας δεν στάλθηκε επειδή ο συνομιλητής σας δεν είναι διαθέσιμος ή συνδεδεμένος",
"message_not_send_remote-server-not-found": "Το μήνυμά σας δεν στάλθηκε επειδή απέτυχε η σύνδεση διακομιστή προς διακομιστή",
"This_room_has_been_closed": "Αυτό το δωμάτιο έχει κλείσει",
"Room_logging_is_enabled": "Η καταγραφή για αυτό το δωμάτιο είναι ενεργοποιημένη",
"A_password_is_required": "Κωδικός είναι απαραίτητος",
"You_are_not_on_the_member_list": "Δεν είστε στον κατάλογο μελών",
"You_are_banned_from_this_room": "Είστε αποκλεισμένοι από αυτό το δωμάτιο",
"Your_desired_nickname_": "Το ψευδώνυμό σας που θέλετε είναι ήδη σε χρήση. Επιλέξτε άλλο",
"The_maximum_number_": "Σε αυτό το δωμάτιο έφτασε ο μέγιστος αριθμός χρηστών",
"This_room_is_locked_": "Αυτό το δωμάτιο είναι κλειδωμένο",
"You_are_not_allowed_to_create_": "Δεν επιτρέπεται να δημιουργήσετε ένα δωμάτιο",
"Alert": "Συναγερμός",
"Call_started": "Η κλήση ξεκίνησε",
"Call_terminated": "Η κλήση τερματίστηκε",
"Carbon_copy": "Αντίγραφο",
"Enable": "Ενεργοποίηση",
"jingle_reason_busy": "απασχολημένος",
"jingle_reason_decline": "αρνούμαι",
"jingle_reason_success": "απάντησε",
"Media_failure": "Αποτυχία μέσων",
"No_local_audio_device": "Δεν υπάρχει τοπική συσκευή ήχου.",
"No_local_video_device": "Δεν υπάρχει τοπική συσκευή βίντεο.",
"Ok": "ok",
"PermissionDeniedError": "Εσείς ή το πρόγραμμα αποκλειστήκατε από τα δικαιώματα των μέσων.",
"Use_local_audio_device": "Χρησιμοποιήστε την τοπική συσκευή ήχου.",
"Use_local_video_device": "Χρησιμοποιήστε την τοπική συσκευή βίντεο.",
"is_": "είναι __status__",
"You_received_a_message_from_an_unknown_sender_": "Λάβατε ένα μήνυμα από έναν άγνωστο αποστολέα (__sender__). Θέλετε να τα εμφανίσετε;",
"Your_roster_is_empty_add_": "Το ρόστερ σας είναι άδειο, προσθέστε <a>new contact</a>",
"onsmp_explanation_question": "Η επαφή σας προσπαθεί να προσδιορίσει αν μιλάει πραγματικά μαζί σας. Για να επαληθεύσετε την επαφή σας, εισαγάγετε την απάντηση και πατήστε Απάντηση.",
"onsmp_explanation_secret": "Η επαφή σας προσπαθεί να προσδιορίσει αν μιλάει πραγματικά μαζί σας. Για να επαληθεύσετε την επαφή σας, εισαγάγετε το μυστικό.",
"from_sender": "από __sender__",
"Verified_private_conversation_started": "Ξεκίνησε επαληθευμένη ιδιωτική συνομιλία.",
"Unverified_private_conversation_started": "Ξεκίνησε μη επαληθευμένη ιδιωτική συνομιλία.",
"Bookmark": "Σελιδοδείκτης",
"Auto-join": "Αυτόματη σύνδεση",
"Edit_bookmark": "Επεξεργασία σελιδοδείκτη",
"Room_logging_is_disabled": "Η καταγραφή δωματίου απενεργοποιήθηκε",
"Room_is_now_non-anoymous": "Το δωμάτιο είναι πλέον μη ανώνυμο",
"Room_is_now_semi-anonymous": "Το δωμάτιο είναι πλέον ημι-ανώνυμο",
"Do_you_want_to_change_the_default_room_configuration": "Θέλετε να αλλάξετε την προεπιλεγμένη διαμόρφωση δωματίου;",
"Default": "Προεπιλογή",
"Change": "Αλλαγή",
"Send_file": "Αποστολή αρχείου",
"setting-explanation-carbon": "Με ενεργοποιημένο αντίγραφο του XMPP διακομιστή θα στείλει ένα αντίγραφο κάθε εισερχόμενου μηνύματος για εσάς στον πελάτη, ακόμη και αν δεν του απευθύνεστε.",
"setting-explanation-login": "Εάν αυτή η επιλογή είναι ενεργοποιημένη, η συνομιλία θα ξεκινήσει κατά τη σύνδεση.",
"setting-explanation-priority": "Αν έχετε συνδεθεί πολλές φορές με τον ίδιο λογαριασμό, ο διακομιστής XMPP θα παραδώσει μηνύματα στον πελάτη με την υψηλότερη προτεραιότητα.",
"setting-explanation-xmpp": "Αυτές οι επιλογές χρησιμοποιούνται για τη σύνδεση με τον XMPP διακομιστή.",
"_is_composing": "αυτός πληκτρολογεί...",
"_are_composing": "αυτοί πληκτρολογούν...",
"Chat_state_notifications": "Ειδοποιήσεις κατάστασης συνομιλίας",
"setting-explanation-chat-state": "Θέλετε να στείλετε και να λάβετε ειδοποιήσεις κατάστασης συνομιλίας, όπως όταν κάποιος ξεκινά ή σταματά να συνθέτει ένα μήνυμα;",
"Share_screen": "Μοίρασε την οθόνη",
"Incoming_stream": "Εισερχόμενη ροή",
"Stream_started": "Η ροή ξεκίνησε",
"HTTPS_REQUIRED": "Αυτή η ενέργεια απαιτεί κρυπτογραφημένη σύνδεση.",
"EXTENSION_UNAVAILABLE": "Χρειάζεστε μια επέκταση προγράμματος περιήγησης / πρόσθετο.",
"UNKNOWN_ERROR": "Παρουσιάστηκε ένα άγνωστο σφάλμα.",
"Install_extension": "Παρακαλώ εγκαταστήστε την επέκταση για να χρησιμοποιήσετε την κοινή χρήση οθόνης: ",
"Connection_accepted": "Η σύνδεση έγινε αποδεκτή",
"Stream_terminated": "Η ροή τερμάτισε",
"Close_all": "Κλείσε τα όλα",
"Notification": "Ειδοποίηση",
"Unreadable_OTR_message": "Παραλείφθηκε μη αναγνώσιμο μήνυμα OTR",
"Load_older_messages": "Φορτώστε παλαιότερα μηνύματα",
"Message_history": "Ιστορικό μηνυμάτων",
"setting-mam-enable": "Εάν ενεργοποιήσετε, μπορείτε να ανακτήσετε αποθηκευμένα μηνύματα από το διακομιστή.",
"File_too_large": "Το αρχείο είναι πολύ μεγάλο",
"No_proper_file_transfer_method_available": "Δεν υπάρχει διαθέσιμη κατάλληλη μέθοδος μεταφοράς αρχείων",
"You_have_to_go_online_": "Θα πρέπει να συνδεθείτε στο διαδίκτυο για να εκτελέσετε αυτήν τη λειτουργία."
}
}
+14 -9
Ver Arquivo
@@ -95,7 +95,7 @@
"Remove": "Remove",
"Online_help": "Online help",
"FN": "Full name",
"N": " ",
"N": "Name",
"FAMILY": "Family name",
"GIVEN": "Given name",
"NICKNAME": "Nickname",
@@ -110,7 +110,7 @@
"TEL": "Telephone",
"NUMBER": "Number",
"EMAIL": "Email",
"USERID": " ",
"USERID": "User ID",
"ORG": "Organization",
"ORGNAME": "Name",
"ORGUNIT": "Unit",
@@ -118,7 +118,7 @@
"ROLE": "Role",
"BDAY": "Birthday",
"DESC": "Description",
"PHOTO": " ",
"PHOTO": "Photo",
"send_message": "Send message",
"get_info": "Show information",
"Settings": "Settings",
@@ -236,10 +236,12 @@
"muc_removed_info_membersonly": "__nickname__ has been removed from the room, because the room has been changed to members-only and you are no member",
"muc_removed_shutdown": "You have been removed from the room, because the MUC service is being shut down",
"Reason": "Reason",
"message_not_send": "Your message was not send because of an error",
"message_not_send_item-not-found": "Your message was not send because this room does not exist",
"message_not_send_forbidden": "Your message was not send because you have no voice in this room",
"message_not_send_not-acceptable": "Your message was not send because you are no occupant of this room",
"message_not_send": "Your message was not sent because of an error",
"message_not_send_item-not-found": "Your message was not sent because this room does not exist",
"message_not_send_forbidden": "Your message was not sent because you have no voice in this room",
"message_not_send_not-acceptable": "Your message was not sent because you are no occupant of this room",
"message_not_send_resource-unavailable": "Your message was not sent because your interlocutor isn't available or connected",
"message_not_send_remote-server-not-found": "Your message was not sent because the server-to-server connection failed",
"This_room_has_been_closed": "This room has been closed",
"Room_logging_is_enabled": "Room logging is enabled",
"A_password_is_required": "A password is required",
@@ -267,7 +269,7 @@
"is_": "is __status__",
"You_received_a_message_from_an_unknown_sender_": "You received a message from an unknown sender (__sender__). Do you want to display them?",
"Your_roster_is_empty_add_": "Your roster is empty, add a <a>new contact</a>",
"onsmp_explanation_question": "Your contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the answer and click Answer.",
"onsmp_explanation_question": "Your contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the answer and click Answer.",
"onsmp_explanation_secret": "Your contact is attempting to determine if they are really talking to you. To authenticate to your contact, enter the secret.",
"from_sender": "from __sender__",
"Verified_private_conversation_started": "Verified private conversation started.",
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": "Unreadable OTR message omitted",
"Load_older_messages": "Load older messages",
"Message_history": "Message history",
"setting-mam-enable": "If enabled you are able to retrieve stored message from the server."
"setting-mam-enable": "If enabled you are able to retrieve stored messages from the server.",
"File_too_large": "File too large",
"No_proper_file_transfer_method_available": "No proper file transfer method available",
"You_have_to_go_online_": "You have to go online to execute this operation."
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": "Tu mensaje no fue enviado debido a que esta sala no existe",
"message_not_send_forbidden": "Tu mensaje no fue enviado debido a que no tienes voz en esta sala",
"message_not_send_not-acceptable": "Tu mensaje no fue enviado debido a que no eres un ocupante de esta sala ",
"message_not_send_resource-unavailable": "Tu mensaje no fue enviado porque tu interlocutor no está disponible o conectado",
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": "Esta sala ha sido cerrada",
"Room_logging_is_enabled": "Log de sala está habilitado",
"A_password_is_required": "Se requiere una contraseña",
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": "Votre message n'a pu être envoyé parce que ce salon n'existe pas",
"message_not_send_forbidden": "Votre message n'a pas été envoyé parce que vous n'avez pas le droit de parler dans ce salon",
"message_not_send_not-acceptable": "Votre message n'a pas été envoyé car il n'y a personne dans ce salon",
"message_not_send_resource-unavailable": "Votre message n'a pas été envoyé parce que votre interlocuteur n'est pas connecté ou disponible",
"message_not_send_remote-server-not-found": "Votre message n'a pas été envoyé car la connexion entre serveurs a échouée",
"This_room_has_been_closed": "Ce salon a été fermé",
"Room_logging_is_enabled": "L'historique du salon est conservé",
"A_password_is_required": "Un mot de passe est requis",
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": "Message OTR illisible omis",
"Load_older_messages": "Charger des messages plus anciens",
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": "Fichier trop grand",
"No_proper_file_transfer_method_available": "Pas de méthode de transfert de fichier disponible.",
"You_have_to_go_online_": "Vous devez être connecté pour exécuter cette opération"
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+1
Ver Arquivo
@@ -240,6 +240,7 @@
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send_resource-unavailable": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
+67 -62
Ver Arquivo
@@ -12,7 +12,7 @@
"your_message_wasnt_send_please_end_your_private_conversation": "Je bericht is niet verzonden. Beëindig prive gesprek.",
"unencrypted_message_received": "Ongecodeerde bericht ontvangen",
"not_available": "Niet beschikbaar",
"no_connection": "Geen Niet verbinding!",
"no_connection": "Geen verbinding!",
"relogin": "opnieuw inloggen",
"trying_to_start_private_conversation": "Proberen om privé-gesprek te beginnen!",
"Verified": "Geverifieerd",
@@ -33,9 +33,9 @@
"Buddy_fingerprint": "Contact vingerafdruk",
"Close": "Sluiten",
"Compared": "Vergeleken",
"To_authenticate_using_a_question_": "Gebruik een vraag om te verificeren, neem een antwoord alleen bekend bij u en uw contact.",
"To_authenticate_using_a_question_": "Gebruik een vraag om te verificeeren, neem een antwoord alleen bekend bij Jou en je contact.",
"Ask": "Vraag",
"To_authenticate_pick_a_secret_": "Voor verificatie, kies een geheim alleen bekend is bij u en uw contact.",
"To_authenticate_pick_a_secret_": "Voor verificatie, kies een geheim alleen bekend is bij jou en je contact.",
"Compare": "Vergelijk",
"Fingerprints": "Vingerafdrukken",
"Authentication": "Verificatie",
@@ -45,7 +45,7 @@
"delete_buddy": "contact verwijderen",
"Login": "Login",
"Username": "Gebruikersnaam",
"Password": "Paswoord",
"Password": "Wachtwoord",
"Cancel": "Annuleer",
"Connect": "Verbind",
"Type_in_the_full_username_": "Vul de volledige gebruikersnaam en een optionele alias in.",
@@ -55,8 +55,8 @@
"You_have_a_request_from": "Je hebt een uitnodiging van",
"Deny": "Ontken",
"Approve": "Toestaan",
"Remove_buddy": "contact verwijderen",
"You_are_about_to_remove_": null,
"Remove_buddy": "Contact verwijderen",
"You_are_about_to_remove_": "Je staat op het punt om __bid_name__ (<b>__bid_jid__</b>) van je contactlijst te verwijderen. Alle chats worden afgesloten.",
"Continue_without_chat": "Doorgaan zonder chat",
"Please_wait": "Even geduld",
"Login_failed": "Chat login mislukt",
@@ -77,7 +77,7 @@
"Status": "Status",
"online": "online",
"chat": "chat",
"away": "Afwezig",
"away": "afwezig",
"xa": "langer afwezig",
"offline": "offline",
"none": "geen",
@@ -95,13 +95,13 @@
"Remove": "Verwijder",
"Online_help": "Online hulp",
"FN": "Volledige naam",
"N": null,
"N": " N ",
"FAMILY": "Familienaam",
"GIVEN": "Voornaam",
"NICKNAME": "Bijnaam",
"URL": "URL",
"ADR": "Adres",
"STREET": "Adres",
"STREET": "Straatnaam",
"EXTADD": "Uitgebreid adres",
"LOCALITY": "Plaats",
"REGION": "Regio",
@@ -110,7 +110,7 @@
"TEL": "Telefoon",
"NUMBER": "Nummer",
"EMAIL": "E-mail",
"USERID": null,
"USERID": " USERID ",
"ORG": "Organisatie",
"ORGNAME": "Naam",
"ORGUNIT": "Afdeling",
@@ -118,7 +118,7 @@
"ROLE": "Functie",
"BDAY": "Verjaardag",
"DESC": "Beschrijving",
"PHOTO": null,
"PHOTO": " FOTO ",
"send_message": "Zend bericht",
"get_info": "Gegevens weergeven",
"Settings": "Instellingen",
@@ -156,7 +156,7 @@
"Remote_IP": "Extern IP",
"Local_Fingerprint": "Lokale vingerafdruk",
"Remote_Fingerprint": "Afstand vingerafdruk",
"Video_call_not_possible": null,
"Video_call_not_possible": "Video-gesprek is niet mogelijk. Je contact heeft geen ondersteuning voor video-oproepen.",
"Start_video_call": "Video gesprek starten",
"Join_chat": "Neem deel aan chat",
"Join": "Meedoen",
@@ -172,47 +172,47 @@
},
"muc_membersonly": {
"keyword": "Alleen leden",
"description": null
"description": "Je dient lid te zijn van deze ledenlijst"
},
"muc_moderated": {
"keyword": null,
"description": null
"keyword": "gemodereerd",
"description": "Alleen personen met \"spraak\" zijn toegestaan om berichten te zenden"
},
"muc_nonanonymous": {
"keyword": null,
"description": null
"keyword": "niet-anoniem",
"description": "Je jabber ID is verlopen voor alle andere deelnemers"
},
"muc_open": {
"keyword": "open",
"description": null
"description": "iedereen kan deelnemen"
},
"muc_passwordprotected": {
"keyword": "paswoord beschermd",
"description": null
"keyword": "beschermd wachtwoord",
"description": "je dient je correcte wachtwoord in te geven"
},
"muc_persistent": {
"keyword": null,
"description": null
"keyword": "aanhoudend",
"description": "zal niet worden vernietigd nadat de laatste deelnemer is vertrokken"
},
"muc_public": {
"keyword": "publiek",
"description": null
"description": "kan gevonden worden door te zoeken"
},
"muc_semianonymous": {
"keyword": null,
"description": "Je Jabber id is alleen vrijgegeven voor kamer beheerders"
"keyword": "semi-anoniem",
"description": "je Jabber id is alleen vrijgegeven voor kamer beheerders"
},
"muc_temporary": {
"keyword": "tijdelijk",
"description": null
"description": "zal worden vernietigd nadat de laatste deelnemer is vertrokken"
},
"muc_unmoderated": {
"keyword": null,
"description": null
"keyword": "ongemodereerd",
"description": "verzenden van berichten is toegestaan voor iedereen"
},
"muc_unsecured": {
"keyword": "niet beveiligd",
"description": null
"description": "je hoeft geen wachtwoord in te voeren"
},
"Continue": "Doorgaan",
"Server": "Server",
@@ -232,24 +232,26 @@
"muc_removed_info_banned": "__nickname__is uit de kamer gezet",
"muc_removed_affiliation": "Je bent verwijderd van de kamer door een verwantschap wijziging",
"muc_removed_info_affiliation": "__nickname__is verwijderd van de kamer door een verwantschap wijziging",
"muc_removed_membersonly": null,
"muc_removed_info_membersonly": "__nickname__is verwijderd van de kamer, door de wijziging naar alleen voor leden. Je hebt geen lidmaatschap.",
"muc_removed_shutdown": null,
"muc_removed_membersonly": "Je bent verwijderd van de kamer, omdat de kamer alleen voor leden is. Je bent geen lid.",
"muc_removed_info_membersonly": "__nickname__is verwijderd van de kamer, door de wijziging naar alleen voor leden. Je bent geen lid.",
"muc_removed_shutdown": "Je bent verwijderd van de kamer, omdat de MUC dienst is uitgeschakeld",
"Reason": "Reden",
"message_not_send": null,
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send": "Je bericht was niet verzonden door een foutmelding",
"message_not_send_item-not-found": "Je bericht was niet verzonden omdat de kamer niet bestaat",
"message_not_send_forbidden": "Je bericht was niet verzonden omdat er geen spraak is in deze kamer",
"message_not_send_not-acceptable": "Je bericht is niet verzonden omdat je geen deelnemer bent van deze kamer",
"message_not_send_resource-unavailable": "Je bericht was niet verzonden omdat je gesprekspartner niet verbonden is",
"message_not_send_remote-server-not-found": "Je bericht was niet verzonden omdat de server tot server verbinding faalde",
"This_room_has_been_closed": "Deze kamer is gesloten",
"Room_logging_is_enabled": "Kamerlog is ingeschakeld",
"A_password_is_required": "Een paswoord is vereist",
"A_password_is_required": "Een wachtwoord is vereist",
"You_are_not_on_the_member_list": "Je staat niet op de ledenlijst",
"You_are_banned_from_this_room": "Je bent uit deze kamer gezet",
"Your_desired_nickname_": null,
"The_maximum_number_": null,
"Your_desired_nickname_": "Je favoriete bijnaam is al in gebruik. Aub kies een andere",
"The_maximum_number_": "Het maximum aantal kamer gebruikers is bereikt",
"This_room_is_locked_": "Deze kamer is afgesloten",
"You_are_not_allowed_to_create_": null,
"Alert": null,
"You_are_not_allowed_to_create_": "Je hebt geen rechten om een kamer aan te maken",
"Alert": "alarm",
"Call_started": "Gesprek gestart",
"Call_terminated": "Gesprek beëindigd",
"Carbon_copy": "Carbon kopie",
@@ -257,53 +259,56 @@
"jingle_reason_busy": "bezet",
"jingle_reason_decline": "afwijzen",
"jingle_reason_success": "opgehangen",
"Media_failure": null,
"Media_failure": "Media storing",
"No_local_audio_device": "Lokaal audioapparaat niet aanwezig.",
"No_local_video_device": "Lokaal videoapparaat niet aanwezig.",
"Ok": "Ok",
"PermissionDeniedError": null,
"PermissionDeniedError": "De media toestemming is geweigerd voor jou of je browser",
"Use_local_audio_device": "Lokaal audioapparaat gebruiken.",
"Use_local_video_device": "Lokaal videoapparaat gebruiken.",
"is_": "is __status__",
"You_received_a_message_from_an_unknown_sender_": "U ontvangt een bericht van een onbekende afzender (__sender__). Wilt u om het weergeven?",
"Your_roster_is_empty_add_": null,
"Your_roster_is_empty_add_": "Jou rooster is leeg, voeg een <a>nieuw contact</a> toe",
"onsmp_explanation_question": "Je contact probeert te bepalen of ze echt met jou praten. Voer om te verifiëren naar uw contact het antwoord in.",
"onsmp_explanation_secret": "U contact probeert te bepalen of ze echt met jou praten. Voer om te verifiëren naar uw contact het geheim in.",
"onsmp_explanation_secret": "Je contact probeert te bepalen of ze echt met jou praten. Voer om te verifiëren naar jou contact het geheim in.",
"from_sender": "van__sender__",
"Verified_private_conversation_started": "Privé-gesprek geverifieerd gestart.",
"Unverified_private_conversation_started": "Privé-gesprek ongeverifieerd gestart.",
"Bookmark": "Favorieten",
"Auto-join": null,
"Auto-join": "Automatisch deelnemen",
"Edit_bookmark": "Favorieten bewerken",
"Room_logging_is_disabled": "Kamerlog is uitgeschakeld",
"Room_is_now_non-anoymous": null,
"Room_is_now_semi-anonymous": null,
"Do_you_want_to_change_the_default_room_configuration": null,
"Room_is_now_non-anoymous": "Kamer is nu niet-anoniem",
"Room_is_now_semi-anonymous": "Kamer is nu semi-anoniem",
"Do_you_want_to_change_the_default_room_configuration": "Wil je de standaard kamer instellingen wijzigen?",
"Default": "Standaard",
"Change": null,
"Change": "Wijzigen",
"Send_file": "Bestand zenden",
"setting-explanation-carbon": "Met ingeschakeld carbon kopie zal de XMPP server een kopie van elk inkomend bericht doorsturen naar deze cliënt, zelfs als het niet aan haar is gericht.",
"setting-explanation-carbon": "Met carbon kopie ingeschakeld zal de XMPP server een kopie van elk inkomend bericht doorsturen naar deze client, zelfs als het niet aan haar is gericht.",
"setting-explanation-login": "Wanneer ingeschakeld zal de chat starten bij het inloggen.",
"setting-explanation-priority": "Je XMPP dienst zal een prioriteitsbericht verzenden wanneer je meerdere keren ingelogd bent met hetzelfde account.",
"setting-explanation-xmpp": null,
"_is_composing": null,
"_are_composing": null,
"Chat_state_notifications": null,
"setting-explanation-chat-state": null,
"setting-explanation-xmpp": "Deze opties worden gebruikt om met de XMPP server te verbinden.",
"_is_composing": " is aan het schrijven...",
"_are_composing": " zijn aan het schrijven...",
"Chat_state_notifications": "Chat status notificatie",
"setting-explanation-chat-state": "Wil je zend en ontvangst notificaties van iemand die start of stopt met het maken van een bericht?",
"Share_screen": "Scherm delen",
"Incoming_stream": "Stream inkomend",
"Stream_started": "Stream gestart",
"HTTPS_REQUIRED": null,
"HTTPS_REQUIRED": "Deze actie vereist een versleutelde verbinding.",
"EXTENSION_UNAVAILABLE": "Je hebt een browser extensie/addon nodig.",
"UNKNOWN_ERROR": null,
"UNKNOWN_ERROR": "Een onbekende foutmelding vond plaats.",
"Install_extension": "Installeer extensie om scherm delen te gebruiken: ",
"Connection_accepted": null,
"Connection_accepted": "Verbinding geaccepteerd",
"Stream_terminated": "Stream beëindigd",
"Close_all": "Alle sluiten",
"Notification": "Notificatie",
"Unreadable_OTR_message": null,
"Unreadable_OTR_message": "Onleesbaar OTR bericht is weggelaten",
"Load_older_messages": "Oudere berichten laden",
"Message_history": null,
"setting-mam-enable": null
"Message_history": "Berichten geschiedenis",
"setting-mam-enable": "Wanneer ingeschakeld ontvang je opgeslagen berichten van de server.",
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": "Je dient online te gaan om deze operatie uit te voeren"
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": "Twoja wiadomość nie została wysłana ponieważ ten pokój nie istnieje",
"message_not_send_forbidden": "Twoja wiadomość nie została wysłana ponieważ nie masz głosu w tym pokoju",
"message_not_send_not-acceptable": "Twoja wiadomość nie została wysłana ponieważ nie jesteś właścicielem tego pokoju",
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": "Ten pokój został zamknięty",
"Room_logging_is_enabled": "Logowanie do pokoju jest włączone",
"A_password_is_required": "Hasło jest wymagane",
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": "Sua mensagem não foi enviada por que essa sala nao existe mais",
"message_not_send_forbidden": "Sua mensagem não foi enviada por que não tem 'voz' para essa sala",
"message_not_send_not-acceptable": "Sua mensagem não foi enviada por que você nao é ocupante desta sala",
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": "Essa sala foi fechada",
"Room_logging_is_enabled": "O Logging esta habilitado",
"A_password_is_required": "Senha é obrigatória",
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+237 -232
Ver Arquivo
@@ -1,6 +1,6 @@
{
"translation": {
"Logging_in": "Autentificare...",
"Logging_in": "Se autentifică...",
"your_connection_is_unencrypted": "Conexiunea nu este criptată.",
"your_connection_is_encrypted": "Conexiunea este criptată.",
"your_buddy_closed_the_private_connection": "Interlocutorul a închis conexiunea privată.",
@@ -9,31 +9,31 @@
"your_buddy_is_verificated": "Interlocutorul este verificat.",
"you_have_only_a_subscription_in_one_way": "Subscrierea este într-o singură direcție.",
"authentication_query_sent": "Cererea de autentificare a fost trimisă.",
"your_message_wasnt_send_please_end_your_private_conversation": "Mesajul nu a fost trimis. Te rog închide conversația în privat.",
"unencrypted_message_received": "A fost primit un mesaj necriptat",
"your_message_wasnt_send_please_end_your_private_conversation": "Mesajul nu a fost trimis. Vă rugăm să închideţi conversația în privat.",
"unencrypted_message_received": "S-a primit un mesaj necriptat",
"not_available": "Indisponibil",
"no_connection": "Fără conexiune!",
"no_connection": "Nici o conexiune!",
"relogin": "Re-autentificare",
"trying_to_start_private_conversation": "Se încearcă deschiderea conversației în privat!",
"Verified": "Verificat",
"Unverified": "Neverificat",
"private_conversation_aborted": "Conversație în privat eșuată!",
"your_buddy_closed_the_private_conversation_you_should_do_the_same": "Interlocutorul a închis conversația în privat! Ar trebui să faci la fel și tu.",
"private_conversation_aborted": "Conversație în privat terminată!",
"your_buddy_closed_the_private_conversation_you_should_do_the_same": "Interlocutorul a închis conversația în privat! Vă rugăm să faci la fel şi dumneavoastră.",
"conversation_is_now_verified": "Conversația este acum verificată.",
"authentication_failed": "Autentificarea a eşuat.",
"Creating_your_private_key_": "Se crează cheia privată; ar putea să dureze ceva timp.",
"Authenticating_a_buddy_helps_": "Autentificând un contact ne asigură că persoana cu care vorbești este într-adevăr cine pretinde că este.",
"How_do_you_want_to_authenticate_your_buddy": "Cum vrei să te autentifici __bid_name__ (<b>__bid_jid__</b>)",
"Select_method": "Alege metoda...",
"How_do_you_want_to_authenticate_your_buddy": "Cum doriţi să autentifici __bid_name__ (<b>__bid_jid__</b>)?",
"Select_method": "Alegeţi metoda...",
"Manual": "Manual",
"Question": "Întrebare",
"Secret": "Secret",
"To_verify_the_fingerprint_": "Pentru a verifica amprenta, contactează interlocutorul printr-un canal de încredere, cum ar fi telefonul.",
"Your_fingerprint": "Amprenta ta",
"Your_fingerprint": "Amprenta dumneavoastră",
"Buddy_fingerprint": "Amprenta interlocutorului",
"Close": "Închide",
"Compared": "Prin comparație",
"To_authenticate_using_a_question_": "Pentru autentificarea folosind o întrebare, alege o întrebare cu un răspuns cunoscut doar de tine și de interlocutor.",
"To_authenticate_using_a_question_": "Pentru autentificarea prin întrebare, alege o întrebare cu un răspuns cunoscut doar de tine și de interlocutor.",
"Ask": "Întreabă",
"To_authenticate_pick_a_secret_": "Pentru autentificare, alege un secret cunoscut doar de tine și de interlocutor.",
"Compare": "Compară",
@@ -44,11 +44,11 @@
"rename_buddy": "redenumește contact",
"delete_buddy": "șterge contact",
"Login": "Logare",
"Username": "Utilizator",
"Username": "Nume de utilizator",
"Password": "Parolă",
"Cancel": "Renunță",
"Connect": "Conectare",
"Type_in_the_full_username_": "Scrie numele complet al utilizatorului și un alias opțional.",
"Type_in_the_full_username_": "Scrieţi numele complet al utilizatorului și un alias opțional.",
"Alias": "Alias",
"Add": "Adaugă",
"Subscription_request": "Cerere de subscriere",
@@ -56,254 +56,259 @@
"Deny": "Refuză",
"Approve": "Aprobă",
"Remove_buddy": "Șterge contact",
"You_are_about_to_remove_": "Urmează să ștergi __bid_name__ (<b>__bid_jid__</b>) din lista de contacte. Toate chat-urile asociate vor fi închise.",
"Continue_without_chat": "Continuă fără chat",
"Please_wait": "Te rog așteaptă",
"You_are_about_to_remove_": "Urmează să ștergi __bid_name__ (<b>__bid_jid__</b>) din lista de contacte. Toate chat-urile asociate vor fi închise.",
"Continue_without_chat": "Continuaţi fără chat",
"Please_wait": "Vă rugăm aşteptaţi",
"Login_failed": "Logarea pe chat a eșuat",
"Sorry_we_cant_authentikate_": "Autentificarea cu serverul de chat a eșuat. Poate parola este greșită ?",
"Retry": "Înapoi",
"clear_history": "Curăță istoria",
"New_message_from": "Un nou mesaj de la __name__",
"Should_we_notify_you_": "Vrei să fi notificat despre mesajele noi în viitor ?",
"Please_accept_": null,
"Hide_offline": null,
"Show_offline": null,
"About": null,
"dnd": null,
"Mute": null,
"Unmute": null,
"Subscription": null,
"both": null,
"Status": null,
"online": null,
"chat": null,
"away": null,
"xa": null,
"offline": null,
"none": null,
"Unknown_instance_tag": null,
"Not_one_of_our_latest_keys": null,
"Received_an_unreadable_encrypted_message": null,
"Online": null,
"Chatty": null,
"Away": null,
"Extended_away": null,
"Offline": null,
"Friendship_request": null,
"Confirm": null,
"Dismiss": null,
"Remove": null,
"Online_help": null,
"FN": null,
"N": null,
"FAMILY": null,
"GIVEN": null,
"NICKNAME": null,
"URL": null,
"ADR": null,
"STREET": null,
"EXTADD": null,
"LOCALITY": null,
"REGION": null,
"PCODE": null,
"CTRY": null,
"TEL": null,
"NUMBER": null,
"EMAIL": null,
"USERID": null,
"ORG": null,
"ORGNAME": null,
"ORGUNIT": null,
"TITLE": null,
"ROLE": null,
"BDAY": null,
"DESC": null,
"PHOTO": null,
"send_message": null,
"get_info": null,
"Settings": null,
"Priority": null,
"Save": null,
"User_settings": null,
"A_fingerprint_": null,
"is": null,
"Login_options": null,
"BOSH_url": null,
"Domain": null,
"Resource": null,
"On_login": null,
"Received_an_unencrypted_message": null,
"Sorry_your_buddy_doesnt_provide_any_information": null,
"Info_about": null,
"Authentication_aborted": null,
"Authentication_request_received": null,
"Log_in_without_chat": null,
"has_come_online": null,
"Unknown_sender": null,
"Please_allow_access_to_microphone_and_camera": null,
"Incoming_call": null,
"from": null,
"Do_you_want_to_accept_the_call_from": null,
"Reject": null,
"Accept": null,
"hang_up": null,
"snapshot": null,
"mute_my_audio": null,
"pause_my_video": null,
"fullscreen": null,
"Info": null,
"Local_IP": null,
"Remote_IP": null,
"Local_Fingerprint": null,
"Remote_Fingerprint": null,
"Video_call_not_possible": null,
"Start_video_call": null,
"Join_chat": null,
"Join": null,
"Room": null,
"Nickname": null,
"left_the_building": null,
"entered_the_room": null,
"is_now_known_as": null,
"This_room_is": null,
"Should_we_notify_you_": "Vreţi să fiţi notificat despre mesajele noi în viitor ?",
"Please_accept_": "Vă rugăm apăsaţi pe butonul \"Permite\" din partea de sus.",
"Hide_offline": "Ascundeţi contactele deconectate",
"Show_offline": "Arâtaţi contactele deconectate",
"About": "Despre",
"dnd": "Nu deranja",
"Mute": "Dezactivaţi sunetul",
"Unmute": "Activaţi sunetul",
"Subscription": "Subscriere",
"both": "amândouă",
"Status": "Status",
"online": "Conectat",
"chat": "chat",
"away": "plecat",
"xa": "plecat extins",
"offline": "deconectat",
"none": "niciunul",
"Unknown_instance_tag": "Tag pentru instanţă necunoscut",
"Not_one_of_our_latest_keys": "Niciuna dintre ultimele chei",
"Received_an_unreadable_encrypted_message": "S-a primit un mesaj criptat necitibil",
"Online": "Conectat",
"Chatty": "Vorbăreţ",
"Away": "Plecat",
"Extended_away": "Plecat extins",
"Offline": "Deconectat",
"Friendship_request": "Cerinţa pentru contacte",
"Confirm": "Confirmaţi",
"Dismiss": "Îndepărtaţi",
"Remove": "Ştergeţi",
"Online_help": "Ajutor online",
"FN": "Nume complet",
"N": "Nume",
"FAMILY": "Nume de familie",
"GIVEN": "Prenume",
"NICKNAME": "Poreclă",
"URL": "URL",
"ADR": "Adresă",
"STREET": "Adresa străzii",
"EXTADD": "Adresa extinsă",
"LOCALITY": "Localitatea",
"REGION": "Regiunea",
"PCODE": "Cod poştal",
"CTRY": "Ţara",
"TEL": "Telefon",
"NUMBER": "Număr",
"EMAIL": "Email",
"USERID": "ID-ul utilizatorului",
"ORG": "Organizaţia",
"ORGNAME": "Nume",
"ORGUNIT": "Unitate",
"TITLE": "Titlul funcţiei",
"ROLE": "Rolul",
"BDAY": "Ziua de naştere",
"DESC": "Descriere",
"PHOTO": "Foto",
"send_message": "Trimite mesajul",
"get_info": "Arată informaţia",
"Settings": "Setări",
"Priority": "Prioritate",
"Save": "Salvează",
"User_settings": "Setările utilizatorului",
"A_fingerprint_": "Se foloseşte o amprentă pentru a ne asigura ca persoana cu care vorbiţi este cine pretinde că este.",
"is": "este",
"Login_options": "Opţiuni de autentificare",
"BOSH_url": "BOSH URL",
"Domain": "Domeniu",
"Resource": "Resursă",
"On_login": "La autentificare",
"Received_an_unencrypted_message": "S-a primit un mesaj necriptat",
"Sorry_your_buddy_doesnt_provide_any_information": "Ne pare rău, contactul nu a furnizat nici o informaţie",
"Info_about": "Informaţii despre",
"Authentication_aborted": "Autentificarea a fost întreruptă.",
"Authentication_request_received": "Cerere de autentificare primită.",
"Log_in_without_chat": "Autentificare fără chat.",
"has_come_online": "s-a conectat",
"Unknown_sender": "Expeditor necunoscut",
"Please_allow_access_to_microphone_and_camera": "Vă rugăm apăsaţi pe butonul \"Permiteti\" din partea de sus, pentru a permite accesul la microfon şi cameră",
"Incoming_call": "Apel de intrare",
"from": "de la",
"Do_you_want_to_accept_the_call_from": "Doriţi să acceptaţi apelul de la",
"Reject": "Respingeţi",
"Accept": "Acceptaţi",
"hang_up": "închideţi",
"snapshot": "instant",
"mute_my_audio": "dezactivaţi sunetul",
"pause_my_video": "puneţi video-ul pe pauză",
"fullscreen": "Pe tot ecranul",
"Info": "Info",
"Local_IP": "IP local",
"Remote_IP": "IP remote",
"Local_Fingerprint": "Amprentă locală",
"Remote_Fingerprint": "Amprentă remote",
"Video_call_not_possible": "Apelul video nu este posibil. Interlocutorul nu suportă apeluri video.",
"Start_video_call": "Începeţi apelul video",
"Join_chat": "Alăturaţi-vă chat-ului",
"Join": "Alăturaţi-vă",
"Room": "Cameră",
"Nickname": "Poreclă",
"left_the_building": "__nickname__ a părasit clădirea",
"entered_the_room": "__nickname__ a intrat în cameră",
"is_now_known_as": "__oldNickname__ este acum cunoscut ca __newNickname__",
"This_room_is": "Această cameră este",
"muc_hidden": {
"keyword": null,
"description": null
"keyword": "ascuns",
"description": "nu poate fi găsit prin căutare"
},
"muc_membersonly": {
"keyword": null,
"description": null
"keyword": "doar-membri",
"description": "trebuie să fiţi pe lista membrilor"
},
"muc_moderated": {
"keyword": null,
"description": null
"keyword": "moderat",
"description": "doar persoanele cu \"voce\" au dreptul să trimită mesaje"
},
"muc_nonanonymous": {
"keyword": null,
"description": null
"keyword": "non-anonim",
"description": "id-ul dumneavoastră este expus tuturor ocupanţilor"
},
"muc_open": {
"keyword": null,
"description": null
"keyword": "deschis",
"description": "oricui îi este permis să se alăture"
},
"muc_passwordprotected": {
"keyword": null,
"description": null
"keyword": "protejat prin parolă",
"description": "trebuie să introduceţi parola corectă"
},
"muc_persistent": {
"keyword": null,
"description": null
"keyword": "persistent",
"description": "nu va fi distrus dacă ultimult ocupant pleacă"
},
"muc_public": {
"keyword": null,
"description": null
"keyword": "public",
"description": "poate fi găsit prin căutare"
},
"muc_semianonymous": {
"keyword": null,
"description": null
"keyword": "semi-anonim",
"description": "id-ul jabber este expus doar administratorilor camerei"
},
"muc_temporary": {
"keyword": null,
"description": null
"keyword": "temporar",
"description": "va fi distrus dacă ultimul ocupant pleacă"
},
"muc_unmoderated": {
"keyword": null,
"description": null
"keyword": "nemoderat",
"description": "oricui îi este permis să trimită mesaje"
},
"muc_unsecured": {
"keyword": null,
"description": null
"keyword": "ne-securizat",
"description": "nu aveţi nevoie de parolă pentru a intra"
},
"Continue": null,
"Server": null,
"Rooms_are_loaded": null,
"Could_load_only": null,
"muc_explanation": null,
"You_already_joined_this_room": null,
"This_room_will_be_closed": null,
"Room_not_found_": null,
"Loading_room_information": null,
"Destroy": null,
"Leave": null,
"changed_subject_to": null,
"muc_removed_kicked": null,
"muc_removed_info_kicked": null,
"muc_removed_banned": null,
"muc_removed_info_banned": null,
"muc_removed_affiliation": null,
"muc_removed_info_affiliation": null,
"muc_removed_membersonly": null,
"muc_removed_info_membersonly": null,
"muc_removed_shutdown": null,
"Reason": null,
"message_not_send": null,
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
"You_are_not_on_the_member_list": null,
"You_are_banned_from_this_room": null,
"Your_desired_nickname_": null,
"The_maximum_number_": null,
"This_room_is_locked_": null,
"You_are_not_allowed_to_create_": null,
"Alert": null,
"Call_started": null,
"Call_terminated": null,
"Carbon_copy": null,
"Enable": null,
"jingle_reason_busy": null,
"jingle_reason_decline": null,
"jingle_reason_success": null,
"Media_failure": null,
"No_local_audio_device": null,
"No_local_video_device": null,
"Ok": null,
"PermissionDeniedError": null,
"Use_local_audio_device": null,
"Use_local_video_device": null,
"is_": null,
"You_received_a_message_from_an_unknown_sender_": null,
"Your_roster_is_empty_add_": null,
"onsmp_explanation_question": null,
"onsmp_explanation_secret": null,
"from_sender": null,
"Verified_private_conversation_started": null,
"Unverified_private_conversation_started": null,
"Bookmark": null,
"Auto-join": null,
"Edit_bookmark": null,
"Room_logging_is_disabled": null,
"Room_is_now_non-anoymous": null,
"Room_is_now_semi-anonymous": null,
"Do_you_want_to_change_the_default_room_configuration": null,
"Default": null,
"Change": null,
"Send_file": null,
"setting-explanation-carbon": null,
"setting-explanation-login": null,
"setting-explanation-priority": null,
"setting-explanation-xmpp": null,
"_is_composing": null,
"_are_composing": null,
"Chat_state_notifications": null,
"setting-explanation-chat-state": null,
"Share_screen": null,
"Incoming_stream": null,
"Stream_started": null,
"HTTPS_REQUIRED": null,
"EXTENSION_UNAVAILABLE": null,
"UNKNOWN_ERROR": null,
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"Continue": "Continuaţi",
"Server": "Server",
"Rooms_are_loaded": "Camerele sunt încărcate",
"Could_load_only": "S-au putut încărca doar __count__ camere pentru autocompletare",
"muc_explanation": "Vă rugăm introduceţi numele camerei şi opţional o poreclă şi o parolă pentru a vă alătura chat-ului",
"You_already_joined_this_room": "Deja v-aţi alăturat acestei camere",
"This_room_will_be_closed": "Această cameră va fi închisă",
"Room_not_found_": "O cameră noua va fi creată",
"Loading_room_information": "Se încarcă informaţiile camerei",
"Destroy": "Distruge",
"Leave": "Pleacă",
"changed_subject_to": "__nickname__ a schimbat subiectul camerei în \"__subject__\"",
"muc_removed_kicked": "Aţi fost dat afară din cameră",
"muc_removed_info_kicked": "__nickname__ a fost dat afară din cameră",
"muc_removed_banned": "V-a fost interzis accesul în cameră",
"muc_removed_info_banned": "Lui __nickname__ i s-a interzis accesul in cameră",
"muc_removed_affiliation": "Aţi fost înlăturat din cameră, pentru ca o afiliere s-a schimbat",
"muc_removed_info_affiliation": "__nickname__ a fost înlăturat din camera pentru ca o afiliere s-a schimbat",
"muc_removed_membersonly": "Aţi fost înlăturat din cameră pentru că setările camerei s-au schimbat în permis doar pentru membri iar dumneavoastră nu sunteţi membru",
"muc_removed_info_membersonly": "__nickname__ a fost înlăturat din camera pentru că setările camerei s-au schimbat în permis doar pentru membri iar el nu era membru",
"muc_removed_shutdown": "Aţi fost înlăturat din cameră pentru ca serviciul MUC se opreşte",
"Reason": "Motiv",
"message_not_send": "Mesajul dumneavoastră nu a fost transmis din cauza unei erori",
"message_not_send_item-not-found": "Mesajul dumneavostră nu a fost transmis pentru că această cameră nu există",
"message_not_send_forbidden": "Mesajul dumneavostra nu a fost transmis pentru că nu aveţi voce în această cameră",
"message_not_send_not-acceptable": "Mesajul dumneavostra nu a fost transmis pentru că nu sunteţi ocupant al acestei camere",
"message_not_send_resource-unavailable": "Mesajul nu a fost trimis deoarece interlocutorul nu este disponibil sau conectat.",
"message_not_send_remote-server-not-found": "Mesajul nu a fost trimis deoarece conexiunea server-la-server a eşuat",
"This_room_has_been_closed": "Această cameră a fost închisă",
"Room_logging_is_enabled": "Logging-ul pentru cameră este activat",
"A_password_is_required": "O parolă este necesară",
"You_are_not_on_the_member_list": "Nu sunteţi pe lista membrilor",
"You_are_banned_from_this_room": "Vă este interzis accesul in această cameră",
"Your_desired_nickname_": "Porecla pe care doriţi sâ o utilizaţi este deja folosită. Vă rugăm alegeţi alta",
"The_maximum_number_": "Numarul maxim de utilizatori a fost atins pentru această cameră",
"This_room_is_locked_": "Această cameră este încuiată",
"You_are_not_allowed_to_create_": "Nu aveţi dreptul să creaţi o cameră",
"Alert": "Alertă",
"Call_started": "Apelul a început",
"Call_terminated": "Apelul s-a terminat",
"Carbon_copy": "Copie carbon",
"Enable": "Activaţi",
"jingle_reason_busy": "ocupat",
"jingle_reason_decline": "refuzaţi",
"jingle_reason_success": "inchideţi",
"Media_failure": "Eroare media",
"No_local_audio_device": "Nu există nici un dispozitiv audio local.",
"No_local_video_device": "Nu există nici un dispozitiv media local.",
"Ok": "Ok",
"PermissionDeniedError": "Browser-ul dumneavoastră a respins permisiunea media",
"Use_local_audio_device": "Folosiţi dispozitivul audio local",
"Use_local_video_device": "Folosiţi dispozitivul media local.",
"is_": "este __status__",
"You_received_a_message_from_an_unknown_sender_": "Aţi primit un mesaj de la un expeditor necunoscut (__sender__). Doriţi să îl afişaţi?",
"Your_roster_is_empty_add_": "Roster-ul este gol, adaugati un <a>contact nou</a>",
"onsmp_explanation_question": "Interlocutorul încearca sa determine dacă vorbeşte întradevăr cu dumneavostră. Pentru a vă autentifica cu acesta, introduceţi răspunsul si apăsaţi pe Răspunde.",
"onsmp_explanation_secret": "Interlocutorul încearca sa determine dacă vorbeşte întradevăr cu dumneavostră. Pentru a vă autentifica cu acesta, introduceţi secretul.",
"from_sender": "de la __sender__",
"Verified_private_conversation_started": "Conversaţia privată verificată a început.",
"Unverified_private_conversation_started": "Conversaţia privată neverificată a început.",
"Bookmark": "Semn de carte",
"Auto-join": "Auto-alăturare",
"Edit_bookmark": "Editaţi semnul de carte",
"Room_logging_is_disabled": "Logging-ul pentru cameră este dezactivat",
"Room_is_now_non-anoymous": "Camera este acum non-anonimă",
"Room_is_now_semi-anonymous": "Camera este acum semi-aninomă",
"Do_you_want_to_change_the_default_room_configuration": "Doriţi să schimbaţi configuraţia implicită a camerei?",
"Default": "Implicit",
"Change": "Schimbaţi",
"Send_file": "Trimiteţi fila",
"setting-explanation-carbon": "Cu copia carbon activa, serverul XMPP vă v-a trimite o copie a fiecarui mesaj primit la acest client chiar dacă nu a fost adresată acestuia.",
"setting-explanation-login": "Dacă această opţiune este activă, chat-ul v-a porni la autentificare.",
"setting-explanation-priority": "Dacă sunteţi autentificat de mai multe ori cu acelas cont, serverul XMPP va livra mesajele către clientul cu prioritatea cea mai ridicată.",
"setting-explanation-xmpp": "Aceste opţiuni sunt folosite pentru conexiunea cu serverul XMPP.",
"_is_composing": " compune...",
"_are_composing": " compun...",
"Chat_state_notifications": "Notificări pentru starea chat-ului",
"setting-explanation-chat-state": "Doriţi să trimiteţi şi să primiţi notificări de stare pentru chat, ca atunci când cineva începe sau termină de compus un mesaj?",
"Share_screen": "Partajază ecranul",
"Incoming_stream": "Stream de intrare",
"Stream_started": "Stream-ul a început",
"HTTPS_REQUIRED": "Această acţiune necesită o conexiune criptată.",
"EXTENSION_UNAVAILABLE": "Aveţi nevoie de o extensie sau un addon pentru browser.",
"UNKNOWN_ERROR": "A intervenit o eroare necunoscută.",
"Install_extension": "Vă rugam instalaţi extensia pentru a putea partaja ecranul: ",
"Connection_accepted": "Conexiune acceptată",
"Stream_terminated": "Stream-ul a fost terminat",
"Close_all": "Închide toate",
"Notification": "Notificare",
"Unreadable_OTR_message": "Mesajul OTR necitibil a fost omis",
"Load_older_messages": "Încărcaţi mesaje mai vechi",
"Message_history": "Istoricul mesajelor",
"setting-mam-enable": "Dacă este activat puteţi prelua mesajele stocate pe server.",
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": "Trebuie sa fi online pentru a executa aceasta operatiune."
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": "Ваше сообщение не было отправлено, т.к. этой комнаты не существует",
"message_not_send_forbidden": "Ваше сообщение не было отправлено, т.к. у Вас нет права голоса в этой комнате",
"message_not_send_not-acceptable": "Ваше сообщение не было отправлено, т.к. Вы не являетесь участником этой комнаты",
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": "Эта комната была закрыта",
"Room_logging_is_enabled": "Журналирование комнаты включено",
"A_password_is_required": "Необходим пароль",
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+21 -16
Ver Arquivo
@@ -9,8 +9,8 @@
"your_buddy_is_verificated": "Kişi doğrulandı.",
"you_have_only_a_subscription_in_one_way": "Sadece tek yönlü bir aboneliğiniz var.",
"authentication_query_sent": "Kimlik doğrulama sorgusu gönderildi.",
"your_message_wasnt_send_please_end_your_private_conversation": "Mesajınız gönderilmedi. Lütfen özel görüşmelerinizi bitirin.",
"unencrypted_message_received": "Şifrelenmemiş mesaj alındı",
"your_message_wasnt_send_please_end_your_private_conversation": "İletiniz gönderilemedi. Lütfen özel görüşmenizi kapatın.",
"unencrypted_message_received": "Şifrelenmemiş bir ileti alındı",
"not_available": "Müsait değil",
"no_connection": "Bağlantı yok!",
"relogin": "Yeniden gir",
@@ -63,8 +63,8 @@
"Sorry_we_cant_authentikate_": "Kimlik doğrulaması başarısız oldu. Şifreniz yanlış olabilir.",
"Retry": "Geri",
"clear_history": "Geçmişi sil",
"New_message_from": "__name__ adlı kişiden yeni bir mesaj aldınız",
"Should_we_notify_you_": "İleride aldığınız yeni mesajları size bildirelim mi?",
"New_message_from": "__name__ adlı kişiden yeni bir ileti aldınız",
"Should_we_notify_you_": "İleride alacağınız yeni iletileri size bildirelim mi?",
"Please_accept_": "Lütfen üstteki \"İzin ver\" düğmesini tıklayın.",
"Hide_offline": "Çevrimdışı kişileri gizle",
"Show_offline": "Çevrimdışı kişileri göster",
@@ -83,7 +83,7 @@
"none": "hiç biri",
"Unknown_instance_tag": "Bilinmeyen örnek etiketi.",
"Not_one_of_our_latest_keys": "En son anahtarlarımızdan biri değil.",
"Received_an_unreadable_encrypted_message": "Okunamayan şifrelenmiş bir mesaj alındı.",
"Received_an_unreadable_encrypted_message": "Okunamayan şifrelenmiş bir ileti alındı.",
"Online": "Çevrimiçi",
"Chatty": "Konuşkan",
"Away": "Uzakta",
@@ -95,7 +95,7 @@
"Remove": "Çıkar",
"Online_help": "Çevrimiçi yardım",
"FN": "Tam adı",
"N": " ",
"N": "İsim",
"FAMILY": "Soyadı",
"GIVEN": "Adı",
"NICKNAME": "Takma ad",
@@ -110,7 +110,7 @@
"TEL": "Telefon",
"NUMBER": "Numara",
"EMAIL": "Eposta",
"USERID": " ",
"USERID": "Kullanıcı Adı",
"ORG": "Organizasyon",
"ORGNAME": "İsim",
"ORGUNIT": "Birim",
@@ -132,7 +132,7 @@
"Domain": "Alan adı",
"Resource": "Kaynak",
"On_login": "Girişte",
"Received_an_unencrypted_message": "Şifrelenmemiş bir mesaj alındı",
"Received_an_unencrypted_message": "Şifrelenmemiş bir ileti alındı",
"Sorry_your_buddy_doesnt_provide_any_information": "Maalesef kişi her hangi bir bilgi sunmamış.",
"Info_about": "Bilinen özellikleri",
"Authentication_aborted": "Kimlik doğrulama iptal edildi.",
@@ -176,7 +176,7 @@
},
"muc_moderated": {
"keyword": "yöneticili",
"description": "Yalnızca \"sesli\" kişilerin mesaj göndermesine izin verilir"
"description": "Yalnızca \"konuşma izini olan\" kişilerin ileti göndermesine izin verilir"
},
"muc_nonanonymous": {
"keyword": "Anonim-değil",
@@ -236,10 +236,12 @@
"muc_removed_info_membersonly": "Odanın durumu sadece-üyeler olarak değiştirildiği ve __nickname__ üye olmadığı için odadan çıkarıldı",
"muc_removed_shutdown": "Odadan çıkarıldınız çünkü, MUC sunucusu kapandı",
"Reason": "Sebep",
"message_not_send": "Mesajınız bir hata nedeniyle gönderilmedi",
"message_not_send_item-not-found": "Mesajınız gönderilmedi, çünkü bu oda mevcut değil",
"message_not_send_forbidden": "Mesajınız gönderilmedi çünkü bu odada sesiniz yok",
"message_not_send_not-acceptable": "Mesajınız gönderilmedi çünkü bu odaya bulunmuyorsunuz",
"message_not_send": "İletiniz bir hata nedeniyle gönderilemedi",
"message_not_send_item-not-found": "Bu oda mevcut olmadığı için iletiniz gönderilmedi",
"message_not_send_forbidden": "Bu odada konuşma izniniz olmadığı için iletiniz gönderilmedi",
"message_not_send_not-acceptable": "Bu odada bulunmadığınız için iletiniz gönderilemedi",
"message_not_send_resource-unavailable": "Konuştuğunuz kişi müsait yada bağlı olmadığı için iletiniz gönderilemedi",
"message_not_send_remote-server-not-found": "Sunucular arası bağlantı kurulamadığı için iletiniz gönderilemedi",
"This_room_has_been_closed": "Bu oda kapatıldı",
"Room_logging_is_enabled": "Oda günlüğü etkinleştirildi",
"A_password_is_required": "Şifre gerekli",
@@ -289,7 +291,7 @@
"_is_composing": " yazıyor...",
"_are_composing": " yazıyorlar...",
"Chat_state_notifications": "Sohbet durumu bildirimleri",
"setting-explanation-chat-state": "Birisi mesaj başlattığında veya mesaj yazmayı bıraktığında, sohbet durumu bildirimleri göndermek ve almak istiyor musunuz?",
"setting-explanation-chat-state": "Birisinin ileti yazmaya başladığı veya yazmayı bıraktığı gibi hallerde sohbet durumuyla ilgili bildirim göndermek ve almak istiyor musunuz?",
"Share_screen": "Ekran paylaşımı",
"Incoming_stream": "Gelen akış",
"Stream_started": "Akış başladı",
@@ -303,7 +305,10 @@
"Notification": "Bildirim",
"Unreadable_OTR_message": "Okunamayan OTR iletisi atlandı",
"Load_older_messages": "Eski iletileri yükle",
"Message_history": null,
"setting-mam-enable": null
"Message_history": "İleti geçmişi",
"setting-mam-enable": "Etkinleştirdiğiniz takdirde kaydedilmiş iletileri sunucudan alabilirsiniz.",
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": "Bu işlemi gerçekleştirebilmek için çevrimiçi olmalısınız."
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+12 -7
Ver Arquivo
@@ -1,6 +1,6 @@
{
"translation": {
"Logging_in": "正在登入…",
"Logging_in": "正在登入…",
"your_connection_is_unencrypted": "連線沒加密。",
"your_connection_is_encrypted": "連線有加密。",
"your_buddy_closed_the_private_connection": "聯絡人關閉了加密連線。",
@@ -81,8 +81,8 @@
"xa": "離開很久",
"offline": "離線",
"none": "沒有",
"Unknown_instance_tag": null,
"Not_one_of_our_latest_keys": null,
"Unknown_instance_tag": "狀況標籤不明。",
"Not_one_of_our_latest_keys": "不是最近使用密鑰其中的一個。",
"Received_an_unreadable_encrypted_message": "收到了一則加密但無法辨認的訊息。",
"Online": "上線",
"Chatty": "想聊天",
@@ -95,7 +95,7 @@
"Remove": "刪掉",
"Online_help": "線上說明",
"FN": "全名",
"N": " ",
"N": "名字",
"FAMILY": "姓氏",
"GIVEN": "名字",
"NICKNAME": "綽號",
@@ -110,7 +110,7 @@
"TEL": "電話",
"NUMBER": "編號",
"EMAIL": "電子郵件",
"USERID": " ",
"USERID": "使用者代碼",
"ORG": "團體",
"ORGNAME": "名稱",
"ORGUNIT": "單位",
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": "訊息沒送出去,因為聊天室不存在了",
"message_not_send_forbidden": "訊息沒送出去,因為你被消音了",
"message_not_send_not-acceptable": "訊息沒送出去,因為你不是聊天室的參與人了",
"message_not_send_resource-unavailable": "訊息沒送出去,因為通訊對象不在或是已經斷線",
"message_not_send_remote-server-not-found": "訊息沒送出去,因為伺服器間的連線失敗了",
"This_room_has_been_closed": "聊天室已經關閉了",
"Room_logging_is_enabled": "聊天室紀錄打開了",
"A_password_is_required": "需要密碼",
@@ -303,7 +305,10 @@
"Notification": "通知",
"Unreadable_OTR_message": "忽略無法解讀的 OTR 訊息",
"Load_older_messages": "下載舊訊息",
"Message_history": null,
"setting-mam-enable": null
"Message_history": "訊息紀錄",
"setting-mam-enable": "打開後就可以從伺服器取得儲存訊息",
"File_too_large": "檔案太大了",
"No_proper_file_transfer_method_available": "沒有適合的檔案傳輸方式",
"You_have_to_go_online_": "必須要上線才能執行這個動作。"
}
}
+6 -1
Ver Arquivo
@@ -240,6 +240,8 @@
"message_not_send_item-not-found": null,
"message_not_send_forbidden": null,
"message_not_send_not-acceptable": null,
"message_not_send_resource-unavailable": null,
"message_not_send_remote-server-not-found": null,
"This_room_has_been_closed": null,
"Room_logging_is_enabled": null,
"A_password_is_required": null,
@@ -304,6 +306,9 @@
"Unreadable_OTR_message": null,
"Load_older_messages": null,
"Message_history": null,
"setting-mam-enable": null
"setting-mam-enable": null,
"File_too_large": null,
"No_proper_file_transfer_method_available": null,
"You_have_to_go_online_": null
}
}
+4 -4
Ver Arquivo
@@ -1,6 +1,6 @@
{
"name": "jsxc",
"version": "3.2.0-beta.1",
"version": "3.2.1",
"description": "Real-time xmpp chat application with video calls, file transfer and encrypted communication",
"homepage": "http://www.jsxc.org/",
"bugs": "https://github.com/jsxc/jsxc/issues",
@@ -16,13 +16,13 @@
"grunt": "^1.0.1",
"grunt-autoprefixer": "^3.0.4",
"grunt-banner": "~0.6.0",
"grunt-contrib-clean": "~1.0.0",
"grunt-contrib-clean": "~1.1.0",
"grunt-contrib-compress": "^1.4.1",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-copy": "~1.0.0",
"grunt-contrib-csslint": "^2.0.0",
"grunt-contrib-jshint": "~1.1.0",
"grunt-contrib-uglify": "^2.0.0",
"grunt-contrib-uglify": "^2.3.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-data-uri": "^0.3.0",
"grunt-github-releaser2": "^0.1.1",
@@ -35,6 +35,6 @@
"grunt-scss-lint": "^0.5.0",
"grunt-search": "^0.1.8",
"grunt-text-replace": "~0.4.0",
"node-sass": "4.3.0"
"node-sass": "4.5.2"
}
}
+1 -1
Ver Arquivo
@@ -11,7 +11,7 @@
padding-top: 44px;
}
.jsxc_fingerprints, .jsxc_verification, .jsxc_transfer, .jsxc_video, .jsxc_sendFile {
.jsxc_fingerprints, .jsxc_verification, .jsxc_transfer, .jsxc_video {
display: none;
}
+1 -1
Ver Arquivo
@@ -187,7 +187,7 @@
width: 14px;
height: 100%;
position: absolute;
left: -14px !important;
right: 100%;
top: 0;
z-index: 110;
background-color: transparent;
+15 -9
Ver Arquivo
@@ -211,7 +211,7 @@
}
li {
div {
span {
float: left;
cursor: pointer;
border-radius: 3px;
@@ -452,16 +452,16 @@
clear: both;
&.jsxc_error {
opacity: 0.7;
&:before {
content: " ";
content: attr(data-error-msg);
position: absolute;
top: 3px;
right: 3px;
width: 8px;
height: 8px;
background-color: yellow;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(255, 255, 255, 0.7);
text-align: center;
padding: 10px 5px;
}
}
@@ -548,6 +548,12 @@
background-image: image-url("filetypes/text.svg");
}
}
.jsxc_emoticon.jsxc_large {
width: 40px;
height: 40px;
margin-bottom: 7px;
}
}
.jsxc_timestamp {
-6
Ver Arquivo
@@ -5,12 +5,6 @@
background-size: contain;
border: 0;
vertical-align: bottom;
&.jsxc_large {
width: 40px;
height: 40px;
margin-bottom: 7px;
}
}
#jsxc_roster .jsxc_emoticon.jsxc_large {
+1 -1
Ver Arquivo
@@ -122,7 +122,7 @@ jsxc.Message.prototype.save = function() {
ctx.drawImage(img, sx, sy, sWidth, sHeight, 0, 0, dWidth, dHeight);
this.attachment.thumbnail = canvas.toDataURL();
this.attachment.thumbnail = canvas.toDataURL('image/jpeg', 0.3);
if (this.direction === 'out') {
// save storage
+42 -16
Ver Arquivo
@@ -36,7 +36,15 @@ jsxc.fileTransfer.startGuiAction = function(jid) {
var res = Strophe.getResourceFromJid(jid);
if (!res && !jsxc.xmpp.httpUpload.ready) {
jsxc.fileTransfer.selectResource(bid, jsxc.fileTransfer.startGuiAction);
if (jsxc.fileTransfer.isWebrtcCapable(bid)) {
jsxc.fileTransfer.selectResource(bid, jsxc.fileTransfer.startGuiAction);
} else {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('No_proper_file_transfer_method_available')
});
}
return;
}
@@ -112,6 +120,19 @@ jsxc.fileTransfer.showFileSelection = function(jid) {
});
};
jsxc.fileTransfer.showFileTooLarge = function(bid, file) {
var maxSize = jsxc.fileTransfer.formatByte(jsxc.options.get('httpUpload').maxSize);
var fileSize = jsxc.fileTransfer.formatByte(file.size);
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('File_too_large') + ' (' + fileSize + ' > ' + maxSize + ')'
});
jsxc.gui.window.hideOverlay(bid);
};
/**
* Callback for file selector.
*
@@ -122,27 +143,24 @@ jsxc.fileTransfer.showFileSelection = function(jid) {
*/
jsxc.fileTransfer.fileSelected = function(jid, msg, file) {
var bid = jsxc.jidToBid(jid);
var maxSize = jsxc.options.get('httpUpload').maxSize;
var httpUploadOptions = jsxc.options.get('httpUpload') || {};
var maxSize = httpUploadOptions.maxSize || -1;
if (file.transportMethod !== 'webrtc' && jsxc.xmpp.httpUpload.ready && maxSize >= 0 && file.size > maxSize) {
jsxc.debug('File too large for http upload.');
file.transportMethod = 'webrtc';
if (jsxc.fileTransfer.isWebrtcCapable(bid)) {
// try data channels
file.transportMethod = 'webrtc';
jsxc.fileTransfer.selectResource(bid, function(jid) {
jsxc.fileTransfer.fileSelected(jid, msg, file);
}, function() {
var maxSize = jsxc.fileTransfer.formatByte(jsxc.options.get('httpUpload').maxSize);
var fileSize = jsxc.fileTransfer.formatByte(file.size);
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('File_too_large') + ' (' + fileSize + ' > ' + maxSize + ')'
jsxc.fileTransfer.selectResource(bid, function(jid) {
jsxc.fileTransfer.fileSelected(jid, msg, file);
}, function() {
jsxc.fileTransfer.showFileTooLarge(bid, file);
});
jsxc.gui.window.hideOverlay(bid);
});
} else {
jsxc.fileTransfer.showFileTooLarge(bid, file);
}
return;
} else if (!jsxc.xmpp.httpUpload.ready && Strophe.getResourceFromJid(jid)) {
@@ -230,6 +248,10 @@ jsxc.fileTransfer.updateIcons = function(bid) {
if (jsxc.xmpp.httpUpload.ready) {
win.find('.jsxc_sendFile').removeClass('jsxc_disabled');
return;
} else if (!jsxc.fileTransfer.isWebrtcCapable(bid)) {
win.find('.jsxc_sendFile').addClass('jsxc_disabled');
return;
}
@@ -245,6 +267,10 @@ jsxc.fileTransfer.updateIcons = function(bid) {
}
};
jsxc.fileTransfer.isWebrtcCapable = function(bid) {
return !jsxc.muc.isGroupchat(bid);
};
$(document).on('update.gui.jsxc', function(ev, bid) {
jsxc.fileTransfer.updateIcons(bid);
});
+51 -9
Ver Arquivo
@@ -57,7 +57,21 @@ jsxc.gui = {
queryActions: {
/** xmpp:JID?message[;body=TEXT] */
message: function(jid, params) {
var win = jsxc.gui.window.open(jsxc.jidToBid(jid));
var bid = jsxc.jidToBid(jid);
if (!jsxc.storage.getUserItem('buddy', bid)) {
// init contact
jsxc.storage.saveBuddy(bid, {
jid: jid,
name: bid,
status: 0,
sub: 'none',
res: [],
rnd: Math.random()
});
}
var win = jsxc.gui.window.open(bid);
if (params && typeof params.body === 'string') {
win.find('.jsxc_textinput').val(params.body);
@@ -1099,7 +1113,7 @@ jsxc.gui = {
dialog.find('.btn-primary').text(opt.primary.label);
}
if (opt.primary && opt.option.label) {
if (opt.option && opt.option.label) {
dialog.find('.btn-default').text(opt.option.label);
}
@@ -1107,8 +1121,8 @@ jsxc.gui = {
dialog.find('.btn-primary').click(opt.primary.cb);
}
if (opt.primary && opt.option.cb) {
dialog.find('.btn-primary').click(opt.option.cb);
if (opt.option && opt.option.cb) {
dialog.find('.btn-default').click(opt.option.cb);
}
},
@@ -1179,6 +1193,8 @@ jsxc.gui = {
$('[data-bid="' + bid + '"]').each(function() {
var el = $(this);
el.attr('data-status', pres);
if (!el.hasClass('jsxc_statusIndicator')) {
el = el.find('.jsxc_statusIndicator');
}
@@ -1286,6 +1302,9 @@ jsxc.gui = {
var jid = href.split('?')[0];
var action, params = {};
element.attr('data-bid', jsxc.jidToBid(jid));
jsxc.gui.update(jsxc.jidToBid(jid));
if (href.indexOf('?') < 0) {
action = 'message';
} else {
@@ -1307,7 +1326,11 @@ jsxc.gui = {
element.off('click').click(function(ev) {
ev.stopPropagation();
jsxc.gui.queryActions[action].call(jsxc, jid, params);
if (jsxc.xmpp.conn && jsxc.xmpp.conn.connected) {
jsxc.gui.queryActions[action].call(jsxc, jid, params);
} else {
jsxc.gui.showNotification($.t('no_connection'), $.t('You_have_to_go_online_'));
}
return false;
});
@@ -1399,7 +1422,7 @@ jsxc.gui = {
src = jsxc.options.root + '/lib/emojione/assets/svg/' + filename + '.svg';
}
var div = $('<div>');
var div = $('<span>');
div.addClass('jsxc_emoticon');
div.css('background-image', 'url(' + src + ')');
@@ -1545,7 +1568,8 @@ jsxc.gui.roster = {
jsxc.notice.load();
jsxc.gui.roster.ready = true;
$(document).trigger('ready.roster.jsxc');
$(document).trigger('ready.roster.jsxc', [rosterState]);
$(document).trigger('ready-roster-jsxc', [rosterState]);
},
/**
@@ -1620,7 +1644,7 @@ jsxc.gui.roster = {
while (history.length > i) {
var message = new jsxc.Message(history[i]);
if (message.direction !== jsxc.Message.SYS) {
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(message.msg);
jsxc.gui.window.setLastMsg(bid, message.msg);
break;
}
i++;
@@ -2031,6 +2055,10 @@ jsxc.gui.window = {
win.find('.jsxc_sendFile').click(function() {
$('body').click();
if ($(this).hasClass('jsxc_disabled')) {
return;
}
jsxc.gui.window.sendFile(bid);
});
@@ -2522,6 +2550,10 @@ jsxc.gui.window = {
message.htmlMsg = message.msg;
}
if (typeof message.msg === 'undefined') {
message.msg = '';
}
// remove html tags and reencode html tags
message.msg = jsxc.removeHTML(message.msg);
message.msg = jsxc.escapeHTML(message.msg);
@@ -2673,6 +2705,7 @@ jsxc.gui.window = {
}
msgDiv.attr('title', message.error);
msgDiv.attr('data-error-msg', message.error);
if (message.attachment && message.attachment.name) {
var attachment = $('<div>');
@@ -2714,7 +2747,7 @@ jsxc.gui.window = {
}
if (direction !== 'sys') {
$('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text').html(msg);
jsxc.gui.window.setLastMsg(bid, msg);
}
var currentMessageElement = jsxc.Message.getDOM(uid);
@@ -2783,6 +2816,15 @@ jsxc.gui.window = {
jsxc.gui.window.get(bid).find('.jsxc_textinput').val(text);
},
setLastMsg: function(bid, msg) {
var lastMsgTextElement = $('[data-bid="' + bid + '"]').find('.jsxc_lastmsg .jsxc_text');
lastMsgTextElement.html(msg);
lastMsgTextElement.find('a').each(function() {
$(this).replaceWith('<span>' + $(this).text() + '</span>');
});
},
/**
* Load old log into chat area
*
+17 -3
Ver Arquivo
@@ -28,9 +28,6 @@ jsxc = {
/** Interval for keep-alive */
keepaliveInterval: null,
/** True if jid, sid and rid was used to connect */
reconnect: false,
/** True if restore is complete */
restoreCompleted: false,
@@ -276,6 +273,7 @@ jsxc = {
lng: lang,
fallbackLng: 'en',
resources: I18next,
returnNull: false,
debug: jsxc.storage.getItem('debug') === true,
interpolation: {
prefix: '__',
@@ -966,5 +964,21 @@ jsxc = {
jsxc.debug('UI State changed to ' + Object.keys(jsxc.CONST.UISTATE)[state]);
$(document).trigger('stateUIChange.jsxc', state);
},
getLastMsg: function(bid) {
var history = jsxc.storage.getUserItem('history', bid) || [];
var i = 0;
while (history.length > i) {
var message = new jsxc.Message(history[i]);
if (message.direction !== jsxc.Message.SYS) {
return {
text: message.msg,
date: message.stamp
};
}
i++;
}
}
};
+12 -47
Ver Arquivo
@@ -97,7 +97,6 @@ jsxc.muc = {
$(document).on('error.presence.jsxc', jsxc.muc.onPresenceError);
self.conn.addHandler(self.onGroupchatMessage, null, 'message', 'groupchat');
self.conn.addHandler(self.onErrorMessage, null, 'message', 'error');
self.conn.muc.roomNames = jsxc.storage.getUserItem('roomNames') || [];
},
@@ -755,6 +754,7 @@ jsxc.muc = {
});
var destroy = $('<a>');
destroy.attr('href', '#');
destroy.text($.t('Destroy'));
destroy.addClass('jsxc_destroy');
destroy.hide();
@@ -765,6 +765,7 @@ jsxc.muc = {
win.find('.jsxc_settings ul').append($('<li>').append(destroy));
var configure = $('<a>');
configure.attr('href', '#');
configure.text($.t('Configure'));
configure.addClass('jsxc_configure');
configure.hide();
@@ -793,6 +794,7 @@ jsxc.muc = {
}
var leave = $('<a>');
leave.attr('href', '#');
leave.text($.t('Leave'));
leave.addClass('jsxc_leave');
leave.click(function() {
@@ -1389,51 +1391,6 @@ jsxc.muc = {
return true;
},
/**
* Handle group chat error message.
*
* @private
* @memberOf jsxc.muc
* @param {string} message Message stanza
*/
onErrorMessage: function(message) {
var room = jsxc.jidToBid($(message).attr('from'));
if (jsxc.gui.window.get(room).length === 0) {
return true;
}
if ($(message).find('item-not-found').length > 0) {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_item-not-found')
});
} else if ($(message).find('forbidden').length > 0) {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_forbidden')
});
} else if ($(message).find('not-acceptable').length > 0) {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_not-acceptable')
});
} else {
jsxc.gui.window.postMessage({
bid: room,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send')
});
}
jsxc.debug('[muc] error message for ' + room, $(message).find('error')[0]);
return true;
},
/**
* Prepare group chat roster item.
*
@@ -1573,7 +1530,7 @@ jsxc.muc = {
}
o = $(opt.toHTML());
for (j = 0; j < self.values; j++) {
for (j = 0; j < self.values.length; j++) {
k = self.values[j];
if (k.toString() === opt.value.toString()) {
o.attr('selected', 'selected');
@@ -1659,6 +1616,14 @@ jsxc.muc = {
return html.get(0);
}
},
isGroupchat: function(jid) {
var bid = jsxc.jidToBid(jid);
var userData = jsxc.storage.setUserItem('buddy', bid) || {};
return userData.type === 'groupchat';
}
};
+17 -12
Ver Arquivo
@@ -162,22 +162,27 @@ jsxc.xmpp.httpUpload.sendFile = function(file, message) {
message.delete();
} else if (data.get && data.put) {
// slot received, start upload
jsxc.debug('slot received, start upload to ' + data.put);
self.uploadFile(data.put, file, message, function() {
var attachment = message.attachment;
var metaString = attachment.type + '|' + attachment.size + '|' + attachment.name;
var a = $('<a>');
a.attr('href', data.get);
a.attr('data-name', message.attachment.name);
a.attr('data-type', message.attachment.type);
a.attr('data-size', message.attachment.size);
if (message.attachment.thumbnail) {
a.attr('data-thumbnail', message.attachment.thumbnail);
attachment.data = data.get;
if (attachment.thumbnail) {
var img = $('<img>');
img.attr('alt', 'Preview:' + metaString);
img.attr('src', attachment.thumbnail);
a.prepend(img);
} else {
a.text(metaString);
}
a.text(data.get);
message.attachment.data = data.get;
message.msg = $('<span>').append(a).html();
message.msg = data.get;
message.htmlMsg = $('<span>').append(a).html();
message.type = jsxc.Message.HTML;
jsxc.gui.window.postMessage(message);
});
@@ -322,8 +327,8 @@ jsxc.xmpp.httpUpload.failedRequestSlotCB = function(stanza, cb) {
});
};
$(document).on('stateChange.jsxc', function(ev, state) {
if (state === jsxc.CONST.STATE.READY) {
$(document).on('stateUIChange.jsxc', function(ev, state) {
if (state === jsxc.CONST.UISTATE.INITIATING) {
jsxc.xmpp.httpUpload.init();
}
});
+111 -19
Ver Arquivo
@@ -148,8 +148,6 @@ jsxc.xmpp = {
jsxc.debug('Try to attach');
jsxc.debug('SID: ' + sid);
jsxc.reconnect = true;
jsxc.xmpp.conn.attach(jid, sid, rid, callback);
} else {
jsxc.debug('New connection');
@@ -201,6 +199,10 @@ jsxc.xmpp = {
jsxc.storage.removeUserItem('windowlist');
jsxc.storage.removeUserItem('unreadMsg');
if (jsxc.gui.favicon) {
jsxc.gui.favicon.badge(0);
}
// Hide dropdown menu
$('body').click();
@@ -294,6 +296,7 @@ jsxc.xmpp = {
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onRosterChanged, 'jabber:iq:roster', 'iq', 'set');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onChatMessage, null, 'message', 'chat');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onErrorMessage, null, 'message', 'error');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onHeadlineMessage, null, 'message', 'headline');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onReceived, null, 'message');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onPresence, null, 'presence');
@@ -338,8 +341,10 @@ jsxc.xmpp = {
}
}
var rosterLoaded = jsxc.storage.getUserItem('rosterLoaded');
// Only load roaster if necessary
if (!jsxc.reconnect) {
if (rosterLoaded !== jsxc.xmpp.conn._proto.sid) {
// in order to not overide existing presence information, we send
// pres first after roster is ready
$(document).one('cloaded.roster.jsxc', jsxc.xmpp.sendPres);
@@ -489,7 +494,6 @@ jsxc.xmpp = {
window.clearInterval(jsxc.keepaliveInterval);
jsxc.role_allocation = false;
jsxc.master = false;
jsxc.reconnect = false;
jsxc.storage.removeItem('alive');
jsxc.changeState(jsxc.CONST.STATE.SUSPEND);
@@ -540,6 +544,8 @@ jsxc.xmpp = {
onRoster: function(iq) {
jsxc.debug('Load roster', iq);
jsxc.storage.setUserItem('rosterLoaded', jsxc.xmpp.conn._proto.sid);
if ($(iq).find('query').length === 0) {
jsxc.debug('Use cached roster');
@@ -909,7 +915,7 @@ jsxc.xmpp = {
if (chat.length === 0) {
jsxc.notice.add({
msg: $.t('Unknown_sender'),
description: $.t('You_received_a_message_from_an_unknown_sender') + ' (' + bid + ').'
description: $.t('You_received_a_message_from_an_unknown_sender_') + ' (' + bid + ').'
}, 'gui.showUnknownSender', [bid]);
}
@@ -961,6 +967,7 @@ jsxc.xmpp = {
var httpUploadElement = htmlBody.find('a[data-type][data-name][data-size]');
if (httpUploadElement.length === 1) {
// deprecated syntax @since 3.2.1
attachment = {
type: httpUploadElement.attr('data-type'),
name: httpUploadElement.attr('data-name'),
@@ -979,6 +986,44 @@ jsxc.xmpp = {
if (!attachment.type.match(/^[a-z]+\/[a-z0-9-+.*]+$/i) || !attachment.name.match(/^[\s\w.,-]+$/i) || !attachment.size.match(/^\d+$/i)) {
attachment = undefined;
jsxc.warn('Invalid file type, name or size.');
}
} else if (htmlBody.find('>a').length === 1) {
var linkElement = htmlBody.find('>a');
var metaString = '';
var thumbnail;
if (linkElement.find('>img').length === 1) {
var imgElement = linkElement.find('>img');
var src = imgElement.attr('src') || '';
var altString = imgElement.attr('alt') || '';
metaString = altString.replace(/^Preview:/, '');
if (src.match(/^\s*data:[a-z]+\/[a-z0-9-+.*]+;base64,[a-z0-9=+/]+$/i)) {
thumbnail = src;
}
} else {
metaString = linkElement.text();
}
var metaMatch = metaString.match(/^([a-z]+\/[a-z0-9-+.*]+)\|(\d+)\|([\s\w.,-]+)/);
if (metaMatch) {
attachment = {
type: metaMatch[1],
size: metaMatch[2],
name: metaMatch[3],
};
if (thumbnail) {
attachment.thumbnail = thumbnail;
}
if (linkElement.attr('href') && linkElement.attr('href').match(/^https?:\/\//)) {
attachment.data = linkElement.attr('href');
body = null;
}
} else {
jsxc.warn('Invalid file type, name or size.');
}
}
@@ -988,7 +1033,6 @@ jsxc.xmpp = {
// @TODO check for file upload url after decryption
jsxc.otr.objects[bid].receiveMsg(body, {
_uid: mid,
foo: 'bar',
stamp: stamp,
forwarded: forwarded,
attachment: attachment
@@ -1010,6 +1054,58 @@ jsxc.xmpp = {
return true;
},
onErrorMessage: function(message) {
var bid = jsxc.jidToBid($(message).attr('from'));
if (jsxc.gui.window.get(bid).length === 0 || !$(message).attr('id')) {
return true;
}
if ($(message).find('item-not-found').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_item-not-found')
});
} else if ($(message).find('forbidden').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_forbidden')
});
} else if ($(message).find('not-acceptable').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_not-acceptable')
});
} else if ($(message).find('remote-server-not-found').length > 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_remote-server-not-found')
});
} else if ($(message).find('service-unavailable').length > 0) {
if ($(message).find('[xmlns="' + Strophe.NS.CHATSTATES + '"]').length === 0) {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send_resource-unavailable')
});
}
} else {
jsxc.gui.window.postMessage({
bid: bid,
direction: jsxc.Message.SYS,
msg: $.t('message_not_send')
});
}
jsxc.debug('error message for ' + bid, $(message).find('error')[0]);
return true;
},
/**
* Process message stanzas of type headline.
*
@@ -1123,9 +1219,9 @@ jsxc.xmpp = {
type: 'subscribe'
}));
jsxc.storage.removeUserItem('add_' + bid);
jsxc.storage.removeUserItem('add', bid);
} else {
jsxc.storage.setUserItem('add_' + bid, {
jsxc.storage.setUserItem('add', bid, {
username: username,
alias: alias || null
});
@@ -1177,7 +1273,7 @@ jsxc.xmpp = {
*/
sendMessage: function(message) {
var bid = message.bid;
var msg = message.htmlMsg;
var msg = message.msg;
var mucRoomNames = (jsxc.xmpp.conn.muc && jsxc.xmpp.conn.muc.roomNames) ? jsxc.xmpp.conn.muc.roomNames : [];
var isMucBid = mucRoomNames.indexOf(bid) >= 0;
@@ -1211,18 +1307,14 @@ jsxc.xmpp = {
id: message._uid
});
if (message.type === jsxc.Message.HTML) {
xmlMsg.c("html", {
if (message.type === jsxc.Message.HTML && msg === message.msg && message.htmlMsg) {
xmlMsg.c('body').t(msg);
xmlMsg.up().c('html', {
xmlns: Strophe.NS.XHTML_IM
});
// Omit StropheJS XEP-0071 limitations
var body = Strophe.xmlElement("body", {
}).c('body', {
xmlns: Strophe.NS.XHTML
});
body.innerHTML = msg;
xmlMsg.node.appendChild(body);
}).h(message.htmlMsg).up();
} else {
xmlMsg.c('body').t(msg);
}