feat(assist): fixed the issue with overwritten metadata
This commit is contained in:
parent
544457016a
commit
94b9a492f0
3 changed files with 10 additions and 2 deletions
6
assist/package-lock.json
generated
6
assist/package-lock.json
generated
|
|
@ -9,6 +9,7 @@
|
||||||
"version": "v1.12.0",
|
"version": "v1.12.0",
|
||||||
"license": "Elastic License 2.0 (ELv2)",
|
"license": "Elastic License 2.0 (ELv2)",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@fastify/deepmerge": "^2.0.0",
|
||||||
"@maxmind/geoip2-node": "^4.2.0",
|
"@maxmind/geoip2-node": "^4.2.0",
|
||||||
"express": "^4.21.1",
|
"express": "^4.21.1",
|
||||||
"jsonwebtoken": "^9.0.2",
|
"jsonwebtoken": "^9.0.2",
|
||||||
|
|
@ -36,6 +37,11 @@
|
||||||
"kuler": "^2.0.0"
|
"kuler": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@fastify/deepmerge": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fastify/deepmerge/-/deepmerge-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-fsaybTGDyQ5KpPsplQqb9yKdCf2x/pbNpMNk8Tvp3rRz7lVcupKysH4b2ELMN2P4Hak1+UqTYdTj/u4FNV2p0g=="
|
||||||
|
},
|
||||||
"node_modules/@maxmind/geoip2-node": {
|
"node_modules/@maxmind/geoip2-node": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-4.2.0.tgz",
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/openreplay/openreplay#readme",
|
"homepage": "https://github.com/openreplay/openreplay#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@fastify/deepmerge": "^2.0.0",
|
||||||
"@maxmind/geoip2-node": "^4.2.0",
|
"@maxmind/geoip2-node": "^4.2.0",
|
||||||
"express": "^4.21.1",
|
"express": "^4.21.1",
|
||||||
"jsonwebtoken": "^9.0.2",
|
"jsonwebtoken": "^9.0.2",
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ const {
|
||||||
DecreaseOnlineRooms,
|
DecreaseOnlineRooms,
|
||||||
} = require('../utils/metrics');
|
} = require('../utils/metrics');
|
||||||
const {logger} = require('./logger');
|
const {logger} = require('./logger');
|
||||||
|
const deepMerge = require('@fastify/deepmerge')({all: true});
|
||||||
|
|
||||||
const findSessionSocketId = async (io, roomId, tabId) => {
|
const findSessionSocketId = async (io, roomId, tabId) => {
|
||||||
let pickFirstSession = tabId === undefined;
|
let pickFirstSession = tabId === undefined;
|
||||||
|
|
@ -171,14 +172,14 @@ async function onUpdateEvent(socket, ...args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
args[0] = updateSessionData(socket, args[0])
|
args[0] = updateSessionData(socket, args[0])
|
||||||
Object.assign(socket.handshake.query.sessionInfo, args[0].data, {tabId: args[0]?.meta?.tabId});
|
socket.handshake.query.sessionInfo = deepMerge(socket.handshake.query.sessionInfo, args[0]?.data, {tabId: args[0]?.meta?.tabId});
|
||||||
|
|
||||||
// Update sessionInfo for all agents in the room
|
// Update sessionInfo for all agents in the room
|
||||||
const io = getServer();
|
const io = getServer();
|
||||||
const connected_sockets = await io.in(socket.handshake.query.roomId).fetchSockets();
|
const connected_sockets = await io.in(socket.handshake.query.roomId).fetchSockets();
|
||||||
for (let item of connected_sockets) {
|
for (let item of connected_sockets) {
|
||||||
if (item.handshake.query.identity === IDENTITIES.session && item.handshake.query.sessionInfo) {
|
if (item.handshake.query.identity === IDENTITIES.session && item.handshake.query.sessionInfo) {
|
||||||
Object.assign(item.handshake.query.sessionInfo, args[0]?.data, {tabId: args[0]?.meta?.tabId});
|
item.handshake.query.sessionInfo = deepMerge(item.handshake.query.sessionInfo, args[0]?.data, {tabId: args[0]?.meta?.tabId});
|
||||||
} else if (item.handshake.query.identity === IDENTITIES.agent) {
|
} else if (item.handshake.query.identity === IDENTITIES.agent) {
|
||||||
socket.to(item.id).emit(EVENTS_DEFINITION.listen.UPDATE_EVENT, args[0]);
|
socket.to(item.id).emit(EVENTS_DEFINITION.listen.UPDATE_EVENT, args[0]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue