@@ -4,17 +4,28 @@ import {
44 ThreadNameEvent
55} from './ThreadEvents'
66import {
7- Event ,
8- DeliveryReceiptEvent ,
9- ReadReceiptEvent ,
10- EventType
7+ Event ,
8+ DeliveryReceiptEvent ,
9+ ReadReceiptEvent ,
10+ EventType ,
11+ MessageRemoveEvent
1112} from '../Events'
1213import parseAdminMessage from './parseAdminMessage'
1314import { getThreadId } from '../Message'
1415
1516export default function parseDeltaEvent ( event : any ) : { type : EventType , event : Event } {
1617 if ( event . deltaAdminTextMessage ) return parseAdminMessage ( event . deltaAdminTextMessage )
1718
19+ if ( event . deltaReplaceMessage ) {
20+ const delta = event . deltaReplaceMessage
21+ if ( delta . newMessage . messageMetadata . unsendType ) {
22+ return {
23+ type : 'messageRemoveEvent' ,
24+ event : getEventMetadata ( delta . newMessage ) as MessageRemoveEvent
25+ }
26+ }
27+ }
28+
1829 if ( event . deltaThreadName ) {
1930 const delta = event . deltaThreadName
2031 return {
@@ -32,7 +43,7 @@ export default function parseDeltaEvent (event: any): { type: EventType, event:
3243 type : 'deliveryReceiptEvent' ,
3344 event : {
3445 threadId : getThreadId ( delta ) ,
35- receiverId : delta . actorFbId || getThreadId ( delta )
46+ receiverId : delta . actorFbId . toString ( ) || getThreadId ( delta )
3647 } as DeliveryReceiptEvent
3748 }
3849 }
@@ -43,7 +54,7 @@ export default function parseDeltaEvent (event: any): { type: EventType, event:
4354 type : 'readReceiptEvent' ,
4455 event : {
4556 threadId : getThreadId ( delta ) ,
46- receiverId : delta . actorFbId || getThreadId ( delta )
57+ receiverId : delta . actorFbId . toString ( ) || getThreadId ( delta )
4758 } as ReadReceiptEvent
4859 }
4960 }
0 commit comments