Skip to content

Commit 5380655

Browse files
author
FalkWolsky
committed
Broadcast Function including Array Length
1 parent e03639f commit 5380655

File tree

1 file changed

+27
-15
lines changed

1 file changed

+27
-15
lines changed

client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingControllerComp.tsx

+27-15
Original file line numberDiff line numberDiff line change
@@ -378,16 +378,29 @@ let MTComp = (function () {
378378
useEffect(() => {
379379
if (rtmChannelResponse) {
380380
rtmClient.on("MessageFromPeer", function (message, peerId) {
381-
setRtmMessages(message.text);
381+
setRtmMessages((prevMessages: any[]) => {
382+
// Check if the messages array exceeds the maximum limit
383+
if (prevMessages.length >= 500) {
384+
prevMessages.pop(); // Remove the oldest message
385+
}
386+
return [...prevMessages, {"peermessage" : JSON.parse(message.text + ""), "from" : peerId}];
387+
});
382388
});
389+
383390
rtmChannelResponse.on("ChannelMessage", function (message, memberId) {
384-
setRtmMessages(message.text);
385-
dispatch(
386-
changeChildAction("messages", getData(rtmMessages).data, false)
387-
);
391+
setRtmMessages((prevMessages: any[]) => {
392+
// Check if the messages array exceeds the maximum limit
393+
if (prevMessages.length >= 500) {
394+
prevMessages.pop(); // Remove the oldest message
395+
}
396+
return [...prevMessages, {"channelmessage" : JSON.parse(message.text + ""), "from" : memberId}];
397+
});
398+
399+
dispatch(changeChildAction("messages", getData(rtmMessages).data, false));
388400
});
389401
}
390402
}, [rtmChannelResponse]);
403+
391404

392405
useEffect(() => {
393406
if (client) {
@@ -399,11 +412,11 @@ let MTComp = (function () {
399412
setUserLeft(user);
400413
});
401414
client.on("volume-indicator", (volumeInfos: any) => {
402-
if (volumeInfos.length == 0) return;
415+
if (volumeInfos.length === 0) return;
403416
volumeInfos.map((volumeInfo: any) => {
404417
const speaking = volumeInfo.level >= 30;
405418
if (
406-
volumeInfo.uid == userId &&
419+
volumeInfo.uid === userId &&
407420
props.localUser.value.speaking != speaking
408421
) {
409422
setLocalUserSpeaking(speaking);
@@ -671,21 +684,20 @@ MTComp = withMethodExposing(MTComp, [
671684
},
672685
execute: async (comp, values) => {
673686
if (!comp.children.meetingActive.getView().value) return;
674-
let otherData =
675-
values !== undefined && values[1] !== undefined ? values[1] : "";
676-
let toUsers: any =
687+
let messagedata =
677688
values !== undefined && values[0] !== undefined ? values[0] : "";
689+
let toUsers: any =
690+
values !== undefined && values[1] !== undefined ? values[1] : "";
678691

679692
let message: any = {
680693
time: Date.now(),
681-
from: comp.children.localUser.getView().value,
694+
message: messagedata,
682695
};
683-
message["data"] = otherData;
684696

685697
if (toUsers.length > 0 && toUsers[0] !== undefined) {
686-
let peers = toUsers?.map((u: any) => u.user);
687-
peers.forEach((p: any) => {
688-
sendPeerMessageRtm(message, String(p));
698+
toUsers.forEach((peer: any) => {
699+
message.to = peer;
700+
sendPeerMessageRtm(message, String(peer));
689701
});
690702
} else {
691703
sendMessageRtm(message);

0 commit comments

Comments
 (0)