Upload files to "resources/css/customcss"
This commit is contained in:
parent
ec3c53afbd
commit
6f4768213e
125456
resources/css/customcss/converse-no-dependencies.js
Normal file
125456
resources/css/customcss/converse-no-dependencies.js
Normal file
File diff suppressed because one or more lines are too long
1
resources/css/customcss/converse-no-dependencies.js.map
Normal file
1
resources/css/customcss/converse-no-dependencies.js.map
Normal file
File diff suppressed because one or more lines are too long
1
resources/css/customcss/converse.min.js.map
Normal file
1
resources/css/customcss/converse.min.js.map
Normal file
File diff suppressed because one or more lines are too long
11
resources/css/customcss/emojis.js
Normal file
11
resources/css/customcss/emojis.js
Normal file
File diff suppressed because one or more lines are too long
125
resources/css/customcss/shared-connection-worker.js
Normal file
125
resources/css/customcss/shared-connection-worker.js
Normal file
@ -0,0 +1,125 @@
|
||||
/** @type {ConnectionManager} */
|
||||
let manager;
|
||||
|
||||
const Status = {
|
||||
ERROR: 0,
|
||||
CONNECTING: 1,
|
||||
CONNFAIL: 2,
|
||||
AUTHENTICATING: 3,
|
||||
AUTHFAIL: 4,
|
||||
CONNECTED: 5,
|
||||
DISCONNECTED: 6,
|
||||
DISCONNECTING: 7,
|
||||
ATTACHED: 8,
|
||||
REDIRECT: 9,
|
||||
CONNTIMEOUT: 10,
|
||||
BINDREQUIRED: 11,
|
||||
ATTACHFAIL: 12,
|
||||
};
|
||||
|
||||
/** Class: ConnectionManager
|
||||
*
|
||||
* Manages the shared websocket connection as well as the ports of the
|
||||
* connected tabs.
|
||||
*/
|
||||
class ConnectionManager {
|
||||
constructor() {
|
||||
/** @type {MessagePort[]} */
|
||||
this.ports = [];
|
||||
}
|
||||
|
||||
/** @param {MessagePort} port */
|
||||
addPort(port) {
|
||||
this.ports.push(port);
|
||||
port.addEventListener('message', (e) => {
|
||||
const method = e.data[0];
|
||||
try {
|
||||
this[/** @type {'send'|'_closeSocket'}*/ (method)](e.data.splice(1));
|
||||
} catch (e) {
|
||||
console?.error(e);
|
||||
}
|
||||
});
|
||||
port.start();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {[string, string]} data
|
||||
*/
|
||||
_connect(data) {
|
||||
this.jid = data[1];
|
||||
this._closeSocket();
|
||||
this.socket = new WebSocket(data[0], 'xmpp');
|
||||
this.socket.onopen = () => this._onOpen();
|
||||
this.socket.onerror = (e) => this._onError(e);
|
||||
this.socket.onclose = (e) => this._onClose(e);
|
||||
this.socket.onmessage = (message) => this._onMessage(message);
|
||||
}
|
||||
|
||||
_attach() {
|
||||
if (this.socket && this.socket.readyState !== WebSocket.CLOSED) {
|
||||
this.ports.forEach((p) => p.postMessage(['_attachCallback', Status.ATTACHED, this.jid]));
|
||||
} else {
|
||||
this.ports.forEach((p) => p.postMessage(['_attachCallback', Status.ATTACHFAIL]));
|
||||
}
|
||||
}
|
||||
|
||||
/** @param {string} str */
|
||||
send(str) {
|
||||
this.socket.send(str);
|
||||
}
|
||||
|
||||
/** @param {string} str */
|
||||
close(str) {
|
||||
if (this.socket && this.socket.readyState !== WebSocket.CLOSED) {
|
||||
try {
|
||||
this.socket.send(str);
|
||||
} catch (e) {
|
||||
this.ports.forEach((p) => p.postMessage(['log', 'error', e]));
|
||||
this.ports.forEach((p) => p.postMessage(['log', 'error', "Couldn't send <close /> tag."]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_onOpen() {
|
||||
this.ports.forEach((p) => p.postMessage(['_onOpen']));
|
||||
}
|
||||
|
||||
/** @param {CloseEvent} e */
|
||||
_onClose(e) {
|
||||
this.ports.forEach((p) => p.postMessage(['_onClose', e.reason]));
|
||||
}
|
||||
|
||||
/** @param {MessageEvent} message */
|
||||
_onMessage(message) {
|
||||
const o = { 'data': message.data };
|
||||
this.ports.forEach((p) => p.postMessage(['_onMessage', o]));
|
||||
}
|
||||
|
||||
/** @param {Event} error */
|
||||
_onError(error) {
|
||||
this.ports.forEach((p) => p.postMessage(['_onError', error]));
|
||||
}
|
||||
|
||||
_closeSocket() {
|
||||
if (this.socket) {
|
||||
try {
|
||||
this.socket.onclose = null;
|
||||
this.socket.onerror = null;
|
||||
this.socket.onmessage = null;
|
||||
this.socket.close();
|
||||
} catch (e) {
|
||||
this.ports.forEach((p) => p.postMessage(['log', 'error', e]));
|
||||
}
|
||||
}
|
||||
this.socket = null;
|
||||
}
|
||||
}
|
||||
|
||||
addEventListener(
|
||||
'connect',
|
||||
/** @param {MessageEvent} e */
|
||||
(e) => {
|
||||
manager = manager || new ConnectionManager();
|
||||
manager.addPort(e.ports[0]);
|
||||
}
|
||||
);
|
Loading…
x
Reference in New Issue
Block a user