Comparar commits
23 Commits
| Autor | SHA1 | Data | |
|---|---|---|---|
| 66ca116934 | |||
| dbc6ed082c | |||
| e7c5473298 | |||
| 2231d19c35 | |||
| 6e1622a6be | |||
| 0fbcca2f5e | |||
| f65be0b254 | |||
| da3b092628 | |||
| 46bab87c9a | |||
| 2f2924eba3 | |||
| 7d563d7c91 | |||
| f7c7f6c26f | |||
| c25195a8e4 | |||
| 60ed6299ce | |||
| 00c9bda017 | |||
| 764eb2230a | |||
| 8f0bc35e87 | |||
| b34dbb3238 | |||
| e098951454 | |||
| 5cb76e748b | |||
| 8f318182fb | |||
| 5ead597881 | |||
| 14e7cdc537 |
@@ -1,5 +1,7 @@
|
||||
language: node_js
|
||||
|
||||
dist: trusty
|
||||
|
||||
node_js:
|
||||
- "node"
|
||||
|
||||
|
||||
@@ -6,6 +6,23 @@ 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)
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jsxc",
|
||||
"version": "3.2.0-beta.2",
|
||||
"version": "3.2.1",
|
||||
"homepage": "https://www.jsxc.org",
|
||||
"authors": [
|
||||
"sualko <klaus@jsxc.org>"
|
||||
|
||||
@@ -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 {
|
||||
|
||||
+140
-46
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* jsxc v3.2.0 - 2017-05-17
|
||||
* 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
|
||||
* @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',
|
||||
version: '3.2.1',
|
||||
|
||||
/** True if i'm the master */
|
||||
master: false,
|
||||
@@ -293,6 +293,7 @@ jsxc = {
|
||||
lng: lang,
|
||||
fallbackLng: 'en',
|
||||
resources: I18next,
|
||||
returnNull: false,
|
||||
debug: jsxc.storage.getItem('debug') === true,
|
||||
interpolation: {
|
||||
prefix: '__',
|
||||
@@ -1187,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();
|
||||
|
||||
@@ -1951,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'),
|
||||
@@ -1969,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.');
|
||||
}
|
||||
}
|
||||
@@ -1978,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
|
||||
@@ -2219,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;
|
||||
@@ -2253,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);
|
||||
}
|
||||
@@ -4121,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++;
|
||||
@@ -4532,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);
|
||||
});
|
||||
|
||||
@@ -5216,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);
|
||||
@@ -5285,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
|
||||
*
|
||||
@@ -5595,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;
|
||||
}
|
||||
@@ -5671,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.
|
||||
*
|
||||
@@ -5681,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)) {
|
||||
@@ -5789,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;
|
||||
}
|
||||
|
||||
@@ -5804,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);
|
||||
});
|
||||
@@ -6098,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
|
||||
@@ -6998,6 +7076,7 @@ jsxc.muc = {
|
||||
});
|
||||
|
||||
var destroy = $('<a>');
|
||||
destroy.attr('href', '#');
|
||||
destroy.text($.t('Destroy'));
|
||||
destroy.addClass('jsxc_destroy');
|
||||
destroy.hide();
|
||||
@@ -7008,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();
|
||||
@@ -7036,6 +7116,7 @@ jsxc.muc = {
|
||||
}
|
||||
|
||||
var leave = $('<a>');
|
||||
leave.attr('href', '#');
|
||||
leave.text($.t('Leave'));
|
||||
leave.addClass('jsxc_leave');
|
||||
leave.click(function() {
|
||||
@@ -7857,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';
|
||||
}
|
||||
};
|
||||
|
||||
@@ -12089,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);
|
||||
});
|
||||
@@ -12249,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();
|
||||
}
|
||||
});
|
||||
|
||||
externo
+9
-9
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
externo
+8
-8
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
+1
-1
@@ -458,7 +458,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -3620,7 +3620,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -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#line221">line 221</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>
|
||||
|
||||
|
||||
@@ -1020,7 +1020,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -658,7 +658,7 @@ otherwise only dialog with given name is closed.
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
+1
-1
@@ -3971,7 +3971,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -536,7 +536,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -1707,7 +1707,7 @@ alphabetical of the name
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
+20
-20
@@ -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#line2342">line 2342</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#line2466">line 2466</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#line2612">line 2612</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#line2387">line 2387</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#line2853">line 2853</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#line2317">line 2317</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#line2292">line 2292</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#line2441">line 2441</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#line2480">line 2480</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>
|
||||
|
||||
|
||||
@@ -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#line2303">line 2303</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>
|
||||
|
||||
|
||||
@@ -2140,7 +2140,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#line2516">line 2516</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>
|
||||
|
||||
|
||||
@@ -2293,7 +2293,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#line2508">line 2508</a>
|
||||
<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#line2885">line 2885</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#line2223">line 2223</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#line2817">line 2817</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#line2495">line 2495</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#line2807">line 2807</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#line2374">line 2374</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#line2352">line 2352</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>
|
||||
|
||||
|
||||
@@ -3441,7 +3441,7 @@ and save. Check border cases and remove html.
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
+24
-24
@@ -1571,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#line619">line 619</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line620">line 620</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1879,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#line710">line 710</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line711">line 711</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2133,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#line817">line 817</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line818">line 818</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2287,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#line912">line 912</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line913">line 913</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2520,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#line888">line 888</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line889">line 889</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2673,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#line932">line 932</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line933">line 933</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2918,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#line860">line 860</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line861">line 861</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3022,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#line461">line 461</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line462">line 462</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3170,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#line735">line 735</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line736">line 736</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3311,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#line720">line 720</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line721">line 721</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3415,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#line670">line 670</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line671">line 671</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3498,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#line681">line 681</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line682">line 682</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3580,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#line597">line 597</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line598">line 598</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3662,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#line579">line 579</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line580">line 580</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3839,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#line473">line 473</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line474">line 474</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3970,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#line700">line 700</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line701">line 701</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4118,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#line829">line 829</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line830">line 830</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4210,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#line742">line 742</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line743">line 743</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4292,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#line764">line 764</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line765">line 765</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4469,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#line407">line 407</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line408">line 408</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4551,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#line663">line 663</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line664">line 664</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4633,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#line794">line 794</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line795">line 795</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -4787,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#line840">line 840</a>
|
||||
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line841">line 841</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -5011,7 +5011,7 @@ normal signal
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -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
|
||||
@@ -309,7 +309,7 @@ jsxc.Message.PLAIN = 'plain';
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -64,7 +64,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;
|
||||
}
|
||||
@@ -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,27 +171,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)) {
|
||||
@@ -258,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;
|
||||
}
|
||||
|
||||
@@ -273,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);
|
||||
});
|
||||
@@ -292,7 +318,7 @@ $(document).on('update.gui.jsxc', function(ev, bid) {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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,7 +207,7 @@ jsxc.gui.avatar.processQueue = function() {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -1672,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++;
|
||||
@@ -2083,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);
|
||||
});
|
||||
|
||||
@@ -2767,7 +2771,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);
|
||||
@@ -2836,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('<span>' + $(this).text() + '</span>');
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Load old log into chat area
|
||||
*
|
||||
@@ -3123,7 +3136,7 @@ jsxc.gui.template.get = function(name, bid, msg) {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -301,6 +301,7 @@ jsxc = {
|
||||
lng: lang,
|
||||
fallbackLng: 'en',
|
||||
resources: I18next,
|
||||
returnNull: false,
|
||||
debug: jsxc.storage.getItem('debug') === true,
|
||||
interpolation: {
|
||||
prefix: '__',
|
||||
@@ -1009,7 +1010,7 @@ jsxc = {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -782,6 +782,7 @@ jsxc.muc = {
|
||||
});
|
||||
|
||||
var destroy = $('<a>');
|
||||
destroy.attr('href', '#');
|
||||
destroy.text($.t('Destroy'));
|
||||
destroy.addClass('jsxc_destroy');
|
||||
destroy.hide();
|
||||
@@ -792,6 +793,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();
|
||||
@@ -820,6 +822,7 @@ jsxc.muc = {
|
||||
}
|
||||
|
||||
var leave = $('<a>');
|
||||
leave.attr('href', '#');
|
||||
leave.text($.t('Leave'));
|
||||
leave.addClass('jsxc_leave');
|
||||
leave.click(function() {
|
||||
@@ -1641,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';
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1671,7 +1682,7 @@ $(document).one('connected.jsxc', function() {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -195,7 +195,7 @@ jsxc.notice = {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -319,7 +319,7 @@ jsxc.notification = {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -355,7 +355,7 @@ jsxc.options = {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -576,7 +576,7 @@ jsxc.otr = {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -685,7 +685,7 @@ jsxc.storage = {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -102,7 +102,7 @@ jsxc.tab = {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -1527,7 +1527,7 @@ $(document).ready(function() {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -387,7 +387,7 @@ jsxc.xmpp.bookmarks.showDialog = function(room) {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -276,7 +276,7 @@ $(document).on('attached.jsxc', jsxc.xmpp.chatState.init);
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -190,22 +190,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);
|
||||
});
|
||||
@@ -350,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();
|
||||
}
|
||||
});
|
||||
@@ -371,7 +376,7 @@ $(document).on('stateChange.jsxc', function(ev, state) {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
+51
-13
@@ -227,6 +227,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();
|
||||
|
||||
@@ -991,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'),
|
||||
@@ -1009,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') && linkElement.attr('href').match(/^https?:\/\//)) {
|
||||
attachment.data = linkElement.attr('href');
|
||||
body = null;
|
||||
}
|
||||
} else {
|
||||
jsxc.warn('Invalid file type, name or size.');
|
||||
}
|
||||
}
|
||||
@@ -1018,7 +1061,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
|
||||
@@ -1259,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 && jsxc.xmpp.conn.muc.roomNames) ? jsxc.xmpp.conn.muc.roomNames : [];
|
||||
var isMucBid = mucRoomNames.indexOf(bid) >= 0;
|
||||
@@ -1293,18 +1335,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);
|
||||
}
|
||||
@@ -1530,7 +1568,7 @@ jsxc.xmpp.carbons = {
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -259,7 +259,7 @@ $(document).on('init.window.jsxc', jsxc.xmpp.mam.initWindow);
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
+9
-9
@@ -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#line1457">line 1457</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>
|
||||
|
||||
|
||||
@@ -344,7 +344,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#line985">line 985</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line988">line 988</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#line1315">line 1315</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>
|
||||
|
||||
|
||||
@@ -1033,7 +1033,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#line1228">line 1228</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1231">line 1231</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1607,7 +1607,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#line961">line 961</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line964">line 964</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1783,7 +1783,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#line1193">line 1193</a>
|
||||
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1196">line 1196</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#line1270">line 1270</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#line1286">line 1286</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>
|
||||
|
||||
|
||||
@@ -2446,7 +2446,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -1405,7 +1405,7 @@ messages.
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -2755,7 +2755,7 @@ modification is done to it.
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
+1
-1
@@ -2220,7 +2220,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -2332,7 +2332,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
+1
-1
@@ -434,7 +434,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -3444,7 +3444,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -1022,7 +1022,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -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#line1411">line 1411</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#line1451">line 1451</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#line1425">line 1425</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#line1477">line 1477</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>
|
||||
|
||||
|
||||
@@ -504,7 +504,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -1208,7 +1208,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
+11
-11
@@ -251,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#line1159">line 1159</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>
|
||||
|
||||
|
||||
@@ -377,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#line1344">line 1344</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>
|
||||
|
||||
|
||||
@@ -564,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#line1367">line 1367</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>
|
||||
|
||||
|
||||
@@ -748,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#line1321">line 1321</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>
|
||||
|
||||
|
||||
@@ -1028,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#line1073">line 1073</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>
|
||||
|
||||
|
||||
@@ -1128,7 +1128,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#line1102">line 1102</a>
|
||||
<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>
|
||||
|
||||
|
||||
@@ -1259,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#line1194">line 1194</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>
|
||||
|
||||
|
||||
@@ -1413,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#line1138">line 1138</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>
|
||||
|
||||
|
||||
@@ -1575,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#line1232">line 1232</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>
|
||||
|
||||
|
||||
@@ -1657,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#line403">line 403</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>
|
||||
|
||||
|
||||
@@ -1705,7 +1705,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -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#line298">line 298</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>
|
||||
|
||||
|
||||
@@ -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#line241">line 241</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>
|
||||
|
||||
|
||||
@@ -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#line274">line 274</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#line197">line 197</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>
|
||||
|
||||
|
||||
@@ -1316,7 +1316,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Wed May 17 2017 13:19:50 GMT+0200 (CEST)
|
||||
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>
|
||||
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"Load_older_messages": "Ältere Nachrichten laden",
|
||||
"Message_history": "Nachrichten Verlauf",
|
||||
"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
-284
@@ -1,312 +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,
|
||||
"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,
|
||||
"You_have_to_go_online_": 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_": "Θα πρέπει να συνδεθείτε στο διαδίκτυο για να εκτελέσετε αυτήν τη λειτουργία."
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"Load_older_messages": "Load older messages",
|
||||
"Message_history": "Message history",
|
||||
"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."
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"Load_older_messages": "Charger des messages plus anciens",
|
||||
"Message_history": 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"
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"Load_older_messages": "Oudere berichten laden",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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."
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"Load_older_messages": "Eski iletileri yükle",
|
||||
"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."
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"Load_older_messages": "下載舊訊息",
|
||||
"Message_history": "訊息紀錄",
|
||||
"setting-mam-enable": "打開後就可以從伺服器取得儲存訊息",
|
||||
"File_too_large": "檔案太大了",
|
||||
"No_proper_file_transfer_method_available": "沒有適合的檔案傳輸方式",
|
||||
"You_have_to_go_online_": "必須要上線才能執行這個動作。"
|
||||
}
|
||||
}
|
||||
@@ -307,6 +307,8 @@
|
||||
"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
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jsxc",
|
||||
"version": "3.2.0",
|
||||
"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",
|
||||
|
||||
+1
-1
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
+7
-1
@@ -211,7 +211,7 @@
|
||||
}
|
||||
|
||||
li {
|
||||
div {
|
||||
span {
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
border-radius: 3px;
|
||||
@@ -548,6 +548,12 @@
|
||||
background-image: image-url("filetypes/text.svg");
|
||||
}
|
||||
}
|
||||
|
||||
.jsxc_emoticon.jsxc_large {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
}
|
||||
|
||||
.jsxc_timestamp {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
+23
-6
@@ -1113,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);
|
||||
}
|
||||
|
||||
@@ -1121,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);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1422,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 + ')');
|
||||
@@ -1644,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++;
|
||||
@@ -2055,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);
|
||||
});
|
||||
|
||||
@@ -2546,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);
|
||||
@@ -2739,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);
|
||||
@@ -2808,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
|
||||
*
|
||||
|
||||
+70
-2
@@ -273,6 +273,7 @@ jsxc = {
|
||||
lng: lang,
|
||||
fallbackLng: 'en',
|
||||
resources: I18next,
|
||||
returnNull: false,
|
||||
debug: jsxc.storage.getItem('debug') === true,
|
||||
interpolation: {
|
||||
prefix: '__',
|
||||
@@ -294,6 +295,7 @@ jsxc = {
|
||||
window.addEventListener('storage', jsxc.storage.onStorage, false);
|
||||
|
||||
$(document).on('attached.jsxc', jsxc.registerLogout);
|
||||
$(document).on('disconnected.jsxc', jsxc.relogin);
|
||||
|
||||
var isStorageAttachParameters = jsxc.storage.getItem('rid') && jsxc.storage.getItem('sid') && jsxc.storage.getItem('jid');
|
||||
var isOptionsAttachParameters = jsxc.options.xmpp.rid && jsxc.options.xmpp.sid && jsxc.options.xmpp.jid;
|
||||
@@ -302,6 +304,10 @@ jsxc = {
|
||||
// Check if we have to establish a new connection
|
||||
if ((!isStorageAttachParameters && !isOptionsAttachParameters) || isForceLoginForm) {
|
||||
|
||||
if (jsxc.relogin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// clean up rid and sid
|
||||
jsxc.storage.removeItem('rid');
|
||||
jsxc.storage.removeItem('sid');
|
||||
@@ -413,8 +419,8 @@ jsxc = {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (jsxc.xmpp.conn && jsxc.xmpp.connected) {
|
||||
jsxc.debug('We are already connected');
|
||||
if (jsxc.xmpp.conn && jsxc.xmpp.conn.authenticated) {
|
||||
jsxc.debug('We are already connected and authenticated');
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -433,6 +439,47 @@ jsxc = {
|
||||
});
|
||||
},
|
||||
|
||||
relogin: function() {
|
||||
jsxc.debug('Try to relogin');
|
||||
|
||||
var jid = jsxc.storage.getItem('jid');
|
||||
jsxc.bid = jsxc.bid || (jid ? jsxc.jidToBid(jid) : null);
|
||||
|
||||
if (!jsxc.bid || jsxc.storage.getUserItem('forcedLogout')) {
|
||||
jsxc.debug('Logout was forced or I found no valid jid');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
var xmppOptions = jsxc.options.xmpp;
|
||||
|
||||
if (xmppOptions.url && (xmppOptions.jid || (xmppOptions.username && xmppOptions.domain)) && xmppOptions.password) {
|
||||
xmppOptions.jid = xmppOptions.jid || (xmppOptions.username + xmppOptions.domain);
|
||||
|
||||
jsxc.start(xmppOptions.jid, xmppOptions.password);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
var loadSettingsAllKnowing = jsxc.storage.getUserItem('loadSettingsAllKnowing');
|
||||
|
||||
if (xmppOptions.url && loadSettingsAllKnowing) {
|
||||
jsxc.options.loadSettings(null, null, function(settings) {
|
||||
jsxc._prepareLogin(null, null, function(settings) {
|
||||
if (settings !== false) {
|
||||
jsxc.start(jsxc.options.xmpp.jid, jsxc.options.xmpp.password);
|
||||
}
|
||||
}, settings);
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
jsxc.debug('I am not able to relogin');
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
registerLogout: function() {
|
||||
// Looking for logout element
|
||||
if (jsxc.options.logoutElement !== null && $(jsxc.options.logoutElement).length > 0) {
|
||||
@@ -570,6 +617,11 @@ jsxc = {
|
||||
jsxc.options.xmpp.jid = jid;
|
||||
jsxc.options.xmpp.password = password;
|
||||
|
||||
var tempBid = jsxc.bid;
|
||||
jsxc.bid = jsxc.jidToBid(jid);
|
||||
jsxc.storage.setUserItem('loadSettingsAllKnowing', !!jid && !!password);
|
||||
jsxc.bid = tempBid;
|
||||
|
||||
cb(settings);
|
||||
},
|
||||
|
||||
@@ -963,5 +1015,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++;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -754,6 +754,7 @@ jsxc.muc = {
|
||||
});
|
||||
|
||||
var destroy = $('<a>');
|
||||
destroy.attr('href', '#');
|
||||
destroy.text($.t('Destroy'));
|
||||
destroy.addClass('jsxc_destroy');
|
||||
destroy.hide();
|
||||
@@ -764,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();
|
||||
@@ -792,6 +794,7 @@ jsxc.muc = {
|
||||
}
|
||||
|
||||
var leave = $('<a>');
|
||||
leave.attr('href', '#');
|
||||
leave.text($.t('Leave'));
|
||||
leave.addClass('jsxc_leave');
|
||||
leave.click(function() {
|
||||
@@ -1613,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';
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
});
|
||||
|
||||
+55
-13
@@ -184,6 +184,8 @@ jsxc.xmpp = {
|
||||
*/
|
||||
logout: function(complete) {
|
||||
|
||||
jsxc.storage.setUserItem('forcedLogout', true);
|
||||
|
||||
jsxc.triggeredFromElement = (typeof complete === 'boolean') ? complete : true;
|
||||
|
||||
if (!jsxc.master) {
|
||||
@@ -199,6 +201,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();
|
||||
|
||||
@@ -258,6 +264,8 @@ jsxc.xmpp = {
|
||||
var rosterVerSupport = $(jsxc.xmpp.conn.features).find('[xmlns="urn:xmpp:features:rosterver"]').length > 0;
|
||||
jsxc.storage.setUserItem('rosterVerSupport', rosterVerSupport);
|
||||
|
||||
jsxc.storage.removeUserItem('forcedLogout');
|
||||
|
||||
if (jsxc.options.loginForm.triggered) {
|
||||
switch (jsxc.options.loginForm.onConnected || 'submit') {
|
||||
case 'submit':
|
||||
@@ -456,7 +464,7 @@ jsxc.xmpp = {
|
||||
disconnected: function() {
|
||||
jsxc.debug('disconnected');
|
||||
|
||||
jsxc.storage.removeItem('jid');
|
||||
//jsxc.storage.removeItem('jid');
|
||||
jsxc.storage.removeItem('sid');
|
||||
jsxc.storage.removeItem('rid');
|
||||
jsxc.storage.removeItem('hidden');
|
||||
@@ -963,6 +971,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'),
|
||||
@@ -981,6 +990,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.');
|
||||
}
|
||||
}
|
||||
@@ -990,7 +1037,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
|
||||
@@ -1231,7 +1277,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;
|
||||
@@ -1265,18 +1311,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);
|
||||
}
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário