@droppii-org/chat-mobile 0.2.77 → 0.2.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/lib/module/components/messages/groupNotificationMessage/index.js +5 -3
  2. package/lib/module/components/messages/groupNotificationMessage/index.js.map +1 -1
  3. package/lib/module/core/useChatListener.js +8 -5
  4. package/lib/module/core/useChatListener.js.map +1 -1
  5. package/lib/module/hooks/groups/useLeaveGroup.js +93 -0
  6. package/lib/module/hooks/groups/useLeaveGroup.js.map +1 -0
  7. package/lib/module/hooks/query-keys.js +2 -1
  8. package/lib/module/hooks/query-keys.js.map +1 -1
  9. package/lib/module/hooks/useConversationList.js +6 -9
  10. package/lib/module/hooks/useConversationList.js.map +1 -1
  11. package/lib/module/screens/ChatInfo/ChatInfo.js +17 -2
  12. package/lib/module/screens/ChatInfo/ChatInfo.js.map +1 -1
  13. package/lib/module/translation/resources/i18n.js +20 -1
  14. package/lib/module/translation/resources/i18n.js.map +1 -1
  15. package/lib/module/utils/legendListMessage.js +5 -1
  16. package/lib/module/utils/legendListMessage.js.map +1 -1
  17. package/lib/module/utils/messageUtils.js +117 -8
  18. package/lib/module/utils/messageUtils.js.map +1 -1
  19. package/lib/module/utils/toastFlashMessage.js +6 -0
  20. package/lib/module/utils/toastFlashMessage.js.map +1 -1
  21. package/lib/typescript/src/components/messages/groupNotificationMessage/index.d.ts.map +1 -1
  22. package/lib/typescript/src/core/useChatListener.d.ts.map +1 -1
  23. package/lib/typescript/src/hooks/groups/useLeaveGroup.d.ts +6 -0
  24. package/lib/typescript/src/hooks/groups/useLeaveGroup.d.ts.map +1 -0
  25. package/lib/typescript/src/hooks/query-keys.d.ts +1 -0
  26. package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
  27. package/lib/typescript/src/hooks/useConversationList.d.ts.map +1 -1
  28. package/lib/typescript/src/screens/ChatInfo/ChatInfo.d.ts.map +1 -1
  29. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  30. package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -1
  31. package/lib/typescript/src/utils/messageUtils.d.ts +6 -0
  32. package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
  33. package/lib/typescript/src/utils/toastFlashMessage.d.ts.map +1 -1
  34. package/package.json +5 -2
  35. package/src/components/messages/groupNotificationMessage/index.tsx +8 -4
  36. package/src/core/useChatListener.ts +15 -4
  37. package/src/hooks/groups/useLeaveGroup.ts +104 -0
  38. package/src/hooks/query-keys.ts +1 -0
  39. package/src/hooks/useConversationList.ts +8 -17
  40. package/src/screens/ChatInfo/ChatInfo.tsx +27 -2
  41. package/src/translation/resources/i18n.ts +27 -1
  42. package/src/utils/legendListMessage.ts +5 -1
  43. package/src/utils/messageUtils.ts +127 -7
  44. package/src/utils/toastFlashMessage.ts +8 -2
@@ -1 +1 @@
1
- {"version":3,"names":["MessageType","PeerType","formatDuration","getFileIcon","getMimeType","trans","isMessageRevoked","message","contentType","RevokeMessage","GROUP_NOTIFICATION_TEXT","GroupCreated","previewKey","bySenderKey","GroupInfoUpdated","MemberQuit","GroupOwnerTransferred","MemberKicked","MemberInvited","MemberEnter","GroupDismissed","GroupMemberMuted","GroupMemberCancelMuted","GroupMuted","GroupCancelMuted","GroupAnnouncementUpdated","GroupNameUpdated","extractTextContent","textElem","content","parsed","JSON","parse","text","description","getMessagePreview","TextMessage","PictureMessage","VideoMessage","videoData","videoElem","duration","durationStr","FileMessage","fileName","fileElem","MergeMessage","mergeData","mergeElem","multiMessage","imageCount","filter","msg","length","UrlTextMessage","urlText","urlTextElem","urls","AtTextMessage","QuoteMessage","quoteElem","CustomMessage","customElem","StickerMessage","FriendAdded","OANotification","BurnMessageChange","groupNotification","getMessagePreviewTextProps","ellipsizeMode","getMessagePreviewParts","textProps","getImageUrl","pictureElem","snapshotPicture","url","bigPicture","sourcePicture","getUrlMetadata","ex","undefined","urlMetadata","getPinnedMessagePreview","thumbnailUrl","mediaType","subtitleKey","snapshotUrl","fileIcon","image","firstImage","find","getNotificationOpUserNickname","notificationElem","detail","opUser","nickname","getSenderName","currentUserId","conversation","sender","sendID","senderNickname","peerType","Bot","showName","getLastMessageText","hideSenderPrefixForDirectChat","preview","hideSenderPrefix","User","getReplySenderName","isSent","parseUrlMetadata","truncateMiddle","name","maxLength","dotIndex","lastIndexOf","baseName","slice","ext","headLen","Math","ceil","tailLen","floor"],"sourceRoot":"../../../src","sources":["utils/messageUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MessageType","PeerType","formatDuration","getFileIcon","getMimeType","trans","isMessageRevoked","message","contentType","RevokeMessage","GROUP_NOTIFICATION_TEXT","GroupCreated","previewKey","bySenderKey","GroupInfoUpdated","MemberQuit","GroupOwnerTransferred","MemberKicked","MemberInvited","MemberEnter","GroupDismissed","GroupMemberMuted","GroupMemberCancelMuted","GroupMuted","GroupCancelMuted","GroupAnnouncementUpdated","GroupNameUpdated","GroupMemberSetToAdmin","PinMsg","parseNotificationDetail","notificationElem","detail","undefined","JSON","parse","formatMemberNames","members","names","map","member","nickname","filter","length","join","resolveNotificationText","base","params","newGroupName","group","groupName","invitedUserList","kickedUserList","memberName","newGroupOwner","changedUser","isPinned","extractTextContent","textElem","content","parsed","text","description","getMessagePreview","TextMessage","PictureMessage","VideoMessage","videoData","videoElem","duration","durationStr","FileMessage","fileName","fileElem","MergeMessage","mergeData","mergeElem","multiMessage","imageCount","msg","UrlTextMessage","urlText","urlTextElem","urls","AtTextMessage","QuoteMessage","quoteElem","CustomMessage","customElem","StickerMessage","FriendAdded","OANotification","BurnMessageChange","resolved","getMessagePreviewTextProps","ellipsizeMode","getMessagePreviewParts","textProps","getImageUrl","pictureElem","snapshotPicture","url","bigPicture","sourcePicture","getUrlMetadata","ex","urlMetadata","getPinnedMessagePreview","thumbnailUrl","mediaType","subtitleKey","snapshotUrl","fileIcon","image","firstImage","find","getNotificationOpUserNickname","opUser","quitUser","getSenderName","currentUserId","conversation","sender","sendID","senderNickname","peerType","Bot","showName","getLastMessageText","hideSenderPrefixForDirectChat","preview","resolvedNotification","hideSenderPrefix","User","getReplySenderName","isSent","parseUrlMetadata","truncateMiddle","name","maxLength","dotIndex","lastIndexOf","baseName","slice","ext","headLen","Math","ceil","tailLen","floor"],"sourceRoot":"../../../src","sources":["utils/messageUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,12 @@ const queue = [];
6
6
  const VISIBILITY_TIME_MS = 2000;
7
7
  const displayToast = params => {
8
8
  currentKey = params.key;
9
+ // `text2Props` isn't part of react-native-toast-message's own
10
+ // `ToastShowParams` type, but the `info` renderer registered in
11
+ // toastFlashMessageConfig.tsx spreads these show() params straight onto
12
+ // `<BaseToast>`, which does declare `text2Props` — so it works at runtime,
13
+ // it's just missing from the upstream type. Widen the type locally instead
14
+ // of casting the whole call to `any`.
9
15
  Toast.show({
10
16
  type: 'info',
11
17
  text1: params.title,
@@ -1 +1 @@
1
- {"version":3,"names":["Toast","currentKey","queue","VISIBILITY_TIME_MS","displayToast","params","key","show","type","text1","title","text2","body","onPress","onHide","advanceQueue","visibilityTime","text2Props","ellipsizeMiddle","ellipsizeMode","props","avatarUrl","fullName","next","shift","ToastFlashMessage","queuedIndex","findIndex","item","push","hide","index","splice"],"sourceRoot":"../../../src","sources":["utils/toastFlashMessage.ts"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,4BAA4B;AAW9C,IAAIC,UAAyB,GAAG,IAAI;AACpC,MAAMC,KAA+B,GAAG,EAAE;AAE1C,MAAMC,kBAAkB,GAAG,IAAI;AAE/B,MAAMC,YAAY,GAAIC,MAA8B,IAAK;EACvDJ,UAAU,GAAGI,MAAM,CAACC,GAAG;EACvBN,KAAK,CAACO,IAAI,CAAC;IACTC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAEJ,MAAM,CAACK,KAAK;IACnBC,KAAK,EAAEN,MAAM,CAACO,IAAI;IAClBC,OAAO,EAAER,MAAM,CAACQ,OAAO;IACvBC,MAAM,EAAEC,YAAY;IACpBC,cAAc,EAAEb,kBAAkB;IAClCc,UAAU,EAAEZ,MAAM,CAACa,eAAe,GAC9B;MACEC,aAAa,EAAE;IACjB,CAAC,GACD,CAAC,CAAC;IACNC,KAAK,EAAE;MACLC,SAAS,EAAEhB,MAAM,EAAEgB,SAAS;MAC5BC,QAAQ,EAAEjB,MAAM,CAACK;IACnB;EACF,CAAC,CAAC;AACJ,CAAC;AAED,SAASK,YAAYA,CAAA,EAAG;EACtB,MAAMQ,IAAI,GAAGrB,KAAK,CAACsB,KAAK,CAAC,CAAC;EAC1B,IAAI,CAACD,IAAI,EAAE;IACTtB,UAAU,GAAG,IAAI;IACjB;EACF;EACAG,YAAY,CAACmB,IAAI,CAAC;AACpB;AAEA,OAAO,MAAME,iBAAiB,GAAG;EAC/BlB,IAAI,EAAGF,MAA8B,IAAK;IACxC,IAAIA,MAAM,CAACC,GAAG,KAAKL,UAAU,EAAE;MAC7BG,YAAY,CAACC,MAAM,CAAC;MACpB;IACF;IAEA,MAAMqB,WAAW,GAAGxB,KAAK,CAACyB,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAACtB,GAAG,KAAKD,MAAM,CAACC,GAAG,CAAC;IACtE,IAAIoB,WAAW,KAAK,CAAC,CAAC,EAAE;MACtBxB,KAAK,CAACwB,WAAW,CAAC,GAAGrB,MAAM;MAC3B;IACF;IAEA,IAAIJ,UAAU,KAAK,IAAI,EAAE;MACvBG,YAAY,CAACC,MAAM,CAAC;IACtB,CAAC,MAAM;MACLH,KAAK,CAAC2B,IAAI,CAACxB,MAAM,CAAC;IACpB;EACF,CAAC;EACDyB,IAAI,EAAGxB,GAAW,IAAK;IACrB,IAAIA,GAAG,KAAKL,UAAU,EAAE;MACtBD,KAAK,CAAC8B,IAAI,CAAC,CAAC;MACZ7B,UAAU,GAAG,IAAI;MACjBc,YAAY,CAAC,CAAC;IAChB,CAAC,MAAM;MACL,MAAMgB,KAAK,GAAG7B,KAAK,CAACyB,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAACtB,GAAG,KAAKA,GAAG,CAAC;MACzD,IAAIyB,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB7B,KAAK,CAAC8B,MAAM,CAACD,KAAK,EAAE,CAAC,CAAC;MACxB;IACF;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Toast","currentKey","queue","VISIBILITY_TIME_MS","displayToast","params","key","show","type","text1","title","text2","body","onPress","onHide","advanceQueue","visibilityTime","text2Props","ellipsizeMiddle","ellipsizeMode","props","avatarUrl","fullName","next","shift","ToastFlashMessage","queuedIndex","findIndex","item","push","hide","index","splice"],"sourceRoot":"../../../src","sources":["utils/toastFlashMessage.ts"],"mappings":";;AAAA,OAAOA,KAAK,MAA+B,4BAA4B;AAWvE,IAAIC,UAAyB,GAAG,IAAI;AACpC,MAAMC,KAA+B,GAAG,EAAE;AAE1C,MAAMC,kBAAkB,GAAG,IAAI;AAE/B,MAAMC,YAAY,GAAIC,MAA8B,IAAK;EACvDJ,UAAU,GAAGI,MAAM,CAACC,GAAG;EACvB;EACA;EACA;EACA;EACA;EACA;EACAN,KAAK,CAACO,IAAI,CAAC;IACTC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAEJ,MAAM,CAACK,KAAK;IACnBC,KAAK,EAAEN,MAAM,CAACO,IAAI;IAClBC,OAAO,EAAER,MAAM,CAACQ,OAAO;IACvBC,MAAM,EAAEC,YAAY;IACpBC,cAAc,EAAEb,kBAAkB;IAClCc,UAAU,EAAEZ,MAAM,CAACa,eAAe,GAC9B;MACEC,aAAa,EAAE;IACjB,CAAC,GACD,CAAC,CAAC;IACNC,KAAK,EAAE;MACLC,SAAS,EAAEhB,MAAM,EAAEgB,SAAS;MAC5BC,QAAQ,EAAEjB,MAAM,CAACK;IACnB;EACF,CAA0E,CAAC;AAC7E,CAAC;AAED,SAASK,YAAYA,CAAA,EAAG;EACtB,MAAMQ,IAAI,GAAGrB,KAAK,CAACsB,KAAK,CAAC,CAAC;EAC1B,IAAI,CAACD,IAAI,EAAE;IACTtB,UAAU,GAAG,IAAI;IACjB;EACF;EACAG,YAAY,CAACmB,IAAI,CAAC;AACpB;AAEA,OAAO,MAAME,iBAAiB,GAAG;EAC/BlB,IAAI,EAAGF,MAA8B,IAAK;IACxC,IAAIA,MAAM,CAACC,GAAG,KAAKL,UAAU,EAAE;MAC7BG,YAAY,CAACC,MAAM,CAAC;MACpB;IACF;IAEA,MAAMqB,WAAW,GAAGxB,KAAK,CAACyB,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAACtB,GAAG,KAAKD,MAAM,CAACC,GAAG,CAAC;IACtE,IAAIoB,WAAW,KAAK,CAAC,CAAC,EAAE;MACtBxB,KAAK,CAACwB,WAAW,CAAC,GAAGrB,MAAM;MAC3B;IACF;IAEA,IAAIJ,UAAU,KAAK,IAAI,EAAE;MACvBG,YAAY,CAACC,MAAM,CAAC;IACtB,CAAC,MAAM;MACLH,KAAK,CAAC2B,IAAI,CAACxB,MAAM,CAAC;IACpB;EACF,CAAC;EACDyB,IAAI,EAAGxB,GAAW,IAAK;IACrB,IAAIA,GAAG,KAAKL,UAAU,EAAE;MACtBD,KAAK,CAAC8B,IAAI,CAAC,CAAC;MACZ7B,UAAU,GAAG,IAAI;MACjBc,YAAY,CAAC,CAAC;IAChB,CAAC,MAAM;MACL,MAAMgB,KAAK,GAAG7B,KAAK,CAACyB,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAACtB,GAAG,KAAKA,GAAG,CAAC;MACzD,IAAIyB,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB7B,KAAK,CAAC8B,MAAM,CAACD,KAAK,EAAE,CAAC,CAAC;MACxB;IACF;EACF;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/groupNotificationMessage/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,wBAAwB,gEACT,sBAAsB,iCAcjD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/groupNotificationMessage/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,wBAAwB,gEACT,sBAAsB,iCAkBjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,eAAe,YA4X3B,CAAC"}
1
+ {"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,eAAe,YAuY3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { GroupVisibility } from '@droppii/openim-rn-client-sdk';
2
+ export declare const useLeaveGroup: () => {
3
+ leaveGroup: (groupID: string, visibility?: GroupVisibility) => Promise<boolean>;
4
+ isLeavingGroup: boolean;
5
+ };
6
+ //# sourceMappingURL=useLeaveGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLeaveGroup.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/groups/useLeaveGroup.ts"],"names":[],"mappings":"AAAA,OAAkB,EAEhB,eAAe,EAChB,MAAM,+BAA+B,CAAC;AA6CvC,eAAO,MAAM,aAAa;0BAmBW,MAAM,eAAe,eAAe;;CAoCxE,CAAC"}
@@ -45,5 +45,6 @@ export declare const groupQueryKeys: {
45
45
  public: () => readonly ["groups", "public"];
46
46
  publicSearch: (keyword: string) => readonly ["groups", "public", string];
47
47
  join: () => readonly ["groups", "join"];
48
+ leave: () => readonly ["groups", "leave"];
48
49
  };
49
50
  //# sourceMappingURL=query-keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../../../../src/hooks/query-keys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;uBAEP,MAAM;CAC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;4BAGR,MAAM;;6BAGL,MAAM;0BAET,MAAM;yCACS,MAAM;2BAEpB,MAAM;mCACE,MAAM;gCAIT,MAAM;8BAIR,MAAM;mCACD,MAAM;2BAId,MAAM;iCACA,MAAM;4BACX,MAAM;sBACZ,MAAM;yBACH,MAAM;CAC5B,CAAC;AAEF,eAAO,MAAM,cAAc;;oBAET,MAAM,EAAE;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC;AAEjE,eAAO,MAAM,gBAAgB;;;6BAGF,MAAM;;CAGhC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;qBAEjB,MAAM,eAAe,MAAM;CAE7C,CAAC;AAEF,eAAO,MAAM,gBAAgB;;oBAEX,MAAM,mBAAmB,MAAM;CAEhD,CAAC;AAEF,eAAO,MAAM,cAAc;;;4BAGD,MAAM;;CAG/B,CAAC"}
1
+ {"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../../../../src/hooks/query-keys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;uBAEP,MAAM;CAC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;4BAGR,MAAM;;6BAGL,MAAM;0BAET,MAAM;yCACS,MAAM;2BAEpB,MAAM;mCACE,MAAM;gCAIT,MAAM;8BAIR,MAAM;mCACD,MAAM;2BAId,MAAM;iCACA,MAAM;4BACX,MAAM;sBACZ,MAAM;yBACH,MAAM;CAC5B,CAAC;AAEF,eAAO,MAAM,cAAc;;oBAET,MAAM,EAAE;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC;AAEjE,eAAO,MAAM,gBAAgB;;;6BAGF,MAAM;;CAGhC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;qBAEjB,MAAM,eAAe,MAAM;CAE7C,CAAC;AAEF,eAAO,MAAM,gBAAgB;;oBAEX,MAAM,mBAAmB,MAAM;CAEhD,CAAC;AAEF,eAAO,MAAM,cAAc;;;4BAGD,MAAM;;;CAI/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConversationList.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useConversationList.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,KAAK,MAAM,GAAG;IACZ,eAAe,EAAE,oBAAoB,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,EACf,IAAQ,EACR,OAAc,GACf,EAAE,MAAM,8HAyCR"}
1
+ {"version":3,"file":"useConversationList.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useConversationList.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,KAAK,MAAM,GAAG;IACZ,eAAe,EAAE,oBAAoB,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,EACf,IAAQ,EACR,OAAc,GACf,EAAE,MAAM,8HAgCR"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInfo.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfo.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;AA+D7C,wBAAgD"}
1
+ {"version":3,"file":"ChatInfo.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfo.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;AAsF7C,wBAAgD"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/translation/resources/i18n.ts"],"names":[],"mappings":";;;AA2LA,wBAEE"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/translation/resources/i18n.ts"],"names":[],"mappings":";;;AAqNA,wBAEE"}
@@ -1 +1 @@
1
- {"version":3,"file":"legendListMessage.d.ts","sourceRoot":"","sources":["../../../../src/utils/legendListMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,KAAG,MA8BrD,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GACnC,UAAU,WAAW,EAAE,KACtB,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAwBpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,WAAW,EAAE,KACtB,GAAG,CAAC,MAAM,EAAE,OAAO,CAYrB,CAAC"}
1
+ {"version":3,"file":"legendListMessage.d.ts","sourceRoot":"","sources":["../../../../src/utils/legendListMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,KAAG,MAkCrD,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GACnC,UAAU,WAAW,EAAE,KACtB,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAwBpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,WAAW,EAAE,KACtB,GAAG,CAAC,MAAM,EAAE,OAAO,CAYrB,CAAC"}
@@ -9,6 +9,12 @@ export declare const GROUP_NOTIFICATION_TEXT: Partial<Record<MessageType, {
9
9
  previewKey: string;
10
10
  bySenderKey: string;
11
11
  }>>;
12
+ export interface ResolvedNotificationText {
13
+ previewKey: string;
14
+ bySenderKey: string;
15
+ params: Record<string, string>;
16
+ }
17
+ export declare const resolveNotificationText: (message: MessageItem) => ResolvedNotificationText | undefined;
12
18
  export declare const extractTextContent: (message: MessageItem) => string;
13
19
  export declare const getMessagePreview: (message?: MessageItem) => string;
14
20
  export declare const getMessagePreviewTextProps: (message?: MessageItem) => TextProps;
@@ -1 +1 @@
1
- {"version":3,"file":"messageUtils.d.ts","sourceRoot":"","sources":["../../../../src/utils/messageUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EAEX,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,gBAAgB,GAAI,SAAS,WAAW,KAAG,OACL,CAAC;AAKpD,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAC3C,MAAM,CAAC,WAAW,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CA0DjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,WAAW,KAAG,MAYzD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,WAAW,KAAG,MAyFzD,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,UAAU,WAAW,KACpB,SAUF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,UAAU,WAAW,KACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAGrC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,sBAAsB,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAmBD,eAAO,MAAM,uBAAuB,GAClC,SAAS,WAAW,KACnB,oBA0DF,CAAC;AAKF,eAAO,MAAM,6BAA6B,GACxC,SAAS,WAAW,KACnB,MAAM,GAAG,SAUX,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,SAAS,WAAW,EACpB,gBAAgB,MAAM,EACtB,eAAe,gBAAgB,KAC9B,MAUF,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,eAAO,MAAM,kBAAkB,GAAI,0EAKhC,wBAAwB,KAAG,MAsB7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,UAAU,WAAW,EACrB,gBAAgB,MAAM,EACtB,eAAe,gBAAgB,EAC/B,SAAS,OAAO,KACf,MAOF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,YAAY,GAAG,SAS7D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,KAAG,MAUhE,CAAC"}
1
+ {"version":3,"file":"messageUtils.d.ts","sourceRoot":"","sources":["../../../../src/utils/messageUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EAEX,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,gBAAgB,GAAI,SAAS,WAAW,KAAG,OACL,CAAC;AAKpD,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAC3C,MAAM,CAAC,WAAW,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAqEjE,CAAC;AA2BF,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAQD,eAAO,MAAM,uBAAuB,GAClC,SAAS,WAAW,KACnB,wBAAwB,GAAG,SA8D7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,WAAW,KAAG,MAYzD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,WAAW,KAAG,MAyFzD,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,UAAU,WAAW,KACpB,SAUF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,UAAU,WAAW,KACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAGrC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,sBAAsB,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAmBD,eAAO,MAAM,uBAAuB,GAClC,SAAS,WAAW,KACnB,oBA0DF,CAAC;AAKF,eAAO,MAAM,6BAA6B,GACxC,SAAS,WAAW,KACnB,MAAM,GAAG,SAaX,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,SAAS,WAAW,EACpB,gBAAgB,MAAM,EACtB,eAAe,gBAAgB,KAC9B,MAUF,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,eAAO,MAAM,kBAAkB,GAAI,0EAKhC,wBAAwB,KAAG,MAyB7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,UAAU,WAAW,EACrB,gBAAgB,MAAM,EACtB,eAAe,gBAAgB,EAC/B,SAAS,OAAO,KACf,MAOF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,YAAY,GAAG,SAS7D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,KAAG,MAUhE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toastFlashMessage.d.ts","sourceRoot":"","sources":["../../../../src/utils/toastFlashMessage.ts"],"names":[],"mappings":"AAEA,UAAU,sBAAsB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAqCD,eAAO,MAAM,iBAAiB;mBACb,sBAAsB;gBAkBzB,MAAM;CAYnB,CAAC"}
1
+ {"version":3,"file":"toastFlashMessage.d.ts","sourceRoot":"","sources":["../../../../src/utils/toastFlashMessage.ts"],"names":[],"mappings":"AAEA,UAAU,sBAAsB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AA2CD,eAAO,MAAM,iBAAiB;mBACb,sBAAsB;gBAkBzB,MAAM;CAYnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@droppii-org/chat-mobile",
3
- "version": "0.2.77",
3
+ "version": "0.2.78",
4
4
  "description": "Droppii chat mobile",
5
5
  "keywords": [
6
6
  "react-native",
@@ -69,7 +69,7 @@
69
69
  "example-legacy": "yarn workspace @droppii-org/chat-mobile-example-legacy"
70
70
  },
71
71
  "dependencies": {
72
- "@droppii/openim-rn-client-sdk": "git+ssh://git@github.com/droppii/open-im-sdk-reactnative.git#v1.0.0-rc31",
72
+ "@droppii/openim-rn-client-sdk": "git+ssh://git@github.com/droppii/open-im-sdk-reactnative.git#v1.0.0-rc34",
73
73
  "@legendapp/list": "^3.0.6",
74
74
  "axios": "^1.16.1",
75
75
  "lodash": "^4.18.1",
@@ -168,6 +168,9 @@
168
168
  "registry": "https://registry.npmjs.org/",
169
169
  "access": "public"
170
170
  },
171
+ "resolutions": {
172
+ "jest-mock": "30.4.1"
173
+ },
171
174
  "packageManager": "yarn@4.17.0",
172
175
  "react-native-builder-bob": {
173
176
  "source": "src",
@@ -3,14 +3,14 @@ import { KLabel } from '@droppii/libs';
3
3
  import { trans } from '../../../translation';
4
4
  import { CHAT_BUBBLE_COLORS } from '../../../screens/chat-detail/constants';
5
5
  import {
6
- GROUP_NOTIFICATION_TEXT,
6
+ resolveNotificationText,
7
7
  getNotificationOpUserNickname,
8
8
  } from '../../../utils/messageUtils';
9
9
  import type { BaseLegendMessageProps } from '../types';
10
10
 
11
11
  export const GroupNotificationMessage = memo(
12
12
  ({ message, isOutgoing }: BaseLegendMessageProps) => {
13
- const notification = GROUP_NOTIFICATION_TEXT[message.contentType];
13
+ const notification = resolveNotificationText(message);
14
14
  if (!notification) return null;
15
15
 
16
16
  const sender = isOutgoing
@@ -18,8 +18,12 @@ export const GroupNotificationMessage = memo(
18
18
  : message.senderNickname || getNotificationOpUserNickname(message) || '';
19
19
 
20
20
  return (
21
- <KLabel.Text typo="TextXsNormal" color={CHAT_BUBBLE_COLORS.dayLabel}>
22
- {trans(notification.bySenderKey, { sender })}
21
+ <KLabel.Text
22
+ typo="TextXsNormal"
23
+ color={CHAT_BUBBLE_COLORS.dayLabel}
24
+ textAlign="center"
25
+ >
26
+ {trans(notification.bySenderKey, { sender, ...notification.params })}
23
27
  </KLabel.Text>
24
28
  );
25
29
  }
@@ -149,11 +149,22 @@ export const useChatListener = () => {
149
149
  useConversationStore.getState().currentConversationId ===
150
150
  conversationID;
151
151
 
152
- // Marks groupID as removed so any late-arriving conversation-sync event
153
- // for it (see onConversationChanged/onNewConversation) is dropped
154
- // instead of silently resurrecting the conversation we just removed.
155
152
  useConversationStore.getState().removeGroupConversation(groupID);
156
153
 
154
+ if (reason === 'dismissed') {
155
+ // The group no longer exists for anyone, so there's no rejoin to
156
+ // preserve history for — purge the local conversation + messages.
157
+ OpenIMSDK.deleteConversationAndDeleteAllMsg(conversationID).catch(
158
+ (error) => {
159
+ console.error(
160
+ '[Listener] Failed to delete local conversation',
161
+ conversationID,
162
+ error
163
+ );
164
+ }
165
+ );
166
+ }
167
+
157
168
  queryClient.removeQueries({
158
169
  queryKey: conversationQueryKeys.groupInfo(groupID),
159
170
  });
@@ -188,7 +199,7 @@ export const useChatListener = () => {
188
199
 
189
200
  const onGroupMemberDeleted = useCallback(
190
201
  (member: GroupMemberItem) => {
191
- console.log('[Listener] OnGroupMemberDeleted', member);
202
+ // console.log('[Listener] OnGroupMemberDeleted', member);
192
203
  queryClient.invalidateQueries({
193
204
  queryKey: conversationQueryKeys.groupInfo(member.groupID),
194
205
  });
@@ -0,0 +1,104 @@
1
+ import OpenIMSDK, {
2
+ GroupMemberRole,
3
+ GroupVisibility,
4
+ } from '@droppii/openim-rn-client-sdk';
5
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
6
+ import { conversationQueryKeys, groupQueryKeys } from '../query-keys';
7
+ import { UIUtils } from '../../utils/UIUtils';
8
+ import { trans } from '../../translation';
9
+
10
+ const showOwnerBlockedModal = () => {
11
+ UIUtils.alert.open({
12
+ title: trans('chat:leave_group_blocked_title'),
13
+ message: trans('chat:leave_group_blocked_desc'),
14
+ primaryIndex: 0,
15
+ buttonType: 'horizontal-button',
16
+ buttons: [
17
+ { label: trans('chat:leave_group_blocked_button'), kind: 'primary' },
18
+ ],
19
+ });
20
+ };
21
+
22
+ const confirmLeaveGroup = (visibility?: GroupVisibility) =>
23
+ new Promise<void>((resolve, reject) => {
24
+ console.log('confirmLeaveGroup', visibility);
25
+ UIUtils.alert.open({
26
+ title: trans('chat:leave_group_confirm_title'),
27
+ message: trans(
28
+ visibility === GroupVisibility.Public
29
+ ? 'chat:leave_group_confirm_desc_public'
30
+ : 'chat:leave_group_confirm_desc_private'
31
+ ),
32
+ primaryIndex: 1,
33
+ buttonType: 'horizontal-button',
34
+ buttons: [
35
+ {
36
+ label: trans('chat:leave_group_confirm_secondary'),
37
+ kind: 'light',
38
+ onPress: reject,
39
+ },
40
+ {
41
+ label: trans('chat:leave_group_confirm_primary'),
42
+ kind: 'danger',
43
+ onPress: resolve,
44
+ },
45
+ ],
46
+ });
47
+ });
48
+
49
+ export const useLeaveGroup = () => {
50
+ const queryClient = useQueryClient();
51
+
52
+ const mutation = useMutation({
53
+ mutationKey: groupQueryKeys.leave(),
54
+ mutationFn: (groupID: string) => OpenIMSDK.quitGroup(groupID),
55
+ onSuccess: (_data, groupID) => {
56
+ queryClient.invalidateQueries({
57
+ queryKey: conversationQueryKeys.joinedGroup(groupID),
58
+ });
59
+ },
60
+ onError: () => {
61
+ UIUtils.toast.open({
62
+ title: trans('chat:generic_error'),
63
+ theme: 'error',
64
+ });
65
+ },
66
+ });
67
+
68
+ const leaveGroup = async (groupID: string, visibility?: GroupVisibility) => {
69
+ try {
70
+ // The owner must transfer ownership before leaving — block instead of
71
+ // showing the confirm modal.
72
+ const selfInfo = await OpenIMSDK.getSelfUserInfo(groupID);
73
+ if (selfInfo?.roleLevel === GroupMemberRole.Owner) {
74
+ showOwnerBlockedModal();
75
+ return false;
76
+ }
77
+ try {
78
+ await confirmLeaveGroup(visibility);
79
+ } catch {
80
+ return false;
81
+ }
82
+
83
+ // Revalidate right before submitting — role/membership may have
84
+ // changed while the confirm modal was open.
85
+ const latestSelfInfo = await OpenIMSDK.getSelfUserInfo(groupID);
86
+ if (latestSelfInfo?.roleLevel === GroupMemberRole.Owner) {
87
+ showOwnerBlockedModal();
88
+ return false;
89
+ }
90
+
91
+ await mutation.mutateAsync(groupID);
92
+ return true;
93
+ } catch (error) {
94
+ console.error('leaveGroup failed', error);
95
+ UIUtils.toast.open({
96
+ title: trans('chat:generic_error'),
97
+ theme: 'error',
98
+ });
99
+ return false;
100
+ }
101
+ };
102
+
103
+ return { leaveGroup, isLeavingGroup: mutation.isPending };
104
+ };
@@ -68,4 +68,5 @@ export const groupQueryKeys = {
68
68
  publicSearch: (keyword: string) =>
69
69
  [...groupQueryKeys.public(), keyword] as const,
70
70
  join: () => [...groupQueryKeys.all, 'join'] as const,
71
+ leave: () => [...groupQueryKeys.all, 'leave'] as const,
71
72
  };
@@ -23,26 +23,17 @@ export function useConversationList({
23
23
  const query = useQuery({
24
24
  queryKey: [...conversationQueryKeys.list(applicationType), page],
25
25
  enabled: enabled !== false,
26
+ staleTime: 1000 * 60 * 1, // 5 minutes
26
27
  queryFn: async () => {
27
28
  const offset = (page - 1) * 500;
28
- const [conversations, joinedGroups] = await Promise.all([
29
- OpenIMSDK.getConversationListSplitApp({
30
- offset,
31
- count: 500,
32
- applicationType,
33
- }),
34
- OpenIMSDK.getJoinedGroupList(),
35
- ]);
29
+ const conversations = await OpenIMSDK.getConversationListSplitApp({
30
+ offset,
31
+ count: 500,
32
+ applicationType,
33
+ });
36
34
 
37
- const joinedGroupIds = new Set(joinedGroups.map((g) => g.groupID));
38
- const resolved = conversations.map((conversation) =>
39
- conversation.groupID && !joinedGroupIds.has(conversation.groupID)
40
- ? { ...conversation, isNotInGroup: true }
41
- : conversation
42
- );
43
-
44
- useConversationStore.getState().updateConversations(resolved);
45
- return resolved;
35
+ useConversationStore.getState().updateConversations(conversations);
36
+ return conversations;
46
37
  },
47
38
  });
48
39
 
@@ -1,7 +1,9 @@
1
- import { memo } from 'react';
1
+ import { memo, useCallback } from 'react';
2
2
  import { KContainer, KNavigation } from '@droppii/libs';
3
3
  import { useNavigation } from '@react-navigation/native';
4
4
  import { useGetConversationTarget } from '../../hooks/conversation/useGetConversationDetail';
5
+ import { useGetGroupInfo } from '../../hooks/conversation/useGetGroupInfo';
6
+ import { useLeaveGroup } from '../../hooks/groups/useLeaveGroup';
5
7
  import { useConversation } from '../../store';
6
8
  import ChatInfoProfile from './ChatInfoProfile';
7
9
  import ChatInfoMediaRow from './ChatInfoMediaRow';
@@ -31,6 +33,29 @@ const ChatInfo = memo(
31
33
  const isTargetActive = target ? target.isActive : true;
32
34
  const isGroup = useChatDetailContext().isGroupConversation;
33
35
 
36
+ const { data: groupInfo } = useGetGroupInfo(
37
+ isGroup ? conversation?.groupID : undefined
38
+ );
39
+ const { leaveGroup } = useLeaveGroup();
40
+
41
+ const handleLeaveGroup = useCallback(async () => {
42
+ if (!conversation?.groupID) return;
43
+
44
+ const didLeave = await leaveGroup(
45
+ conversation.groupID,
46
+ groupInfo?.visibility
47
+ );
48
+ if (didLeave) {
49
+ (onPressLeaveGroup ?? navigation.goBack)();
50
+ }
51
+ }, [
52
+ conversation?.groupID,
53
+ groupInfo?.visibility,
54
+ leaveGroup,
55
+ navigation.goBack,
56
+ onPressLeaveGroup,
57
+ ]);
58
+
34
59
  return (
35
60
  <KContainer.Page flex edges={['bottom']} background="#EBEDF2">
36
61
  <KNavigation.Header
@@ -61,7 +86,7 @@ const ChatInfo = memo(
61
86
  onPressOrders={onPressOrders}
62
87
  onPressCreateGroup={onPressCreateGroup}
63
88
  onPressAddToGroup={onPressAddToGroup}
64
- onPressLeaveGroup={onPressLeaveGroup}
89
+ onPressLeaveGroup={handleLeaveGroup}
65
90
  onDismissGroup={onDismissGroup}
66
91
  />
67
92
  </KContainer.ScrollView>
@@ -75,16 +75,31 @@ const i18nKey: Record<string, string> = {
75
75
  'chat:group_created_by': '{{sender}} đã tạo nhóm',
76
76
  'msg_type_group_name_updated': 'Đã đổi tên nhóm',
77
77
  'chat:group_name_updated_by': '{{sender}} đã đổi tên nhóm',
78
+ 'chat:group_name_updated_by_named':
79
+ '{{sender}} đã đổi tên nhóm thành {{newGroupName}}',
78
80
  'msg_type_group_info_updated': 'Đã cập nhật thông tin nhóm',
79
81
  'chat:group_info_updated_by': '{{sender}} đã cập nhật thông tin nhóm',
80
82
  'msg_type_member_quit': 'Đã rời khỏi nhóm',
81
- 'chat:member_quit_by': '{{sender}} đã rời khỏi nhóm',
83
+ 'chat:member_quit_by': '{{sender}} đã rời nhóm',
82
84
  'msg_type_group_owner_transferred': 'Đã chuyển quyền trưởng nhóm',
83
85
  'chat:group_owner_transferred_by': '{{sender}} đã chuyển quyền trưởng nhóm',
86
+ 'chat:group_owner_transferred_by_named':
87
+ '{{sender}} đã chuyển quyền trưởng nhóm cho {{memberName}}',
84
88
  'msg_type_member_kicked': 'Đã xoá thành viên khỏi nhóm',
85
89
  'chat:member_kicked_by': '{{sender}} đã xoá thành viên khỏi nhóm',
90
+ 'chat:member_kicked_by_named': '{{sender}} đã xoá {{names}} khỏi nhóm',
86
91
  'msg_type_member_invited': 'Đã thêm thành viên vào nhóm',
87
92
  'chat:member_invited_by': '{{sender}} đã thêm thành viên vào nhóm',
93
+ 'chat:member_invited_by_named': '{{sender}} đã thêm {{names}} vào nhóm',
94
+ 'msg_type_group_member_set_admin': 'Đã chỉ định quản trị viên mới',
95
+ 'chat:group_member_set_admin_by':
96
+ '{{sender}} đã đặt {{memberName}} làm quản trị viên',
97
+ 'chat:group_member_set_admin_by_generic':
98
+ '{{sender}} đã đặt một thành viên làm quản trị viên',
99
+ 'msg_type_message_pinned': 'Đã ghim một tin nhắn',
100
+ 'chat:group_message_pinned_by': '{{sender}} đã ghim một tin nhắn',
101
+ 'msg_type_message_unpinned': 'Đã bỏ ghim một tin nhắn',
102
+ 'chat:group_message_unpinned_by': '{{sender}} đã bỏ ghim một tin nhắn',
88
103
  'msg_type_member_enter': 'Đã tham gia nhóm',
89
104
  'chat:member_enter_by': '{{sender}} đã tham gia nhóm',
90
105
  'msg_type_group_dismissed': 'Nhóm đã bị giải tán',
@@ -124,6 +139,17 @@ const i18nKey: Record<string, string> = {
124
139
  'chat:info_unpin_message': 'Bỏ ghim trò chuyện',
125
140
  'chat:info_delete_history': 'Xoá lịch sử trò chuyện',
126
141
  'chat:info_leave_group': 'Rời nhóm',
142
+ 'chat:leave_group_confirm_title': 'Rời nhóm?',
143
+ 'chat:leave_group_confirm_desc_private':
144
+ 'Sau khi rời nhóm, bạn sẽ không thể xem tin nhắn từ cuộc trò chuyện này nữa. Bạn có chắc chắn muốn rời khỏi nhóm?',
145
+ 'chat:leave_group_confirm_desc_public':
146
+ 'Sau khi rời nhóm, bạn sẽ không thể nhắn tin hay nhận thông báo từ cuộc trò chuyện này nữa. Bạn có chắc chắn muốn rời khỏi nhóm?',
147
+ 'chat:leave_group_confirm_primary': 'Rời nhóm',
148
+ 'chat:leave_group_confirm_secondary': 'Ở lại nhóm',
149
+ 'chat:leave_group_blocked_title': 'Không thể rời nhóm',
150
+ 'chat:leave_group_blocked_desc':
151
+ 'Bạn không thể rời nhóm khi đang là chủ nhóm, vui lòng chuyển quyền chủ nhóm cho thành viên khác và thử lại!',
152
+ 'chat:leave_group_blocked_button': 'Đã hiểu',
127
153
  'chat:dismiss_group': 'Giải tán nhóm',
128
154
  'chat:info_view_more': 'Xem thêm',
129
155
  'chat:group_description_title': 'Mô tả nhóm',
@@ -28,8 +28,12 @@ export const getMessageText = (message: MessageItem): string => {
28
28
  case MessageType.FaceMessage:
29
29
  return '[Sticker]';
30
30
  default:
31
+ // Never surface the raw notification payload as message text — it
32
+ // contains other users' userID/nickname/faceURL/permissions and would
33
+ // render verbatim as a normal chat bubble for any content type that
34
+ // isn't (yet) mapped in GROUP_NOTIFICATION_TEXT.
31
35
  if (message.notificationElem?.detail) {
32
- return message.notificationElem.detail;
36
+ return '';
33
37
  }
34
38
  return message.content || '';
35
39
  }