mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-05-05 22:57:11 -04:00
feat :migrate socket.io 2 -> 3
This commit is contained in:
parent
04cc3c8d54
commit
e7bfd0d9b1
8 changed files with 249 additions and 0 deletions
13
.vscode/settings.json
vendored
Normal file
13
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"eslint.enable": false,
|
||||
"prettier.enable": false,
|
||||
"javascript.format.enable": false,
|
||||
"editor.formatOnSave": false,
|
||||
"eslint.autoFixOnSave": false,
|
||||
"[javascript]": {
|
||||
"editor.formatOnSave": false
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.formatOnSave": false
|
||||
}
|
||||
}
|
|
@ -161,7 +161,11 @@ exports.handleConnect = (socket:any) => {
|
|||
/**
|
||||
* Kicks all sessions from a pad
|
||||
*/
|
||||
<<<<<<< HEAD:src/node/handler/PadMessageHandler.ts
|
||||
exports.kickSessionsFromPad = (padID: string) => {
|
||||
=======
|
||||
exports.kickSessionsFromPad = (padID) => {
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3):src/node/handler/PadMessageHandler.js
|
||||
if (typeof socketio.sockets.clients !== 'object') return;
|
||||
|
||||
// skip if there is nobody on this pad
|
||||
|
@ -665,7 +669,11 @@ const handleUserChanges = async (socket:any, message: typeof ChatMessage) => {
|
|||
thisSession.rev = newRev;
|
||||
if (newRev !== r) thisSession.time = await pad.getRevisionDate(newRev);
|
||||
await exports.updatePadClients(pad);
|
||||
<<<<<<< HEAD:src/node/handler/PadMessageHandler.ts
|
||||
} catch (err:any) {
|
||||
=======
|
||||
} catch (err) {
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3):src/node/handler/PadMessageHandler.js
|
||||
socket.emit('message', {disconnect: 'badChangeset'});
|
||||
stats.meter('failedChangesets').mark();
|
||||
messageLogger.warn(`Failed to apply USER_CHANGES from author ${thisSession.author} ` +
|
||||
|
@ -724,7 +732,11 @@ exports.updatePadClients = async (pad: PadType) => {
|
|||
};
|
||||
try {
|
||||
socket.emit('message', msg);
|
||||
<<<<<<< HEAD:src/node/handler/PadMessageHandler.ts
|
||||
} catch (err:any) {
|
||||
=======
|
||||
} catch (err) {
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3):src/node/handler/PadMessageHandler.js
|
||||
messageLogger.error(`Failed to notify user of new revision: ${err.stack || err}`);
|
||||
return;
|
||||
}
|
||||
|
@ -1250,7 +1262,11 @@ const _getRoomSockets = (padID: string) => {
|
|||
// it does here, but synchronously to avoid a race condition. This code will have to change when
|
||||
// we update to socket.io v3.
|
||||
const room = ns.adapter.rooms?.get(padID);
|
||||
<<<<<<< HEAD:src/node/handler/PadMessageHandler.ts
|
||||
|
||||
=======
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3):src/node/handler/PadMessageHandler.js
|
||||
if (!room) return [];
|
||||
|
||||
return Array.from(room)
|
||||
|
|
|
@ -7,7 +7,11 @@ const express = require('../express');
|
|||
const log4js = require('log4js');
|
||||
const proxyaddr = require('proxy-addr');
|
||||
const settings = require('../../utils/Settings');
|
||||
<<<<<<< HEAD
|
||||
import {Server} from 'socket.io'
|
||||
=======
|
||||
const {Server} = require('socket.io');
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
const socketIORouter = require('../../handler/SocketIORouter');
|
||||
const hooks = require('../../../static/js/pluginfw/hooks');
|
||||
const padMessageHandler = require('../../handler/PadMessageHandler');
|
||||
|
@ -48,7 +52,11 @@ exports.expressCloseServer = async () => {
|
|||
logger.info('All socket.io clients have disconnected');
|
||||
};
|
||||
|
||||
<<<<<<< HEAD
|
||||
exports.socketSessionMiddleware = (args: any) => (socket: any, next: Function) => {
|
||||
=======
|
||||
exports.socketSessionMiddleware = (socket: any, next: Function) => {
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
const req = socket.request;
|
||||
// Express sets req.ip but socket.io does not. Replicate Express's behavior here.
|
||||
if (req.ip == null) {
|
||||
|
@ -59,9 +67,17 @@ exports.socketSessionMiddleware = (args: any) => (socket: any, next: Function) =
|
|||
}
|
||||
}
|
||||
if (!req.headers.cookie) {
|
||||
<<<<<<< HEAD
|
||||
// socketio.js-client on node.js doesn't support cookies, so pass them via a query parameter.
|
||||
req.headers.cookie = socket.handshake.query.cookie;
|
||||
}
|
||||
=======
|
||||
// socketio.js-client on node.js doesn't support cookies (see https://git.io/JU8u9), so the
|
||||
// token and express_sid cookies have to be passed via a query parameter for unit tests.
|
||||
req.headers.cookie = socket.handshake.query.cookie;
|
||||
}
|
||||
// See: https://socket.io/docs/faq/#Usage-with-express-session
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
express.sessionMiddleware(req, {}, next);
|
||||
};
|
||||
|
||||
|
@ -74,9 +90,21 @@ exports.expressCreateServer = (hookName:string, args:ArgsExpressType, cb:Functio
|
|||
transports: settings.socketTransportProtocols,
|
||||
})
|
||||
|
||||
<<<<<<< HEAD
|
||||
function handleConnection() {
|
||||
return (socket: any) => {
|
||||
sockets.add(socket);
|
||||
=======
|
||||
io.on('connection', (socket:any) => {
|
||||
sockets.add(socket);
|
||||
socketsEvents.emit('updated');
|
||||
// https://socket.io/docs/v3/faq/index.html
|
||||
const session = socket.request.session;
|
||||
session.connections++;
|
||||
session.save();
|
||||
socket.on('disconnect', () => {
|
||||
sockets.delete(socket);
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
socketsEvents.emit('updated');
|
||||
// https://socket.io/docs/v3/faq/index.html
|
||||
const session = socket.request.session;
|
||||
|
@ -89,6 +117,7 @@ exports.expressCreateServer = (hookName:string, args:ArgsExpressType, cb:Functio
|
|||
};
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
io.on('connection', handleConnection);
|
||||
|
||||
io.use(exports.socketSessionMiddleware(args));
|
||||
|
@ -96,6 +125,9 @@ exports.expressCreateServer = (hookName:string, args:ArgsExpressType, cb:Functio
|
|||
// Temporary workaround so all clients go through middleware and handle connection
|
||||
io.of('/pluginfw/installer').use(exports.socketSessionMiddleware(args))
|
||||
io.of('/settings').use(exports.socketSessionMiddleware(args))
|
||||
=======
|
||||
io.use(exports.socketSessionMiddleware);
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
|
||||
io.use((socket:any, next:Function) => {
|
||||
socket.conn.on('packet', (packet:string) => {
|
||||
|
|
|
@ -63,7 +63,11 @@
|
|||
"security": "1.0.0",
|
||||
"semver": "^7.6.0",
|
||||
"socket.io": "^3.1.2",
|
||||
<<<<<<< HEAD
|
||||
"socket.io-client": "^4.7.4",
|
||||
=======
|
||||
"socket.io-client": "^3.1.2",
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
"superagent": "^8.1.2",
|
||||
"terser": "^5.28.1",
|
||||
"threads": "^1.7.0",
|
||||
|
@ -88,6 +92,7 @@
|
|||
"@types/sinon": "^17.0.3",
|
||||
"@types/supertest": "^6.0.2",
|
||||
"@types/underscore": "^1.11.15",
|
||||
"cypress": "^13.6.4",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint-config-etherpad": "^3.0.22",
|
||||
"etherpad-cli-client": "^3.0.1",
|
||||
|
@ -113,8 +118,13 @@
|
|||
},
|
||||
"scripts": {
|
||||
"lint": "eslint .",
|
||||
<<<<<<< HEAD
|
||||
"test": "mocha --import=tsx --timeout 120000 --recursive tests/backend/specs/**.ts tests/backend/specs/**/*.ts ../node_modules/ep_*/static/tests/backend/specs",
|
||||
"test-container": "mocha --import=tsx --timeout 5000 tests/container/specs/api",
|
||||
=======
|
||||
"test": "mocha --import=tsx --timeout 990000 --recursive tests/backend/specs ../node_modules/ep_*/static/tests/backend/specs",
|
||||
"test-container": "mocha --import=tsx --timeout 99000 tests/container/specs/api",
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
"dev": "node --import tsx node/server.ts",
|
||||
"prod": "node --import tsx node/server.ts",
|
||||
"ts-check": "tsc --noEmit",
|
||||
|
|
164
src/pnpm-lock.yaml
generated
164
src/pnpm-lock.yaml
generated
|
@ -105,8 +105,13 @@ dependencies:
|
|||
specifier: ^3.1.2
|
||||
version: 3.1.2
|
||||
socket.io-client:
|
||||
<<<<<<< HEAD
|
||||
specifier: ^3.1.3
|
||||
version: 3.1.3
|
||||
=======
|
||||
specifier: ^3.1.2
|
||||
version: 3.1.2
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
superagent:
|
||||
specifier: ^8.1.2
|
||||
version: 8.1.2
|
||||
|
@ -638,6 +643,10 @@ packages:
|
|||
|
||||
/@types/component-emitter@1.2.14:
|
||||
resolution: {integrity: sha512-lmPil1g82wwWg/qHSxMWkSKyJGQOK+ejXeMAAWyxNtVUD0/Ycj2maL63RAqpxVfdtvTfZkRnqzB0A9ft59y69g==}
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
dev: false
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
|
||||
/@types/connect@3.4.38:
|
||||
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
|
||||
|
@ -652,7 +661,11 @@ packages:
|
|||
/@types/cors@2.8.17:
|
||||
resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
|
||||
dependencies:
|
||||
<<<<<<< HEAD
|
||||
'@types/node': 20.11.19
|
||||
=======
|
||||
'@types/node': 20.11.17
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
dev: false
|
||||
|
||||
/@types/debug@4.1.12:
|
||||
|
@ -961,6 +974,13 @@ packages:
|
|||
engines: {node: '>=0.4.0'}
|
||||
hasBin: true
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
/after@0.8.2:
|
||||
resolution: {integrity: sha512-QbJ0NTQ/I9DI3uSJA4cbexiwQeRAfjPScqIbSjUDd9TOrcg6pTkdgziesOqxBMBzit8vFCTwrP27t13vFOORRA==}
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/agent-base@7.1.0:
|
||||
resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
|
||||
engines: {node: '>= 14'}
|
||||
|
@ -1134,6 +1154,13 @@ packages:
|
|||
is-shared-array-buffer: 1.0.2
|
||||
dev: true
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
/arraybuffer.slice@0.0.7:
|
||||
resolution: {integrity: sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==}
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/asap@2.0.6:
|
||||
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
|
||||
|
||||
|
@ -1233,6 +1260,13 @@ packages:
|
|||
resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==}
|
||||
dev: true
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
/blob@0.0.5:
|
||||
resolution: {integrity: sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==}
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/bluebird@3.7.2:
|
||||
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
|
||||
dev: true
|
||||
|
@ -1468,9 +1502,23 @@ packages:
|
|||
engines: {node: '>=4.0.0'}
|
||||
dev: true
|
||||
|
||||
<<<<<<< HEAD
|
||||
/component-emitter@1.3.1:
|
||||
resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==}
|
||||
|
||||
=======
|
||||
/component-bind@1.0.0:
|
||||
resolution: {integrity: sha512-WZveuKPeKAG9qY+FkYDeADzdHyTYdIboXS59ixDeRJL5ZhxpqUnxSOwop4FQjMsiYm3/Or8cegVbpAHNA7pHxw==}
|
||||
dev: true
|
||||
|
||||
/component-emitter@1.3.1:
|
||||
resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==}
|
||||
|
||||
/component-inherit@0.0.3:
|
||||
resolution: {integrity: sha512-w+LhYREhatpVqTESyGFg3NlP6Iu0kEKUHETY9GoZP/pQyW4mHFZuFWRUCIqVPZ36ueVLtoOEZaAqbCF2RDndaA==}
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
|
@ -1632,6 +1680,20 @@ packages:
|
|||
ms: 2.0.0
|
||||
dev: false
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
/debug@3.1.0:
|
||||
resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==}
|
||||
peerDependencies:
|
||||
supports-color: '*'
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
dependencies:
|
||||
ms: 2.0.0
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/debug@3.2.7(supports-color@8.1.1):
|
||||
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
|
||||
peerDependencies:
|
||||
|
@ -1803,12 +1865,49 @@ packages:
|
|||
- bufferutil
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
dev: true
|
||||
|
||||
/engine.io-client@4.1.4:
|
||||
resolution: {integrity: sha512-843fqAdKeUMFqKi1sSjnR11tJ4wi8sIefu6+JC1OzkkJBmjtc/gM/rZ53tJfu5Iae/3gApm5veoS+v+gtT0+Fg==}
|
||||
dependencies:
|
||||
base64-arraybuffer: 0.1.4
|
||||
component-emitter: 1.3.1
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
engine.io-parser: 4.0.3
|
||||
has-cors: 1.1.0
|
||||
parseqs: 0.0.6
|
||||
parseuri: 0.0.6
|
||||
ws: 7.4.6
|
||||
xmlhttprequest-ssl: 1.6.3
|
||||
yeast: 0.1.2
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
dev: false
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
/engine.io-parser@2.2.1:
|
||||
resolution: {integrity: sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==}
|
||||
dependencies:
|
||||
after: 0.8.2
|
||||
arraybuffer.slice: 0.0.7
|
||||
base64-arraybuffer: 0.1.4
|
||||
blob: 0.0.5
|
||||
has-binary2: 1.0.3
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/engine.io-parser@4.0.3:
|
||||
resolution: {integrity: sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
dependencies:
|
||||
base64-arraybuffer: 0.1.4
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
dev: false
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
|
||||
/engine.io@4.1.2:
|
||||
resolution: {integrity: sha512-t5z6zjXuVLhXDMiFJPYsPOWEER8B0tIsD3ETgw19S1yg9zryvUfY3Vhtk3Gf4sihw/bQGIqQ//gjvVlu+Ca0bQ==}
|
||||
|
@ -2826,6 +2925,15 @@ packages:
|
|||
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
|
||||
dev: true
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
/has-binary2@1.0.3:
|
||||
resolution: {integrity: sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==}
|
||||
dependencies:
|
||||
isarray: 2.0.1
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/has-cors@1.1.0:
|
||||
resolution: {integrity: sha512-g5VNKdkFuUuVCP9gYfDJHjK2nqdQJ7aDLTnycnc2+RvsOQbuLdF5pm7vuE5J76SEBIQjs4kQY/BWq74JUmjbXA==}
|
||||
|
||||
|
@ -3075,6 +3183,13 @@ packages:
|
|||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
/indexof@0.0.1:
|
||||
resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==}
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
|
@ -3293,6 +3408,13 @@ packages:
|
|||
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
|
||||
dev: true
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
/isarray@2.0.1:
|
||||
resolution: {integrity: sha512-c2cu3UxbI+b6kR3fy0nRnAhodsvR9dx7U5+znCOzdj6IfP3upFURTr0Xl5BlQZNKZjEtxrmVyfSdeE3O57smoQ==}
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/isarray@2.0.5:
|
||||
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
|
||||
dev: true
|
||||
|
@ -4554,7 +4676,38 @@ packages:
|
|||
- bufferutil
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
dev: true
|
||||
|
||||
/socket.io-client@3.1.2:
|
||||
resolution: {integrity: sha512-fXhF8plHrd7U14A7K0JPOmZzpmGkLpIS6623DzrBZqYzI/yvlP4fA3LnxwthEVgiHmn2uJ4KjdnQD8A03PuBWQ==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
dependencies:
|
||||
'@types/component-emitter': 1.2.14
|
||||
backo2: 1.0.2
|
||||
component-emitter: 1.3.1
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
engine.io-client: 4.1.4
|
||||
parseuri: 0.0.6
|
||||
socket.io-parser: 4.0.5
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
dev: false
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
/socket.io-parser@3.3.3:
|
||||
resolution: {integrity: sha512-qOg87q1PMWWTeO01768Yh9ogn7chB9zkKtQnya41Y355S0UmpXgpcrFwAgjYJxu9BdKug5r5e9YtVSeWhKBUZg==}
|
||||
dependencies:
|
||||
component-emitter: 1.3.1
|
||||
debug: 3.1.0
|
||||
isarray: 2.0.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/socket.io-parser@4.0.5:
|
||||
resolution: {integrity: sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
|
@ -4571,7 +4724,11 @@ packages:
|
|||
dependencies:
|
||||
'@types/cookie': 0.4.1
|
||||
'@types/cors': 2.8.17
|
||||
<<<<<<< HEAD
|
||||
'@types/node': 20.11.19
|
||||
=======
|
||||
'@types/node': 20.11.17
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
accepts: 1.3.8
|
||||
base64id: 2.0.0
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
|
@ -4828,6 +4985,13 @@ packages:
|
|||
rimraf: 3.0.2
|
||||
dev: true
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
/to-array@0.1.4:
|
||||
resolution: {integrity: sha512-LhVdShQD/4Mk4zXNroIQZJC+Ap3zgLcDuwEdcmLv9CCO73NWockQDwyUnW/m8VX/EElfL6FcYx7EeutN4HJA6A==}
|
||||
dev: true
|
||||
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3)
|
||||
/to-regex-range@5.0.1:
|
||||
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
||||
engines: {node: '>=8.0'}
|
||||
|
|
|
@ -191,11 +191,17 @@ exports.handshake = async (socket: any, padId:string, token = padutils.generateA
|
|||
/**
|
||||
* Convenience wrapper around `socket.send()` that waits for acknowledgement.
|
||||
*/
|
||||
<<<<<<< HEAD:src/tests/backend/common.ts
|
||||
exports.sendMessage = async (socket: any, message:any) => await new Promise<void>((resolve, reject) => {
|
||||
socket.emit('message', message, (errInfo:{
|
||||
name: string,
|
||||
message: string,
|
||||
}) => {
|
||||
=======
|
||||
exports.sendMessage = async (socket, message) => await new Promise((resolve, reject) => {
|
||||
if(message.type === "CHANGESET_REQ")
|
||||
socket.emit('message', message, (errInfo) => {
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3):src/tests/backend/common.js
|
||||
if (errInfo != null) {
|
||||
const {name, message} = errInfo;
|
||||
const err = new Error(message);
|
||||
|
|
|
@ -41,7 +41,11 @@ const checkHook = async (hookName: string, checkFn?:CheckFN) => {
|
|||
});
|
||||
};
|
||||
|
||||
<<<<<<< HEAD:src/tests/backend/specs/chat.ts
|
||||
const sendMessage = (socket: any, data:any) => {
|
||||
=======
|
||||
const sendMessage = (socket, data) => {
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3):src/tests/backend/specs/chat.js
|
||||
socket.emit('message', {
|
||||
type: 'COLLABROOM',
|
||||
component: 'pad',
|
||||
|
|
|
@ -404,10 +404,14 @@ describe(__filename, function () {
|
|||
constructor(name: string, ...args:any) { super(...args); this.name = name; }
|
||||
};
|
||||
socket.emit('message', message,
|
||||
<<<<<<< HEAD:src/tests/backend/specs/socketio.ts
|
||||
(errj: {
|
||||
message: string,
|
||||
name: string,
|
||||
}, val: any) => errj != null ? reject(new AckErr(errj.name, errj.message)) : resolve(val));
|
||||
=======
|
||||
(errj, val) => errj != null ? reject(new AckErr(errj.name, errj.message)) : resolve(val));
|
||||
>>>>>>> 53a847ce4 (feat :migrate socket.io 2 -> 3):src/tests/backend/specs/socketio.js
|
||||
});
|
||||
|
||||
it('handleMessage with ack (success)', async function () {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue