From 3746d4aca0740a0413a726d910b45320bd0516b3 Mon Sep 17 00:00:00 2001 From: AtilaU19 Date: Wed, 27 Aug 2025 14:18:10 +0000 Subject: [PATCH 1/2] feat: added IP, User Agent and Referer fields to the UserJoinedMeetingEvtMsg and UserConnectedToTransferSysMsg events --- src/process/event.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/process/event.js b/src/process/event.js index 3b2306d..6c42101 100644 --- a/src/process/event.js +++ b/src/process/event.js @@ -63,6 +63,7 @@ export default class WebhooksEvent { ], USER_EVENTS: [ "UserJoinedMeetingEvtMsg", + "UserConnectedToTransferSysMsg", "UserLeftMeetingEvtMsg", "UserMutedVoiceEvtMsg", "UserJoinedVoiceConfToClientEvtMsg", @@ -293,6 +294,9 @@ export default class WebhooksEvent { // Move it to a separate attribute in the future - prlanzarin FIXME "role": msgBody.bot ? "BOT" : msgBody.role, "presenter": msgBody.presenter, + "ip_addr": msgBody.ip_addr, + "user_agent": msgBody.user_agent, + "referer": msgBody.referer, // All variations of user data nomenclature in UserJoinedMeetingEvtMsg // as they keep changing the field name "userdata": msgBody?.userdata || msgBody?.userMetadata || msgBody?.userCustomData, @@ -583,6 +587,7 @@ export default class WebhooksEvent { case "ScreenshareRtmpBroadcastStoppedEvtMsg": return "meeting-screenshare-stopped"; case "SetCurrentPresentationEvtMsg": return "meeting-presentation-changed"; case "UserJoinedMeetingEvtMsg": return "user-joined"; + case "UserConnectedToTransferSysMsg": return "user-connected-to-transfer"; case "UserLeftMeetingEvtMsg": return "user-left"; case "UserJoinedVoiceConfToClientEvtMsg": return "user-audio-voice-enabled"; case "UserLeftVoiceConfToClientEvtMsg": return "user-audio-voice-disabled"; From 0dad0ec491106695b8b486b8b85dfe3e643aeec0 Mon Sep 17 00:00:00 2001 From: AtilaU19 Date: Mon, 1 Sep 2025 16:15:44 +0000 Subject: [PATCH 2/2] fix: correctly positions new messages and aligns with old messages --- src/process/event.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/process/event.js b/src/process/event.js index 6c42101..461bbd8 100644 --- a/src/process/event.js +++ b/src/process/event.js @@ -63,7 +63,6 @@ export default class WebhooksEvent { ], USER_EVENTS: [ "UserJoinedMeetingEvtMsg", - "UserConnectedToTransferSysMsg", "UserLeftMeetingEvtMsg", "UserMutedVoiceEvtMsg", "UserJoinedVoiceConfToClientEvtMsg", @@ -77,7 +76,9 @@ export default class WebhooksEvent { // 2.7+ "UserRaiseHandChangedEvtMsg", // Mconf + "UserConnectedToTransferSysMsg", "UserConnectedToTransferEvtMsg", + "UserDisconnectedFromTransferSysMsg", "UserDisconnectedFromTransferEvtMsg", ], CHAT_EVENTS: [ @@ -587,7 +588,6 @@ export default class WebhooksEvent { case "ScreenshareRtmpBroadcastStoppedEvtMsg": return "meeting-screenshare-stopped"; case "SetCurrentPresentationEvtMsg": return "meeting-presentation-changed"; case "UserJoinedMeetingEvtMsg": return "user-joined"; - case "UserConnectedToTransferSysMsg": return "user-connected-to-transfer"; case "UserLeftMeetingEvtMsg": return "user-left"; case "UserJoinedVoiceConfToClientEvtMsg": return "user-audio-voice-enabled"; case "UserLeftVoiceConfToClientEvtMsg": return "user-audio-voice-disabled"; @@ -607,8 +607,10 @@ export default class WebhooksEvent { case "PollStartedEvtMsg": return "poll-started"; case "UserRespondedToPollRespMsg": return "poll-responded"; // Mconf + case "UserConnectedToTransferSysMsg": return "user-joined"; case "UserConnectedToTransferEvtMsg": return "user-joined"; case "UserDisconnectedFromTransferEvtMsg": return "user-left"; + case "UserDisconnectedFromTransferSysMsg": return "user-left"; case "TransferStatusChangedEvtMsg": return this.handleTransferStatusChanged(message); // RAP case "archive_started": return "rap-archive-started";