@@ -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