@droppii-org/chat-mobile 0.2.78 → 0.2.79

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 (47) hide show
  1. package/lib/module/core/useChatListener.js +11 -0
  2. package/lib/module/core/useChatListener.js.map +1 -1
  3. package/lib/module/hooks/groups/useGroupAccessGuard.js +145 -0
  4. package/lib/module/hooks/groups/useGroupAccessGuard.js.map +1 -0
  5. package/lib/module/screens/ChatInfo/ChatInfoDescriptionRow.js +4 -1
  6. package/lib/module/screens/ChatInfo/ChatInfoDescriptionRow.js.map +1 -1
  7. package/lib/module/screens/chat-detail/ChatDetail.js +12 -10
  8. package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
  9. package/lib/module/screens/chat-detail/ChatDetailHeader.js +3 -9
  10. package/lib/module/screens/chat-detail/ChatDetailHeader.js.map +1 -1
  11. package/lib/module/screens/inbox/CommunityTab.js +5 -2
  12. package/lib/module/screens/inbox/CommunityTab.js.map +1 -1
  13. package/lib/module/screens/inbox/MessagesTab.js +2 -2
  14. package/lib/module/screens/inbox/MessagesTab.js.map +1 -1
  15. package/lib/module/store/conversation.js +18 -20
  16. package/lib/module/store/conversation.js.map +1 -1
  17. package/lib/module/translation/resources/i18n.js +4 -1
  18. package/lib/module/translation/resources/i18n.js.map +1 -1
  19. package/lib/module/utils/conversation.js +4 -1
  20. package/lib/module/utils/conversation.js.map +1 -1
  21. package/lib/module/utils/messageUtils.js +1 -1
  22. package/lib/module/utils/messageUtils.js.map +1 -1
  23. package/lib/typescript/src/core/useChatListener.d.ts.map +1 -1
  24. package/lib/typescript/src/hooks/groups/useGroupAccessGuard.d.ts +10 -0
  25. package/lib/typescript/src/hooks/groups/useGroupAccessGuard.d.ts.map +1 -0
  26. package/lib/typescript/src/screens/ChatInfo/ChatInfoDescriptionRow.d.ts.map +1 -1
  27. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
  28. package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts +1 -1
  29. package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts.map +1 -1
  30. package/lib/typescript/src/screens/chat-detail/types.d.ts +0 -1
  31. package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
  32. package/lib/typescript/src/store/conversation.d.ts.map +1 -1
  33. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  34. package/lib/typescript/src/utils/conversation.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/core/useChatListener.ts +14 -0
  37. package/src/hooks/groups/useGroupAccessGuard.ts +182 -0
  38. package/src/screens/ChatInfo/ChatInfoDescriptionRow.tsx +5 -1
  39. package/src/screens/chat-detail/ChatDetail.tsx +11 -13
  40. package/src/screens/chat-detail/ChatDetailHeader.tsx +2 -6
  41. package/src/screens/chat-detail/types.ts +0 -1
  42. package/src/screens/inbox/CommunityTab.tsx +2 -2
  43. package/src/screens/inbox/MessagesTab.tsx +1 -1
  44. package/src/store/conversation.ts +14 -18
  45. package/src/translation/resources/i18n.ts +4 -0
  46. package/src/utils/conversation.ts +6 -3
  47. package/src/utils/messageUtils.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,10 @@ export const getConversationID = (sessionType, senderID, receiverID) => {
12
12
  return [prefix, senderID, receiverID].filter(Boolean).join('_');
13
13
  };
14
14
  export const sortConversation = map => {
15
- const list = Object.keys(map).sort((a, b) => conversationCompare(map[a], map[b]));
15
+ // `map` holds every conversation that can still be opened; `list` is the
16
+ // inbox. A group the user is no longer in stays addressable — a public group
17
+ // remains readable via deeplink or search — but must not show in the inbox.
18
+ const list = Object.keys(map).filter(id => !map[id]?.isNotInGroup).sort((a, b) => conversationCompare(map[a], map[b]));
16
19
  return {
17
20
  map,
18
21
  list
@@ -1 +1 @@
1
- {"version":3,"names":["PeerType","SessionType","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","getConversationID","sessionType","senderID","receiverID","prefix","Single","Notification","filter","Boolean","join","sortConversation","map","list","Object","keys","sort","getBotId","conversation","peerType","Bot","id","JSON","parse","ex","sessionInfo","data","botId","_","undefined","isGroupConversation","Group"],"sourceRoot":"../../../src","sources":["utils/conversation.ts"],"mappings":";;AAAA,SACEA,QAAQ,EACRC,WAAW,QAEN,+BAA+B;AAEtC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,CAAmB,EACnBC,CAAmB,KAChB;EACH,IAAID,CAAC,CAACE,QAAQ,KAAKD,CAAC,CAACC,QAAQ,EAAE,OAAOF,CAAC,CAACE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;EAEzD,MAAMC,QAAQ,GACZH,CAAC,CAACI,aAAa,GAAGJ,CAAC,CAACK,iBAAiB,GACjCL,CAAC,CAACI,aAAa,GACfJ,CAAC,CAACK,iBAAiB;EACzB,MAAMC,QAAQ,GACZL,CAAC,CAACG,aAAa,GAAGH,CAAC,CAACI,iBAAiB,GACjCJ,CAAC,CAACG,aAAa,GACfH,CAAC,CAACI,iBAAiB;EAEzB,OAAOC,QAAQ,GAAGH,QAAQ;AAC5B,CAAC;AAED,OAAO,MAAMI,iBAAiB,GAAGA,CAC/BC,WAAwB,EACxBC,QAAiB,EACjBC,UAAmB,KAChB;EACH,MAAMC,MAAM,GACVH,WAAW,KAAKV,WAAW,CAACc,MAAM,GAC9B,IAAI,GACJJ,WAAW,KAAKV,WAAW,CAACe,YAAY,GACtC,IAAI,GACJ,IAAI;EAEZ,OAAO,CAACF,MAAM,EAAEF,QAAQ,EAAEC,UAAU,CAAC,CAACI,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AACjE,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAIC,GAAqC,IAAK;EACzE,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,IAAI,CAAC,CAACtB,CAAC,EAAEC,CAAC,KACtCF,mBAAmB,CAACmB,GAAG,CAAClB,CAAC,CAAC,EAAGkB,GAAG,CAACjB,CAAC,CAAE,CACtC,CAAC;EACD,OAAO;IAAEiB,GAAG;IAAEC;EAAK,CAAC;AACtB,CAAC;AAED,OAAO,MAAMI,QAAQ,GAAIC,YAA+B,IAAK;EAC3D,IAAIA,YAAY,IAAIA,YAAY,EAAEC,QAAQ,KAAK5B,QAAQ,CAAC6B,GAAG,EAAE;IAC3D,IAAI;MACF,MAAMC,EAAE,GAAGC,IAAI,CAACC,KAAK,CAACL,YAAY,EAAEM,EAAE,IAAI,IAAI,CAAC,EAAEC,WAAW,EAAEC,IAAI,EAAEC,KAAK;MACzE,OAAON,EAAE;MACT;IACF,CAAC,CAAC,OAAOO,CAAM,EAAE;MACf,OAAOC,SAAS;IAClB;EACF;EACA,OAAOA,SAAS;AAClB,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAC9BZ,YAAsE,IACnE;EACH,OAAOA,YAAY,EAAEC,QAAQ,KAAK5B,QAAQ,CAACwC,KAAK;AAClD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["PeerType","SessionType","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","getConversationID","sessionType","senderID","receiverID","prefix","Single","Notification","filter","Boolean","join","sortConversation","map","list","Object","keys","id","isNotInGroup","sort","getBotId","conversation","peerType","Bot","JSON","parse","ex","sessionInfo","data","botId","_","undefined","isGroupConversation","Group"],"sourceRoot":"../../../src","sources":["utils/conversation.ts"],"mappings":";;AAAA,SACEA,QAAQ,EACRC,WAAW,QAEN,+BAA+B;AAEtC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,CAAmB,EACnBC,CAAmB,KAChB;EACH,IAAID,CAAC,CAACE,QAAQ,KAAKD,CAAC,CAACC,QAAQ,EAAE,OAAOF,CAAC,CAACE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;EAEzD,MAAMC,QAAQ,GACZH,CAAC,CAACI,aAAa,GAAGJ,CAAC,CAACK,iBAAiB,GACjCL,CAAC,CAACI,aAAa,GACfJ,CAAC,CAACK,iBAAiB;EACzB,MAAMC,QAAQ,GACZL,CAAC,CAACG,aAAa,GAAGH,CAAC,CAACI,iBAAiB,GACjCJ,CAAC,CAACG,aAAa,GACfH,CAAC,CAACI,iBAAiB;EAEzB,OAAOC,QAAQ,GAAGH,QAAQ;AAC5B,CAAC;AAED,OAAO,MAAMI,iBAAiB,GAAGA,CAC/BC,WAAwB,EACxBC,QAAiB,EACjBC,UAAmB,KAChB;EACH,MAAMC,MAAM,GACVH,WAAW,KAAKV,WAAW,CAACc,MAAM,GAC9B,IAAI,GACJJ,WAAW,KAAKV,WAAW,CAACe,YAAY,GACtC,IAAI,GACJ,IAAI;EAEZ,OAAO,CAACF,MAAM,EAAEF,QAAQ,EAAEC,UAAU,CAAC,CAACI,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AACjE,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAIC,GAAqC,IAAK;EACzE;EACA;EACA;EACA,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAC1BJ,MAAM,CAAEQ,EAAE,IAAK,CAACJ,GAAG,CAACI,EAAE,CAAC,EAAEC,YAAY,CAAC,CACtCC,IAAI,CAAC,CAACxB,CAAC,EAAEC,CAAC,KAAKF,mBAAmB,CAACmB,GAAG,CAAClB,CAAC,CAAC,EAAGkB,GAAG,CAACjB,CAAC,CAAE,CAAC,CAAC;EACxD,OAAO;IAAEiB,GAAG;IAAEC;EAAK,CAAC;AACtB,CAAC;AAED,OAAO,MAAMM,QAAQ,GAAIC,YAA+B,IAAK;EAC3D,IAAIA,YAAY,IAAIA,YAAY,EAAEC,QAAQ,KAAK9B,QAAQ,CAAC+B,GAAG,EAAE;IAC3D,IAAI;MACF,MAAMN,EAAE,GAAGO,IAAI,CAACC,KAAK,CAACJ,YAAY,EAAEK,EAAE,IAAI,IAAI,CAAC,EAAEC,WAAW,EAAEC,IAAI,EAAEC,KAAK;MACzE,OAAOZ,EAAE;MACT;IACF,CAAC,CAAC,OAAOa,CAAM,EAAE;MACf,OAAOC,SAAS;IAClB;EACF;EACA,OAAOA,SAAS;AAClB,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAC9BX,YAAsE,IACnE;EACH,OAAOA,YAAY,EAAEC,QAAQ,KAAK9B,QAAQ,CAACyC,KAAK;AAClD,CAAC","ignoreList":[]}
@@ -207,7 +207,7 @@ export const getMessagePreview = message => {
207
207
  {
208
208
  const fileName = message?.fileElem?.fileName;
209
209
  if (fileName) {
210
- return `[File] ${fileName}`;
210
+ return `[File] ${truncateMiddle(fileName, 20)}`;
211
211
  }
212
212
  return '[File]';
213
213
  }
@@ -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","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":[]}
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","truncateMiddle","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","name","maxLength","dotIndex","lastIndexOf","baseName","slice","ext","headLen","Math","ceil","tailLen","floor"],"sourceRoot":"../../../src","sources":["utils/messageUtils.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA,SACEA,WAAW,EACXC,QAAQ,QAGH,+BAA+B;AACtC,SAASC,cAAc,QAAQ,oBAAiB;AAChD,SAASC,WAAW,EAAEC,WAAW,QAAQ,iBAAc;AACvD,SAASC,KAAK,QAAQ,yBAAgB;AAItC,OAAO,MAAMC,gBAAgB,GAAIC,OAAoB,IACnDA,OAAO,CAACC,WAAW,KAAKR,WAAW,CAACS,aAAa;;AAEnD;AACA;AACA;AACA,OAAO,MAAMC,uBAEZ,GAAG;EACF,CAACV,WAAW,CAACW,YAAY,GAAG;IAC1BC,UAAU,EAAE,wBAAwB;IACpCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACc,gBAAgB,GAAG;IAC9BF,UAAU,EAAE,6BAA6B;IACzCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACe,UAAU,GAAG;IACxBH,UAAU,EAAE,sBAAsB;IAClCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACgB,qBAAqB,GAAG;IACnCJ,UAAU,EAAE,kCAAkC;IAC9CC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACiB,YAAY,GAAG;IAC1BL,UAAU,EAAE,wBAAwB;IACpCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACkB,aAAa,GAAG;IAC3BN,UAAU,EAAE,yBAAyB;IACrCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACmB,WAAW,GAAG;IACzBP,UAAU,EAAE,uBAAuB;IACnCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACoB,cAAc,GAAG;IAC5BR,UAAU,EAAE,0BAA0B;IACtCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACqB,gBAAgB,GAAG;IAC9BT,UAAU,EAAE,6BAA6B;IACzCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACsB,sBAAsB,GAAG;IACpCV,UAAU,EAAE,oCAAoC;IAChDC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACuB,UAAU,GAAG;IACxBX,UAAU,EAAE,sBAAsB;IAClCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACwB,gBAAgB,GAAG;IAC9BZ,UAAU,EAAE,6BAA6B;IACzCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAACyB,wBAAwB,GAAG;IACtCb,UAAU,EAAE,qCAAqC;IACjDC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAAC0B,gBAAgB,GAAG;IAC9Bd,UAAU,EAAE,6BAA6B;IACzCC,WAAW,EAAE;EACf,CAAC;EACD,CAACb,WAAW,CAAC2B,qBAAqB,GAAG;IACnCf,UAAU,EAAE,iCAAiC;IAC7CC,WAAW,EAAE;EACf,CAAC;EACD;EACA;EACA;EACA,CAACb,WAAW,CAAC4B,MAAM,GAAG;IACpBhB,UAAU,EAAE,2BAA2B;IACvCC,WAAW,EAAE;EACf;AACF,CAAC;AAED,MAAMgB,uBAAuB,GAAItB,OAAoB,IAAU;EAC7D,IAAI,CAACA,OAAO,CAACuB,gBAAgB,EAAEC,MAAM,EAAE,OAAOC,SAAS;EACvD,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAAC3B,OAAO,CAACuB,gBAAgB,CAACC,MAAM,CAAC;EACpD,CAAC,CAAC,MAAM;IACN,OAAOC,SAAS;EAClB;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMG,iBAAiB,GACrBC,OAAiD,IAC1B;EACvB,MAAMC,KAAK,GAAG,CAACD,OAAO,IAAI,EAAE,EACzBE,GAAG,CAAEC,MAAM,IAAKA,MAAM,EAAEC,QAAQ,CAAC,CACjCC,MAAM,CAAED,QAAQ,IAAyB,CAAC,CAACA,QAAQ,CAAC;EAEvD,IAAIH,KAAK,CAACK,MAAM,KAAK,CAAC,EAAE,OAAOV,SAAS;EACxC,IAAIK,KAAK,CAACK,MAAM,IAAI,CAAC,EAAE,OAAOL,KAAK,CAACM,IAAI,CAAC,IAAI,CAAC;EAC9C,OAAO,GAAGN,KAAK,CAAC,CAAC,CAAC,KAAKA,KAAK,CAAC,CAAC,CAAC,OAAOA,KAAK,CAACK,MAAM,GAAG,CAAC,aAAa;AACrE,CAAC;AAQD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,uBAAuB,GAClCrC,OAAoB,IACqB;EACzC,MAAMsC,IAAI,GAAGnC,uBAAuB,CAACH,OAAO,CAACC,WAAW,CAAC;EACzD,IAAI,CAACqC,IAAI,EAAE,OAAOb,SAAS;EAE3B,IAAIpB,UAAU,GAAGiC,IAAI,CAACjC,UAAU;EAChC,IAAIC,WAAW,GAAGgC,IAAI,CAAChC,WAAW;EAClC,MAAMiC,MAA8B,GAAG,CAAC,CAAC;EACzC,MAAMf,MAAM,GAAGF,uBAAuB,CAACtB,OAAO,CAAC;EAE/C,QAAQA,OAAO,CAACC,WAAW;IACzB,KAAKR,WAAW,CAAC0B,gBAAgB;MAAE;QACjC,MAAMqB,YAAY,GAAGhB,MAAM,EAAEiB,KAAK,EAAEC,SAAS;QAC7C,IAAIF,YAAY,EAAE;UAChBD,MAAM,CAACC,YAAY,GAAGA,YAAY;UAClClC,WAAW,GAAG,kCAAkC;QAClD;QACA;MACF;IACA,KAAKb,WAAW,CAACkB,aAAa;MAAE;QAC9B,MAAMmB,KAAK,GAAGF,iBAAiB,CAACJ,MAAM,EAAEmB,eAAe,CAAC;QACxD,IAAIb,KAAK,EAAE;UACTS,MAAM,CAACT,KAAK,GAAGA,KAAK;UACpBxB,WAAW,GAAG,8BAA8B;QAC9C;QACA;MACF;IACA,KAAKb,WAAW,CAACiB,YAAY;MAAE;QAC7B,MAAMoB,KAAK,GAAGF,iBAAiB,CAACJ,MAAM,EAAEoB,cAAc,CAAC;QACvD,IAAId,KAAK,EAAE;UACTS,MAAM,CAACT,KAAK,GAAGA,KAAK;UACpBxB,WAAW,GAAG,6BAA6B;QAC7C;QACA;MACF;IACA,KAAKb,WAAW,CAACgB,qBAAqB;MAAE;QACtC,MAAMoC,UAAU,GAAGrB,MAAM,EAAEsB,aAAa,EAAEb,QAAQ;QAClD,IAAIY,UAAU,EAAE;UACdN,MAAM,CAACM,UAAU,GAAGA,UAAU;UAC9BvC,WAAW,GAAG,uCAAuC;QACvD;QACA;MACF;IACA,KAAKb,WAAW,CAAC2B,qBAAqB;MAAE;QACtC,MAAMyB,UAAU,GAAGrB,MAAM,EAAEuB,WAAW,EAAEd,QAAQ;QAChD,IAAIY,UAAU,EAAE;UACdN,MAAM,CAACM,UAAU,GAAGA,UAAU;UAC9BvC,WAAW,GAAG,gCAAgC;QAChD;QACA;MACF;IACA,KAAKb,WAAW,CAAC4B,MAAM;MAAE;QACvB,IAAIG,MAAM,EAAEwB,QAAQ,KAAK,IAAI,EAAE;UAC7B3C,UAAU,GAAG,yBAAyB;UACtCC,WAAW,GAAG,8BAA8B;QAC9C;QACA;MACF;IACA;MACE;EACJ;EAEA,OAAO;IAAED,UAAU;IAAEC,WAAW;IAAEiC;EAAO,CAAC;AAC5C,CAAC;AAED,OAAO,MAAMU,kBAAkB,GAAIjD,OAAoB,IAAa;EAClE,IAAIA,OAAO,CAACkD,QAAQ,EAAEC,OAAO,EAAE,OAAOnD,OAAO,CAACkD,QAAQ,CAACC,OAAO;EAC9D,IAAI;IACF,MAAMC,MAAM,GAAG1B,IAAI,CAACC,KAAK,CAAC3B,OAAO,CAACmD,OAAO,CAIxC;IACD,OAAOC,MAAM,EAAED,OAAO,IAAIC,MAAM,EAAEC,IAAI,IAAID,MAAM,EAAEE,WAAW,IAAI,EAAE;EACrE,CAAC,CAAC,MAAM;IACN,OAAOtD,OAAO,CAACmD,OAAO,IAAI,EAAE;EAC9B;AACF,CAAC;AAED,OAAO,MAAMI,iBAAiB,GAAIvD,OAAqB,IAAa;EAClE,IAAI,CAACA,OAAO,EAAE,OAAO,EAAE;EACvB;EACA,QAAQA,OAAO,CAACC,WAAW;IACzB,KAAKR,WAAW,CAAC+D,WAAW;MAC1B,OAAOP,kBAAkB,CAACjD,OAAO,CAAC;IAEpC,KAAKP,WAAW,CAACgE,cAAc;MAC7B,OAAO,YAAY;IAErB,KAAKhE,WAAW,CAACiE,YAAY;MAC3B,IAAI;QACF,MAAMC,SAAS,GAAG3D,OAAO,EAAE4D,SAAS;QACpC,MAAMC,QAAQ,GAAGF,SAAS,EAAEE,QAAQ,IAAI,CAAC;QACzC,MAAMC,WAAW,GAAGD,QAAQ,GAAG,CAAC,GAAG,IAAIlE,cAAc,CAACkE,QAAQ,CAAC,EAAE,GAAG,EAAE;QACtE,OAAO,UAAUC,WAAW,EAAE;MAChC,CAAC,CAAC,MAAM;QACN,OAAO,SAAS;MAClB;IAEF,KAAKrE,WAAW,CAACsE,WAAW;MAAE;QAC5B,MAAMC,QAAQ,GAAGhE,OAAO,EAAEiE,QAAQ,EAAED,QAAQ;QAC5C,IAAIA,QAAQ,EAAE;UACZ,OAAO,UAAUE,cAAc,CAACF,QAAQ,EAAE,EAAE,CAAC,EAAE;QACjD;QACA,OAAO,QAAQ;MACjB;IAEA,KAAKvE,WAAW,CAAC0E,YAAY;MAC3B;MACA,IAAI;QACF,MAAMC,SAAS,GAAGpE,OAAO,CAACqE,SAAS;QACnC,IAAID,SAAS,EAAEE,YAAY,EAAE;UAC3B,MAAMC,UAAU,GAAGH,SAAS,CAACE,YAAY,CAACpC,MAAM,CAC7CsC,GAAQ,IAAKA,GAAG,CAACvE,WAAW,KAAKR,WAAW,CAACgE,cAChD,CAAC,CAACtB,MAAM;UACR,IAAIoC,UAAU,GAAG,CAAC,EAAE;YAClB,OAAO,YAAY;UACrB;QACF;MACF,CAAC,CAAC,MAAM;QACN;MAAA;MAEF,OAAO,EAAE;IAEX,KAAK9E,WAAW,CAACgF,cAAc;MAC7B;MACA,MAAMC,OAAO,GACX1E,OAAO,EAAE2E,WAAW,EAAExB,OAAO,IAC7BnD,OAAO,EAAE2E,WAAW,EAAEC,IAAI,GAAG,CAAC,CAAC,IAC/B3B,kBAAkB,CAACjD,OAAO,CAAC,IAC3B,EAAE;MACJ,OAAO0E,OAAO,GAAGA,OAAO,GAAG,EAAE;IAE/B,KAAKjF,WAAW,CAACoF,aAAa;MAC5B,OAAO5B,kBAAkB,CAACjD,OAAO,CAAC;IAEpC,KAAKP,WAAW,CAACqF,YAAY;MAC3B,OAAO9E,OAAO,EAAE+E,SAAS,EAAE1B,IAAI,IAAIJ,kBAAkB,CAACjD,OAAO,CAAC,IAAI,EAAE;IAEtE,KAAKP,WAAW,CAACS,aAAa;MAC5B,OAAOJ,KAAK,CAAC,iBAAiB,CAAC;IAEjC,KAAKL,WAAW,CAACuF,aAAa;MAC5B,IAAIhF,OAAO,EAAEiF,UAAU,EAAE3B,WAAW,EAAE;QACpC,OAAOtD,OAAO,EAAEiF,UAAU,EAAE3B,WAAW;MACzC;MACA,OAAOL,kBAAkB,CAACjD,OAAO,CAAC,IAAI,EAAE;IAE1C,KAAKP,WAAW,CAACyF,cAAc;MAC7B,OAAO,WAAW;IAEpB,KAAKzF,WAAW,CAAC0F,WAAW;MAC1B,OAAOrF,KAAK,CAAC,uBAAuB,CAAC;IAEvC,KAAKL,WAAW,CAAC2F,cAAc;MAC7B,OAAOtF,KAAK,CAAC,0BAA0B,CAAC;IAE1C,KAAKL,WAAW,CAAC4F,iBAAiB;MAChC,OAAOvF,KAAK,CAAC,8BAA8B,CAAC;IAE9C;MAAS;QACP,MAAMwF,QAAQ,GAAGjD,uBAAuB,CAACrC,OAAO,CAAC;QACjD,IAAIsF,QAAQ,EAAE;UACZ,OAAOxF,KAAK,CAACwF,QAAQ,CAACjF,UAAU,EAAEiF,QAAQ,CAAC/C,MAAM,CAAC;QACpD;QACA,OAAO,8BAA8B;MACvC;EACF;AACF,CAAC;AAED,OAAO,MAAMgD,0BAA0B,GACrCvF,OAAqB,IACP;EACd,IAAI,CAACA,OAAO,EAAE,OAAO,CAAC,CAAC;EACvB,QAAQA,OAAO,CAACC,WAAW;IACzB,KAAKR,WAAW,CAACsE,WAAW;MAC1B,OAAO;QACLyB,aAAa,EAAE;MACjB,CAAC;IACH;MACE,OAAO,CAAC,CAAC;EACb;AACF,CAAC;AAED,OAAO,MAAMC,sBAAsB,GACjCzF,OAAqB,KACuB;EAC5CqD,IAAI,EAAEE,iBAAiB,CAACvD,OAAO,CAAC;EAChC0F,SAAS,EAAEH,0BAA0B,CAACvF,OAAO;AAC/C,CAAC,CAAC;AAWF,MAAM2F,WAAW,GAAIC,WAAgB,IACnCA,WAAW,EAAEC,eAAe,EAAEC,GAAG,IACjCF,WAAW,EAAEG,UAAU,EAAED,GAAG,IAC5BF,WAAW,EAAEI,aAAa,EAAEF,GAAG;;AAEjC;AACA;AACA,MAAMG,cAAc,GAAIjG,OAAoB,IAA+B;EACzE,IAAI,CAACA,OAAO,CAACkG,EAAE,EAAE,OAAOzE,SAAS;EACjC,IAAI;IACF,MAAM2B,MAAM,GAAG1B,IAAI,CAACC,KAAK,CAAC3B,OAAO,CAACkG,EAAE,CAAmC;IACvE,OAAO9C,MAAM,CAAC+C,WAAW;EAC3B,CAAC,CAAC,MAAM;IACN,OAAO1E,SAAS;EAClB;AACF,CAAC;AAED,OAAO,MAAM2E,uBAAuB,GAClCpG,OAAoB,IACK;EACzB,QAAQA,OAAO,CAACC,WAAW;IACzB,KAAKR,WAAW,CAACgE,cAAc;MAAE;QAC/B,MAAM4C,YAAY,GAAGV,WAAW,CAAE3F,OAAO,CAAS4F,WAAW,CAAC;QAC9D,OAAO;UACLU,SAAS,EAAE,OAAO;UAClBC,WAAW,EAAE,4BAA4B;UACzCF;QACF,CAAC;MACH;IAEA,KAAK5G,WAAW,CAACiE,YAAY;MAC3B,OAAO;QACL4C,SAAS,EAAE,OAAO;QAClBC,WAAW,EAAE,4BAA4B;QACzCF,YAAY,EAAErG,OAAO,CAAC4D,SAAS,EAAE4C;MACnC,CAAC;IAEH,KAAK/G,WAAW,CAACsE,WAAW;MAAE;QAC5B,MAAMC,QAAQ,GAAGhE,OAAO,CAACiE,QAAQ,EAAED,QAAQ,IAAI,EAAE;QACjD,OAAO;UACLsC,SAAS,EAAE,MAAM;UACjBC,WAAW,EAAE,2BAA2B;UACxCE,QAAQ,EAAE7G,WAAW,CAACC,WAAW,CAACmE,QAAQ,CAAC;QAC7C,CAAC;MACH;IAEA,KAAKvE,WAAW,CAACgF,cAAc;MAAE;QAC/B,MAAM4B,YAAY,GAAGJ,cAAc,CAACjG,OAAO,CAAC,EAAE0G,KAAK;QACnD,OAAO;UACLJ,SAAS,EAAED,YAAY,GAAG,OAAO,GAAG,MAAM;UAC1CE,WAAW,EAAE,2BAA2B;UACxCF;QACF,CAAC;MACH;IAEA,KAAK5G,WAAW,CAAC0E,YAAY;MAAE;QAC7B,IAAI;UACF,MAAMwC,UAAU,GAAG3G,OAAO,CAACqE,SAAS,EAAEC,YAAY,EAAEsC,IAAI,CACrDpC,GAAQ,IAAKA,GAAG,CAACvE,WAAW,KAAKR,WAAW,CAACgE,cAChD,CAAC;UACD,MAAM4C,YAAY,GAAGV,WAAW,CAACgB,UAAU,EAAEf,WAAW,CAAC;UACzD,IAAIS,YAAY,EAAE;YAChB,OAAO;cACLC,SAAS,EAAE,OAAO;cAClBC,WAAW,EAAE,4BAA4B;cACzCF;YACF,CAAC;UACH;QACF,CAAC,CAAC,MAAM;UACN;QAAA;QAEF,OAAO;UAAEC,SAAS,EAAE,MAAM;UAAEC,WAAW,EAAE;QAA+B,CAAC;MAC3E;IAEA;MACE,OAAO;QAAED,SAAS,EAAE,MAAM;QAAEC,WAAW,EAAE;MAA+B,CAAC;EAC7E;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMM,6BAA6B,GACxC7G,OAAoB,IACG;EACvB,IAAI,CAACA,OAAO,CAACuB,gBAAgB,EAAEC,MAAM,EAAE,OAAOC,SAAS;EACvD,IAAI;IACF,MAAM2B,MAAM,GAAG1B,IAAI,CAACC,KAAK,CAAC3B,OAAO,CAACuB,gBAAgB,CAACC,MAAM,CAGxD;IACD;IACA;IACA,OAAO4B,MAAM,EAAE0D,MAAM,EAAE7E,QAAQ,IAAImB,MAAM,EAAE2D,QAAQ,EAAE9E,QAAQ;EAC/D,CAAC,CAAC,MAAM;IACN,OAAOR,SAAS;EAClB;AACF,CAAC;AAED,OAAO,MAAMuF,aAAa,GAAGA,CAC3BhH,OAAoB,EACpBiH,aAAsB,EACtBC,YAA+B,KACpB;EACX,MAAMC,MAAM,GACVF,aAAa,IAAIjH,OAAO,CAACoH,MAAM,KAAKH,aAAa,GAC7C,KAAK,GACLjH,OAAO,EAAEqH,cAAc,IACvBR,6BAA6B,CAAC7G,OAAO,CAAC,KACrCkH,YAAY,EAAEI,QAAQ,KAAK5H,QAAQ,CAAC6H,GAAG,GACpCL,YAAY,EAAEM,QAAQ,IAAI,EAAE,GAC5B/F,SAAS,CAAC;EACpB,OAAO0F,MAAM,IAAI,EAAE;AACrB,CAAC;AASD,OAAO,MAAMM,kBAAkB,GAAGA,CAAC;EACjCzH,OAAO;EACPiH,aAAa;EACbC,YAAY;EACZQ,6BAA6B,GAAG;AACR,CAAC,KAAa;EACtC,IAAI,CAAC1H,OAAO,EAAE,OAAO,EAAE;EACvB,MAAM2H,OAAO,GAAGpE,iBAAiB,CAACvD,OAAO,CAAC;EAC1C,IAAI,CAAC2H,OAAO,EAAE,OAAO,EAAE;EAEvB,MAAMR,MAAM,GAAGH,aAAa,CAAChH,OAAO,EAAEiH,aAAa,EAAEC,YAAY,CAAC;EAElE,IAAI,CAACC,MAAM,EAAE,OAAOQ,OAAO;EAE3B,IAAI5H,gBAAgB,CAACC,OAAO,CAAC,EAAE;IAC7B,OAAOF,KAAK,CAAC,wBAAwB,EAAE;MAAEqH;IAAO,CAAC,CAAC;EACpD;EAEA,MAAMS,oBAAoB,GAAGvF,uBAAuB,CAACrC,OAAO,CAAC;EAC7D,IAAI4H,oBAAoB,EAAE;IACxB,OAAO9H,KAAK,CAAC8H,oBAAoB,CAACtH,WAAW,EAAE;MAC7C6G,MAAM;MACN,GAAGS,oBAAoB,CAACrF;IAC1B,CAAC,CAAC;EACJ;EAEA,MAAMsF,gBAAgB,GACpBH,6BAA6B,IAAIR,YAAY,EAAEI,QAAQ,KAAK5H,QAAQ,CAACoI,IAAI;EAE3E,OAAOD,gBAAgB,GAAGF,OAAO,GAAG,GAAGR,MAAM,KAAKQ,OAAO,EAAE;AAC7D,CAAC;AAED,OAAO,MAAMI,kBAAkB,GAAGA,CAChC/H,OAAqB,EACrBiH,aAAsB,EACtBC,YAA+B,EAC/Bc,MAAgB,KACL;EACX,IAAI,CAAChI,OAAO,EAAE,OAAO,EAAE;EACvB,IAAIiH,aAAa,IAAIjH,OAAO,CAACoH,MAAM,KAAKH,aAAa,EACnD,OAAOnH,KAAK,CAACkI,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;EAC3C,OAAOd,YAAY,EAAEI,QAAQ,KAAK5H,QAAQ,CAAC6H,GAAG,GAC1CL,YAAY,EAAEM,QAAQ,IAAI,EAAE,GAC5BxH,OAAO,EAAEqH,cAAc,IAAI,EAAE;AACnC,CAAC;AAED,OAAO,MAAMY,gBAAgB,GAAI/B,EAAW,IAA+B;EACzE,IAAI,CAACA,EAAE,EAAE,OAAOzE,SAAS;EACzB,IAAI;IACF,MAAM2B,MAAM,GAAG1B,IAAI,CAACC,KAAK,CAACuE,EAAE,CAAQ;IACpC;IACA,OAAO9C,MAAM,EAAE+C,WAAW,IAAI1E,SAAS;EACzC,CAAC,CAAC,MAAM;IACN,OAAOA,SAAS;EAClB;AACF,CAAC;AAED,OAAO,MAAMyC,cAAc,GAAGA,CAACgE,IAAY,EAAEC,SAAiB,KAAa;EACzE,MAAMC,QAAQ,GAAGF,IAAI,CAACG,WAAW,CAAC,GAAG,CAAC;EACtC,MAAMC,QAAQ,GAAGF,QAAQ,KAAK,CAAC,CAAC,GAAGF,IAAI,CAACK,KAAK,CAAC,CAAC,EAAEH,QAAQ,CAAC,GAAGF,IAAI;EACjE,MAAMM,GAAG,GAAGJ,QAAQ,KAAK,CAAC,CAAC,GAAGF,IAAI,CAACK,KAAK,CAACH,QAAQ,CAAC,GAAG,EAAE;EAEvD,IAAIE,QAAQ,CAACnG,MAAM,IAAIgG,SAAS,EAAE,OAAOD,IAAI;EAE7C,MAAMO,OAAO,GAAGC,IAAI,CAACC,IAAI,CAAC,CAACR,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC;EAC9C,MAAMS,OAAO,GAAGF,IAAI,CAACG,KAAK,CAAC,CAACV,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC;EAC/C,OAAO,GAAGG,QAAQ,CAACC,KAAK,CAAC,CAAC,EAAEE,OAAO,CAAC,MAAMG,OAAO,GAAG,CAAC,GAAGN,QAAQ,CAACC,KAAK,CAAC,CAACK,OAAO,CAAC,GAAG,EAAE,GAAGJ,GAAG,EAAE;AAC/F,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,eAAe,YAuY3B,CAAC"}
1
+ {"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,eAAe,YAqZ3B,CAAC"}
@@ -0,0 +1,10 @@
1
+ type Params = {
2
+ groupID?: string;
3
+ /** Navigate away from the chat screen. Called once, after the block modal. */
4
+ onBlocked: () => void;
5
+ };
6
+ export declare const useGroupAccessGuard: ({ groupID, onBlocked }: Params) => {
7
+ isCheckingAccess: boolean;
8
+ };
9
+ export {};
10
+ //# sourceMappingURL=useGroupAccessGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGroupAccessGuard.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/groups/useGroupAccessGuard.ts"],"names":[],"mappings":"AA0CA,KAAK,MAAM,GAAG;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,wBAAwB,MAAM;;CAqIjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInfoDescriptionRow.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfoDescriptionRow.tsx"],"names":[],"mappings":"AAOA,UAAU,2BAA2B;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,QAAA,MAAM,sBAAsB,sDACV,2BAA2B,iCA6E5C,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"ChatInfoDescriptionRow.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfoDescriptionRow.tsx"],"names":[],"mappings":"AAOA,UAAU,2BAA2B;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,QAAA,MAAM,sBAAsB,sDACV,2BAA2B,iCAiF5C,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatDetail.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetail.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAiB/C,QAAA,MAAM,UAAU,wQAgBX,eAAe,iCA8LnB,CAAC;AAIF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ChatDetail.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetail.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAkB/C,QAAA,MAAM,UAAU,wQAgBX,eAAe,iCA2LnB,CAAC;AAIF,eAAe,UAAU,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { ChatDetailHeaderProps } from './types';
2
- declare const ChatDetailHeader: import("react").MemoExoticComponent<({ showAddMember, conversationId, targetUserId, onBack, onPressSearch, onPressAddMember, onPressMenu, onPressAvatar, targetGroupId, }: ChatDetailHeaderProps) => import("react").JSX.Element>;
2
+ declare const ChatDetailHeader: import("react").MemoExoticComponent<({ showAddMember, conversationId, targetUserId, onBack, onPressSearch, onPressAddMember, onPressMenu, onPressAvatar, }: ChatDetailHeaderProps) => import("react").JSX.Element>;
3
3
  export default ChatDetailHeader;
4
4
  //# sourceMappingURL=ChatDetailHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatDetailHeader.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetailHeader.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAMrD,QAAA,MAAM,gBAAgB,6KAWjB,qBAAqB,iCA+HzB,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"ChatDetailHeader.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetailHeader.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAMrD,QAAA,MAAM,gBAAgB,8JAUjB,qBAAqB,iCA4HzB,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
@@ -40,7 +40,6 @@ export interface ChatDetailHeaderProps {
40
40
  onPressAvatar?: () => void;
41
41
  conversationId: string;
42
42
  targetUserId?: string;
43
- targetGroupId?: string;
44
43
  }
45
44
  export interface ChatQuickActionsRenderParams {
46
45
  actions: DChatQuickAction[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/store/conversation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CACpB,EAAE,CAAC,EAAE,cAAc,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAAC;IACR,sBAAsB,IAAI,gBAAgB,GAAG,SAAS,CAAC;IACvD,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC9C,6FAA6F;IAC7F,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC9E,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAC7D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7C,sCAAsC;IACtC,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,KAAK,IAAI,IAAI,CAAC;CACf;AAED,eAAO,MAAM,oBAAoB,gFAwE9B,CAAC;AAEJ,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,gBAAgB,GAAG,SAE/D,CAAC"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/store/conversation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CACpB,EAAE,CAAC,EAAE,cAAc,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAAC;IACR,sBAAsB,IAAI,gBAAgB,GAAG,SAAS,CAAC;IACvD,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC9C,6FAA6F;IAC7F,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC9E,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAC7D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7C,sCAAsC;IACtC,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,KAAK,IAAI,IAAI,CAAC;CACf;AAED,eAAO,MAAM,oBAAoB,gFAoE9B,CAAC;AAEJ,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,gBAAgB,GAAG,SAE/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/translation/resources/i18n.ts"],"names":[],"mappings":";;;AAqNA,wBAEE"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/translation/resources/i18n.ts"],"names":[],"mappings":";;;AAyNA,wBAEE"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/utils/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AAEvC,eAAO,MAAM,mBAAmB,GAC9B,GAAG,gBAAgB,EACnB,GAAG,gBAAgB,WAcpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,aAAa,WAAW,EACxB,WAAW,MAAM,EACjB,aAAa,MAAM,WAUpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;;;CAKrE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,eAAe,gBAAgB,QAWvD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,UAAU,CAAC,YAGvE,CAAC"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../src/utils/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AAEvC,eAAO,MAAM,mBAAmB,GAC9B,GAAG,gBAAgB,EACnB,GAAG,gBAAgB,WAcpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,aAAa,WAAW,EACxB,WAAW,MAAM,EACjB,aAAa,MAAM,WAUpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;;;CAQrE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,eAAe,gBAAgB,QAWvD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,UAAU,CAAC,YAGvE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@droppii-org/chat-mobile",
3
- "version": "0.2.78",
3
+ "version": "0.2.79",
4
4
  "description": "Droppii chat mobile",
5
5
  "keywords": [
6
6
  "react-native",
@@ -256,9 +256,23 @@ export const useChatListener = () => {
256
256
 
257
257
  const markGroupJoined = useCallback(
258
258
  (groupID: string) => {
259
+ // Mirror of removeGroupConversation: leaving marks the conversation
260
+ // `isNotInGroup`, which keeps it out of the inbox, so rejoining has to
261
+ // clear that flag. This runs on the WS event rather than on joinGroup's
262
+ // API success because isJoinGroup only reports true once the incremental
263
+ // sync behind that event has landed.
264
+ useConversationStore
265
+ .getState()
266
+ .updateConversation(getConversationID(SessionType.Group, groupID), {
267
+ isNotInGroup: false,
268
+ });
269
+
259
270
  queryClient.invalidateQueries({
260
271
  queryKey: conversationQueryKeys.joinedGroup(groupID),
261
272
  });
273
+ queryClient.invalidateQueries({
274
+ queryKey: conversationQueryKeys.lists(),
275
+ });
262
276
 
263
277
  queryClient.setQueriesData<{
264
278
  pages: {
@@ -0,0 +1,182 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { DeviceEventEmitter } from 'react-native';
3
+ import OpenIMSDK, {
4
+ GroupStatus,
5
+ GroupVisibility,
6
+ } from '@droppii/openim-rn-client-sdk';
7
+ import { useQueryClient } from '@tanstack/react-query';
8
+ import { UIUtils } from '../../utils/UIUtils';
9
+ import { trans } from '../../translation';
10
+ import { ChatEvent, type GroupRemovedPayload } from '../../types/events';
11
+ import { conversationQueryKeys } from '../query-keys';
12
+
13
+ type GroupAccessState =
14
+ /** Pre-access check still running — render nothing yet. */
15
+ | 'checking'
16
+ /** Member of the group, or not a group conversation at all. */
17
+ | 'allowed'
18
+ /** Non-member of a public group: may read, may not participate. */
19
+ | 'view-only'
20
+ /** No access: the block modal was shown and `onBlocked` fired. */
21
+ | 'blocked';
22
+
23
+ type EvaluationResult = { state: Exclude<GroupAccessState, 'checking'> };
24
+
25
+ /**
26
+ * Resolves whether the current user may open `groupID`, per the group-access
27
+ * spec: private non-members and dismissed groups are blocked outright, while
28
+ * public non-members drop to a read-only view.
29
+ */
30
+ const evaluateAccess = async (groupID: string): Promise<EvaluationResult> => {
31
+ const info = (await OpenIMSDK.getSpecifiedGroupsInfo([groupID]))?.[0];
32
+ if (!info) return { state: 'blocked' };
33
+ if (info.status === GroupStatus.Dismissed) return { state: 'blocked' };
34
+
35
+ const isMember = await OpenIMSDK.isJoinGroup(groupID);
36
+ if (isMember) return { state: 'allowed' };
37
+
38
+ return info.visibility === GroupVisibility.Public
39
+ ? { state: 'view-only' }
40
+ : { state: 'blocked' };
41
+ };
42
+
43
+ type Params = {
44
+ groupID?: string;
45
+ /** Navigate away from the chat screen. Called once, after the block modal. */
46
+ onBlocked: () => void;
47
+ };
48
+
49
+ export const useGroupAccessGuard = ({ groupID, onBlocked }: Params) => {
50
+ const queryClient = useQueryClient();
51
+
52
+ // The conversation is dropped from the store immediately before GroupRemoved
53
+ // is emitted, so `groupID` can fall back to empty exactly when the guard
54
+ // needs it. Latch the last known id; it is replaced whenever the caller
55
+ // supplies a different non-empty one. (A group → 1-1 switch inside a single
56
+ // mount would keep the stale id, but ChatDetail remounts per conversation.)
57
+ const groupIdRef = useRef(groupID);
58
+ if (groupID) groupIdRef.current = groupID;
59
+ const activeGroupId = groupIdRef.current;
60
+
61
+ const [accessState, setAccessState] = useState<GroupAccessState>(() =>
62
+ activeGroupId ? 'checking' : 'allowed'
63
+ );
64
+
65
+ // OnGroupDismissed fires twice for the group owner (once on API success,
66
+ // once when the WS notification lands), so blocking must be idempotent.
67
+ const hasBlockedRef = useRef(false);
68
+ const onBlockedRef = useRef(onBlocked);
69
+ onBlockedRef.current = onBlocked;
70
+
71
+ const block = useCallback(() => {
72
+ if (hasBlockedRef.current) return;
73
+ hasBlockedRef.current = true;
74
+
75
+ setAccessState('blocked');
76
+ UIUtils.alert.open({
77
+ title: trans('group:access_blocked_title'),
78
+ message: trans('group:access_blocked_desc'),
79
+ primaryIndex: 0,
80
+ buttonType: 'horizontal-button',
81
+ // Drop any alert raised while this one is up rather than stacking it —
82
+ // OnGroupDismissed fires twice for the group owner.
83
+ ignoreStack: true,
84
+ // Force an acknowledgement: dismissing by tapping outside would leave the
85
+ // user sitting in a conversation they cannot access.
86
+ touchOutsideToDismiss: false,
87
+ buttons: [
88
+ {
89
+ label: trans('group:access_blocked_button'),
90
+ kind: 'primary',
91
+ onPress: () => onBlockedRef.current(),
92
+ },
93
+ ],
94
+ });
95
+ }, []);
96
+
97
+ const applyResult = useCallback(
98
+ (result: EvaluationResult) => {
99
+ if (result.state === 'blocked') {
100
+ block();
101
+ return;
102
+ }
103
+ setAccessState(result.state);
104
+ },
105
+ [block]
106
+ );
107
+
108
+ // Pre-access check.
109
+ useEffect(() => {
110
+ if (!activeGroupId) {
111
+ setAccessState('allowed');
112
+ return;
113
+ }
114
+
115
+ let cancelled = false;
116
+ hasBlockedRef.current = false;
117
+ setAccessState('checking');
118
+
119
+ evaluateAccess(activeGroupId)
120
+ .then((result) => {
121
+ if (cancelled) return;
122
+ applyResult(result);
123
+ })
124
+ .catch((error) => {
125
+ console.error('useGroupAccessGuard: access check failed', error);
126
+ // A failed lookup is not proof of lost access — leave the screen open
127
+ // rather than ejecting the user on a transient SDK error.
128
+ if (!cancelled) setAccessState('allowed');
129
+ });
130
+
131
+ return () => {
132
+ cancelled = true;
133
+ };
134
+ }, [activeGroupId, applyResult]);
135
+
136
+ // Membership lost while the screen is open.
137
+ useEffect(() => {
138
+ if (!activeGroupId) return;
139
+
140
+ const sub = DeviceEventEmitter.addListener(
141
+ ChatEvent.GroupRemoved,
142
+ (payload: GroupRemovedPayload) => {
143
+ if (payload.groupID !== activeGroupId) return;
144
+
145
+ // A dismissed group is gone for everyone — no need to re-check.
146
+ if (payload.reason === 'dismissed') {
147
+ block();
148
+ return;
149
+ }
150
+
151
+ // Left or kicked. `reason` cannot tell the two apart — OnJoinedGroupDeleted
152
+ // reports both as 'left' — so decide on visibility instead: a public group
153
+ // stays readable, a private one does not.
154
+ evaluateAccess(activeGroupId)
155
+ .then(applyResult)
156
+ .catch(() => block());
157
+ }
158
+ );
159
+
160
+ return () => sub.remove();
161
+ }, [activeGroupId, block, applyResult]);
162
+
163
+ // The composer derives membership from the joinedGroup query alone, never
164
+ // from this hook. Refresh that query whenever the guard's own verdict flips
165
+ // so the two cannot disagree.
166
+ const isViewOnly = accessState === 'view-only';
167
+ const wasViewOnlyRef = useRef(isViewOnly);
168
+
169
+ useEffect(() => {
170
+ if (wasViewOnlyRef.current === isViewOnly) return;
171
+ wasViewOnlyRef.current = isViewOnly;
172
+ if (!activeGroupId) return;
173
+
174
+ queryClient.invalidateQueries({
175
+ queryKey: conversationQueryKeys.joinedGroup(activeGroupId),
176
+ });
177
+ }, [isViewOnly, activeGroupId, queryClient]);
178
+
179
+ return {
180
+ isCheckingAccess: accessState === 'checking',
181
+ };
182
+ };
@@ -1,4 +1,4 @@
1
- import { memo, useCallback, useState } from 'react';
1
+ import { memo, useCallback, useEffect, useState } from 'react';
2
2
  import { StyleSheet, type TextLayoutEvent } from 'react-native';
3
3
  import { KContainer, KLabel, KColors } from '@droppii/libs';
4
4
  import { trans } from '../../translation';
@@ -47,6 +47,10 @@ const ChatInfoDescriptionRow = memo(
47
47
  paddingH: '0.75rem' as const,
48
48
  };
49
49
 
50
+ useEffect(() => {
51
+ setDisplayedText(introduction);
52
+ }, [introduction]);
53
+
50
54
  if (!introduction) {
51
55
  return null;
52
56
  }
@@ -35,9 +35,10 @@ import {
35
35
  type MessageItem,
36
36
  } from '@droppii/openim-rn-client-sdk';
37
37
  import { useMessages } from '../../hooks/message/useMessages';
38
- import { ChatEvent, type GroupRemovedPayload } from '../../types/events';
38
+ import { ChatEvent } from '../../types/events';
39
39
  import { useSetIsShowFLashMessage } from '../../context/global';
40
40
  import { useJoinGroup } from '../../hooks/groups/useJoinGroup';
41
+ import { useGroupAccessGuard } from '../../hooks/groups/useGroupAccessGuard';
41
42
 
42
43
  const ChatDetail = memo(
43
44
  ({
@@ -119,16 +120,14 @@ const ChatDetail = memo(
119
120
  };
120
121
  }, [conversationId, targetUserId, targetGroupId, setShowFLashMessage]);
121
122
 
122
- useEffect(() => {
123
- const sub = DeviceEventEmitter.addListener(
124
- ChatEvent.GroupRemoved,
125
- (payload: GroupRemovedPayload) => {
126
- if (payload.groupID !== targetGroupId) return;
127
- (onBack ?? handleBackDefault)();
128
- }
129
- );
130
- return () => sub.remove();
131
- }, [targetGroupId, onBack, handleBackDefault]);
123
+ const handleAccessBlocked = useCallback(() => {
124
+ (onBack ?? handleBackDefault)();
125
+ }, [onBack, handleBackDefault]);
126
+
127
+ const { isCheckingAccess } = useGroupAccessGuard({
128
+ groupID: conversation?.groupID || targetGroupId,
129
+ onBlocked: handleAccessBlocked,
130
+ });
132
131
 
133
132
  const resolvedShowAddMember =
134
133
  showAddMember ?? shouldShowAddMember(conversation);
@@ -197,7 +196,6 @@ const ChatDetail = memo(
197
196
  onPressAddMember={onPressAddMember}
198
197
  onPressMenu={handlePressMenu}
199
198
  onPressAvatar={handlePressMenu}
200
- targetGroupId={targetGroupId}
201
199
  />
202
200
 
203
201
  <PinnedMessageBar
@@ -210,7 +208,7 @@ const ChatDetail = memo(
210
208
  messages={messages}
211
209
  conversationId={conversationId}
212
210
  customMessageItemFactory={customMessageItemFactory}
213
- isLoading={initLoading || isLoadingConversation}
211
+ isLoading={initLoading || isLoadingConversation || isCheckingAccess}
214
212
  onLoadMoreOld={getMoreOldMessages}
215
213
  hasMoreOld={hasMoreOld}
216
214
  moreOldLoading={moreOldLoading}
@@ -11,8 +11,8 @@ import { NamePrefixIcon } from '../../components/ThreadCard/NamePrefixIcon';
11
11
  import type { ChatDetailHeaderProps } from './types';
12
12
  import { getConversationSubtitle } from './conversationHeader.utils';
13
13
  import { useGetUsersInfo } from '../../hooks/users/useGetUsersInfo';
14
- import { useGetConversationDetail } from '../../hooks/conversation/useGetConversationDetail';
15
14
  import { useChatDetailContext } from '../../context';
15
+ import { useConversation } from '../../store';
16
16
 
17
17
  const ChatDetailHeader = memo(
18
18
  ({
@@ -24,12 +24,8 @@ const ChatDetailHeader = memo(
24
24
  onPressAddMember,
25
25
  onPressMenu,
26
26
  onPressAvatar,
27
- targetGroupId,
28
27
  }: ChatDetailHeaderProps) => {
29
- const { conversationData: conversation } = useGetConversationDetail({
30
- targetGroupId,
31
- targetUserId: targetUserId,
32
- });
28
+ const conversation = useConversation(conversationId);
33
29
  const { data: usersInfo } = useGetUsersInfo(
34
30
  targetUserId ? [targetUserId] : []
35
31
  );
@@ -49,7 +49,6 @@ export interface ChatDetailHeaderProps {
49
49
  onPressAvatar?: () => void;
50
50
  conversationId: string;
51
51
  targetUserId?: string;
52
- targetGroupId?: string;
53
52
  }
54
53
 
55
54
  export interface ChatQuickActionsRenderParams {
@@ -1,4 +1,4 @@
1
- import { KContainer, KSpacingValue } from '@droppii/libs';
1
+ import { KColors, KContainer, KSpacingValue } from '@droppii/libs';
2
2
  import { memo, useCallback } from 'react';
3
3
  import { ActivityIndicator, StyleSheet } from 'react-native';
4
4
  import type { SearchPublicGroupInfo } from '@droppii/openim-rn-client-sdk';
@@ -41,7 +41,7 @@ export const CommunityTab = memo(({ onPressGroup }: CommunityTabProps) => {
41
41
  <KContainer.Page flex>
42
42
  {isFetching && !isFetchingNextPage && !isRefetching ? (
43
43
  <KContainer.View flex center>
44
- <ActivityIndicator />
44
+ <ActivityIndicator color={KColors.primary.normal} size="small" />
45
45
  </KContainer.View>
46
46
  ) : (
47
47
  <KContainer.FlatList
@@ -39,7 +39,7 @@ export const MessagesTab = memo(({ onPressThread }: MessagesTabProps) => {
39
39
 
40
40
  const LoadingComponent = (
41
41
  <KContainer.View center flex paddingV="3rem">
42
- <ActivityIndicator size="large" color={KColors.palette.primary.w400} />
42
+ <ActivityIndicator color={KColors.primary.normal} size="small" />
43
43
  </KContainer.View>
44
44
  );
45
45
 
@@ -52,23 +52,14 @@ export const useConversationStore = create<ConversationStore>()((set, get) => ({
52
52
  const existing = get().map[id];
53
53
  if (!existing) return;
54
54
 
55
- const merged = { ...existing, ...data };
56
55
  const nextMap = { ...get().map };
57
- if (merged.isNotInGroup) {
58
- delete nextMap[id];
59
- } else {
60
- nextMap[id] = merged;
61
- }
56
+ nextMap[id] = { ...existing, ...data };
62
57
  set(sortConversation(nextMap));
63
58
  },
64
59
  updateConversations(conversations) {
65
60
  const nextMap = conversations.reduce(
66
61
  (pre, curr) => {
67
- if (curr.isNotInGroup) {
68
- delete pre[curr.conversationID];
69
- } else {
70
- pre[curr.conversationID] = curr;
71
- }
62
+ pre[curr.conversationID] = curr;
72
63
  return pre;
73
64
  },
74
65
  { ...get().map }
@@ -86,14 +77,19 @@ export const useConversationStore = create<ConversationStore>()((set, get) => ({
86
77
  },
87
78
  removeGroupConversation(groupID) {
88
79
  const conversationID = getConversationID(SessionType.Group, groupID);
80
+ const existing = get().map[conversationID];
81
+ if (!existing) return;
89
82
 
90
- const newMap = { ...get().map };
91
- delete newMap[conversationID];
92
-
93
- set({
94
- map: newMap,
95
- list: get().list.filter((item) => item !== conversationID),
96
- });
83
+ // Mark rather than delete: the conversation leaves the inbox and loses its
84
+ // pin, but stays addressable so a public group is still readable. Access
85
+ // itself is decided by useGroupAccessGuard, not by the store.
86
+ const nextMap = { ...get().map };
87
+ nextMap[conversationID] = {
88
+ ...existing,
89
+ isNotInGroup: true,
90
+ isPinned: false,
91
+ };
92
+ set(sortConversation(nextMap));
97
93
  },
98
94
  reset() {
99
95
  set({