@droppii-org/chat-mobile 0.2.86 → 0.2.87

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.
@@ -13,6 +13,7 @@ import { markMessageRevoked, useMessageStore } from "../store/message.js";
13
13
  import { syncPinnedMessagesOnEvent } from "../hooks/message/usePinMessage.js";
14
14
  import { belongsToConversation } from "../utils/message.js";
15
15
  import { getConversationID } from "../utils/conversation.js";
16
+ import { clearSelfExitedGroup } from "../utils/groupExit.js";
16
17
  import { DeviceEventEmitter } from 'react-native';
17
18
  import { ChatEvent } from "../types/events.js";
18
19
  import { conversationQueryKeys, groupQueryKeys } from "../hooks/query-keys.js";
@@ -185,6 +186,9 @@ export const useChatListener = () => {
185
186
  }
186
187
  }, [currentUserId]);
187
188
  const markGroupJoined = useCallback(groupID => {
189
+ // Back in the group: a future removal is no longer the user's own doing.
190
+ clearSelfExitedGroup(groupID);
191
+
188
192
  // Mirror of removeGroupConversation: leaving marks the conversation
189
193
  // `isNotInGroup`, which keeps it out of the inbox, so rejoining has to
190
194
  // clear that flag. This runs on the WS event rather than on joinGroup's
@@ -1 +1 @@
1
- {"version":3,"names":["OpenIMSDK","MessageReceiveOptType","MessageType","OpenIMEvent","PeerType","SessionType","useQueryClient","useCallback","useEffect","useConversationStore","ToastFlashMessage","useUserStore","getLastMessageText","GROUP_NOTIFICATION_TYPES","useChatContext","isEmpty","markMessageRevoked","useMessageStore","syncPinnedMessagesOnEvent","belongsToConversation","getConversationID","DeviceEventEmitter","ChatEvent","conversationQueryKeys","groupQueryKeys","useChatListener","updateOneMessage","state","currentUserId","s","user","userID","onPressFlashMessage","isShowFLashMessage","queryClient","onSendMessageProgress","progress","_progress","message","onConversationChanged","conversations","console","log","oldMap","getState","map","visibleConversations","conversation","latestMsg","JSON","parse","isNoiseMessage","isInternal","contentType","LogTextMessage","peerType","Bot","includes","push","recvMsgOpt","NotNotify","conversationID","latestMsgSendTime","lastMessageText","hideSenderPrefixForDirectChat","show","key","title","showName","body","avatarUrl","faceURL","ellipsizeMiddle","FileMessage","onPress","hide","updateConversations","onNewConversation","onGroupInfoChanged","group","setQueryData","groupInfo","groupID","onGroupMemberAdded","member","invalidateQueries","queryKey","removeGroupConversation","groupName","reason","Group","isCurrentConversation","currentConversationId","deleteConversationAndDeleteAllMsg","catch","error","hideConversation","removeQueries","joinedGroup","public","exact","emit","GroupRemoved","onGroupMemberDeleted","undefined","onJoinedGroupDeleted","onGroupDismissed","OnGroupMemberInfoChanged","getCurrentConversation","GroupPermissionUpdated","nickname","roleLevel","permissions","ex","markGroupJoined","updateConversation","isNotInGroup","lists","setQueriesData","old","pages","page","groups","g","isJoined","onJoinedGroupAdded","onGroupApplicationAdded","application","onMessageRevoked","revokedInfo","clientMsgID","onMessagePinned","messagePinned","isPinned","pinnedByUserID","operatorUserID","pinnedTime","onRecvNewMessages","messages","conversationId","targetUserId","relevant","filter","length","forEach","msg","pushNewMessage","onRecvOfflineNewMessages","_messages","on","OnConversationChanged","OnNewConversation","OnGroupInfoChanged","OnGroupMemberAdded","OnGroupMemberDeleted","OnJoinedGroupDeleted","OnGroupDismissed","OnJoinedGroupAdded","OnGroupApplicationAdded","SendMessageProgress","OnNewRecvMessageRevoked","OnRecvMessagePinned","OnRecvNewMessages","OnRecvOfflineNewMessages","off"],"sourceRoot":"../../../src","sources":["core/useChatListener.ts"],"mappings":";;AAAA,OAAOA,SAAS,IACdC,qBAAqB,EACrBC,WAAW,EACXC,WAAW,EACXC,QAAQ,EACRC,WAAW,QAQN,+BAA+B;AACtC,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,WAAW,EAAEC,SAAS,QAAQ,OAAO;AAC9C,SAASC,oBAAoB,QAAQ,0BAAuB;AAC5D,SAASC,iBAAiB,QAAQ,+BAA4B;AAC9D,SAASC,YAAY,QAAQ,kBAAe;AAC5C,SACEC,kBAAkB,EAClBC,wBAAwB,QACnB,0BAAuB;AAC9B,SAASC,cAAc,QAAQ,qBAAY;AAC3C,OAAOC,OAAO,MAAM,gBAAgB;AACpC,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,qBAAkB;AACtE,SAASC,yBAAyB,QAAQ,mCAAgC;AAC1E,SAASC,qBAAqB,QAAQ,qBAAkB;AACxD,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,kBAAkB,QAAQ,cAAc;AACjD,SAASC,SAAS,QAAQ,oBAAiB;AAC3C,SAASC,qBAAqB,EAAEC,cAAc,QAAQ,wBAAqB;AAE3E,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAMC,gBAAgB,GAAGT,eAAe,CAAEU,KAAK,IAAKA,KAAK,CAACD,gBAAgB,CAAC;EAC3E,MAAME,aAAa,GAAGjB,YAAY,CAAEkB,CAAC,IAAKA,CAAC,CAACC,IAAI,EAAEC,MAAM,CAAC;EACzD,MAAMC,mBAAmB,GAAGlB,cAAc,CAAC,CAAC,EAAEkB,mBAAmB;EACjE,MAAMC,kBAAkB,GAAGnB,cAAc,CAAC,CAAC,EAAEmB,kBAAkB;EAC/D,MAAMC,WAAW,GAAG5B,cAAc,CAAC,CAAC;EAEpC,MAAM6B,qBAAqB,GAAG5B,WAAW,CACvC,CAAC;IACC6B,QAAQ,EAAEC,SAAS;IACnBC;EAIF,CAAC,KAAK;IACJ;IACA;IACA;IACA;IACA;IACAZ,gBAAgB,CAACY,OAAO,CAAC;EAC3B,CAAC,EACD,CAACZ,gBAAgB,CACnB,CAAC;EAED,MAAMa,qBAAqB,GAAGhC,WAAW,CACtCiC,aAAiC,IAAK;IACrCC,OAAO,CAACC,GAAG,CAAC,kCAAkC,EAAEF,aAAa,CAAC;;IAE9D;IACA,MAAMG,MAAM,GAAGlC,oBAAoB,CAACmC,QAAQ,CAAC,CAAC,CAACC,GAAG;IAClD,MAAMC,oBAAwC,GAAG,EAAE;IAEnD,KAAK,MAAMC,YAAY,IAAIP,aAAa,EAAE;MACxC,MAAMQ,SAA6B,GAAGD,YAAY,CAACC,SAAS,GACxDC,IAAI,CAACC,KAAK,CAACH,YAAY,CAACC,SAAS,CAAC,GAClC,IAAI;MACRP,OAAO,CAACC,GAAG,CAAC,mCAAmC,EAAEM,SAAS,CAAC;;MAE3D;MACA;MACA;MACA,MAAMG,cAAc,GAClB,CAAC,CAACH,SAAS,EAAEI,UAAU,IACvBJ,SAAS,EAAEK,WAAW,KAAKnD,WAAW,CAACoD,cAAc,IACpDP,YAAY,EAAEQ,QAAQ,KAAKnD,QAAQ,CAACoD,GAAG,IACtC,CAAC,CAACR,SAAS,IACXnC,wBAAwB,CAAC4C,QAAQ,CAACT,SAAS,EAAEK,WAAW,CAAE;MAC9D,IAAIF,cAAc,EAAE;MAEpBL,oBAAoB,CAACY,IAAI,CAACX,YAAY,CAAC;MAEvC,IACEd,kBAAkB,IAClB,CAAClB,OAAO,CAACgC,YAAY,CAACC,SAAS,CAAC,IAChCD,YAAY,CAACY,UAAU,KAAK1D,qBAAqB,CAAC2D,SAAS,IAC3DZ,SAAS,IACTL,MAAM,CAACI,YAAY,CAACc,cAAc,CAAC,EAAEC,iBAAiB,KACpDf,YAAY,CAACe,iBAAiB,EAChC;QACA,MAAMC,eAAe,GAAGnD,kBAAkB,CAAC;UACzC0B,OAAO,EAAEU,SAAS;UAClBpB,aAAa;UACbmB,YAAY;UACZiB,6BAA6B,EAAE;QACjC,CAAC,CAAC;QACFtD,iBAAiB,CAACuD,IAAI,CAAC;UACrBC,GAAG,EAAEnB,YAAY,CAACc,cAAc;UAChCM,KAAK,EAAEpB,YAAY,CAACqB,QAAQ,IAAI,aAAa;UAC7CC,IAAI,EAAEN,eAAe;UACrBO,SAAS,EAAEvB,YAAY,EAAEwB,OAAO;UAChCC,eAAe,EAAExB,SAAS,CAACK,WAAW,KAAKnD,WAAW,CAACuE,WAAW;UAClEC,OAAO,EAAEA,CAAA,KAAM;YACbhE,iBAAiB,CAACiE,IAAI,CAAC5B,YAAY,CAACc,cAAc,CAAC;YACnD7B,mBAAmB,GAAGe,YAAY,CAAC;UACrC;QACF,CAAC,CAAC;MACJ;IACF;IAEAtC,oBAAoB,CAACmC,QAAQ,CAAC,CAAC,CAACgC,mBAAmB,CAAC9B,oBAAoB,CAAC;EAC3E,CAAC,EACD,CAAClB,aAAa,EAAEK,kBAAkB,EAAED,mBAAmB,CACzD,CAAC;EAED,MAAM6C,iBAAiB,GAAGtE,WAAW,CAAEiC,aAAiC,IAAK;IAC3E;IACA/B,oBAAoB,CAACmC,QAAQ,CAAC,CAAC,CAACgC,mBAAmB,CAACpC,aAAa,CAAC;EACpE,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMsC,kBAAkB,GAAGvE,WAAW,CACnCwE,KAAgB,IAAK;IACpB;IACA;IACA;IACA;IACA7C,WAAW,CAAC8C,YAAY,CACtBzD,qBAAqB,CAAC0D,SAAS,CAACF,KAAK,CAACG,OAAO,CAAC,EAC9CH,KACF,CAAC;EACH,CAAC,EACD,CAAC7C,WAAW,CACd,CAAC;EAED,MAAMiD,kBAAkB,GAAG5E,WAAW,CACnC6E,MAAuB,IAAK;IAC3B;IACA;IACA;IACA;IACA;IACAlD,WAAW,CAACmD,iBAAiB,CAAC;MAC5BC,QAAQ,EAAE/D,qBAAqB,CAAC0D,SAAS,CAACG,MAAM,CAACF,OAAO;IAC1D,CAAC,CAAC;EACJ,CAAC,EACD,CAAChD,WAAW,CACd,CAAC;EAED,MAAMqD,uBAAuB,GAAGhF,WAAW,CACzC,CACE2E,OAAe,EACfM,SAA6B,EAC7BC,MAAuC,KACpC;IACHhD,OAAO,CAACC,GAAG,CAAC,oCAAoC,EAAE;MAAEwC,OAAO;MAAEO;IAAO,CAAC,CAAC;IAEtE,MAAM5B,cAAc,GAAGzC,iBAAiB,CAACf,WAAW,CAACqF,KAAK,EAAER,OAAO,CAAC;IACpE;IACA,MAAMS,qBAAqB,GACzBlF,oBAAoB,CAACmC,QAAQ,CAAC,CAAC,CAACgD,qBAAqB,KACrD/B,cAAc;IAEhBpD,oBAAoB,CAACmC,QAAQ,CAAC,CAAC,CAAC2C,uBAAuB,CAACL,OAAO,CAAC;IAEhE,IAAIO,MAAM,KAAK,WAAW,EAAE;MAC1B;MACA;MACAzF,SAAS,CAAC6F,iCAAiC,CAAChC,cAAc,CAAC,CAACiC,KAAK,CAC9DC,KAAK,IAAK;QACTtD,OAAO,CAACsD,KAAK,CACX,gDAAgD,EAChDlC,cAAc,EACdkC,KACF,CAAC;MACH,CACF,CAAC;IACH,CAAC,MAAM,IAAIN,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,MAAM,EAAE;MACnDhD,OAAO,CAACC,GAAG,CACT,kEAAkE,EAClE;QACEwC,OAAO;QACPrB;MACF,CACF,CAAC;MACD;MACA;MACA;MACA7D,SAAS,CAACgG,gBAAgB,CAACnC,cAAc,CAAC,CAACiC,KAAK,CAAEC,KAAK,IAAK;QAC1DtD,OAAO,CAACsD,KAAK,CACX,8CAA8C,EAC9ClC,cAAc,EACdkC,KACF,CAAC;MACH,CAAC,CAAC;IACJ;IAEA7D,WAAW,CAAC+D,aAAa,CAAC;MACxBX,QAAQ,EAAE/D,qBAAqB,CAAC0D,SAAS,CAACC,OAAO;IACnD,CAAC,CAAC;IACFhD,WAAW,CAACmD,iBAAiB,CAAC;MAC5BC,QAAQ,EAAE/D,qBAAqB,CAAC2E,WAAW,CAAChB,OAAO;IACrD,CAAC,CAAC;IACFhD,WAAW,CAACmD,iBAAiB,CAAC;MAC5BC,QAAQ,EAAE9D,cAAc,CAAC2E,MAAM,CAAC,CAAC;MACjCC,KAAK,EAAE;IACT,CAAC,CAAC;;IAEF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA,IAAIT,qBAAqB,EAAE;MACzBtE,kBAAkB,CAACgF,IAAI,CAAC/E,SAAS,CAACgF,YAAY,EAAE;QAC9CpB,OAAO;QACPO;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACvD,WAAW,CACd,CAAC;EAED,MAAMqE,oBAAoB,GAAGhG,WAAW,CACrC6E,MAAuB,IAAK;IAC3B3C,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAAE0C,MAAM,CAAC;IACtDlD,WAAW,CAACmD,iBAAiB,CAAC;MAC5BC,QAAQ,EAAE/D,qBAAqB,CAAC0D,SAAS,CAACG,MAAM,CAACF,OAAO;IAC1D,CAAC,CAAC;;IAEF;IACA;IACA,IAAIE,MAAM,CAACrD,MAAM,KAAKH,aAAa,EAAE;MACnC2D,uBAAuB,CAACH,MAAM,CAACF,OAAO,EAAEsB,SAAS,EAAE,QAAQ,CAAC;IAC9D;EACF,CAAC,EACD,CAACtE,WAAW,EAAEN,aAAa,EAAE2D,uBAAuB,CACtD,CAAC;EAED,MAAMkB,oBAAoB,GAAGlG,WAAW,CACrCwE,KAAgB,IAAK;IACpBtC,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAAEqC,KAAK,CAAC;IACrDQ,uBAAuB,CAACR,KAAK,CAACG,OAAO,EAAEH,KAAK,CAACS,SAAS,EAAE,MAAM,CAAC;EACjE,CAAC,EACD,CAACD,uBAAuB,CAC1B,CAAC;EAED,MAAMmB,gBAAgB,GAAGnG,WAAW,CACjCwE,KAAgB,IAAK;IACpBtC,OAAO,CAACC,GAAG,CAAC,6BAA6B,EAAE;MACzCwC,OAAO,EAAEH,KAAK,CAACG,OAAO;MACtBM,SAAS,EAAET,KAAK,CAACS;IACnB,CAAC,CAAC;IACFD,uBAAuB,CAACR,KAAK,CAACG,OAAO,EAAEH,KAAK,CAACS,SAAS,EAAE,WAAW,CAAC;EACtE,CAAC,EACD,CAACD,uBAAuB,CAC1B,CAAC;EAED,MAAMoB,wBAAwB,GAAGpG,WAAW,CACzC6E,MAAuB,IAAK;IAC3B3C,OAAO,CAACC,GAAG,CAAC,qCAAqC,EAAE0C,MAAM,CAAC;IAC1D,MAAMrC,YAAY,GAAGtC,oBAAoB,CACtCmC,QAAQ,CAAC,CAAC,CACVgE,sBAAsB,CAAC,CAAC;IAC3B,IACExB,MAAM,EAAEF,OAAO,KAAKnC,YAAY,EAAEmC,OAAO,IACzCE,MAAM,EAAErD,MAAM,KAAKH,aAAa,EAChC;MACAP,kBAAkB,CAACgF,IAAI,CAAC/E,SAAS,CAACuF,sBAAsB,EAAE;QACxDC,QAAQ,EAAE1B,MAAM,CAAC0B,QAAQ;QACzBvC,OAAO,EAAEa,MAAM,CAACb,OAAO;QACvBwC,SAAS,EAAE3B,MAAM,CAAC2B,SAAS;QAC3BC,WAAW,EAAE5B,MAAM,CAAC4B,WAAW;QAC/BC,EAAE,EAAE7B,MAAM,CAAC6B;MACb,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACrF,aAAa,CAChB,CAAC;EAED,MAAMsF,eAAe,GAAG3G,WAAW,CAChC2E,OAAe,IAAK;IACnB;IACA;IACA;IACA;IACA;IACAzE,oBAAoB,CACjBmC,QAAQ,CAAC,CAAC,CACVuE,kBAAkB,CAAC/F,iBAAiB,CAACf,WAAW,CAACqF,KAAK,EAAER,OAAO,CAAC,EAAE;MACjEkC,YAAY,EAAE;IAChB,CAAC,CAAC;IAEJlF,WAAW,CAACmD,iBAAiB,CAAC;MAC5BC,QAAQ,EAAE/D,qBAAqB,CAAC2E,WAAW,CAAChB,OAAO;IACrD,CAAC,CAAC;IACFhD,WAAW,CAACmD,iBAAiB,CAAC;MAC5BC,QAAQ,EAAE/D,qBAAqB,CAAC8F,KAAK,CAAC;IACxC,CAAC,CAAC;IAEFnF,WAAW,CAACoF,cAAc,CAMvB;MAAEhC,QAAQ,EAAE9D,cAAc,CAAC2E,MAAM,CAAC,CAAC;MAAEC,KAAK,EAAE;IAAM,CAAC,EAAGmB,GAAG,IAAK;MAC/D,IAAI,CAACA,GAAG,EAAE,OAAOA,GAAG;MACpB,OAAO;QACL,GAAGA,GAAG;QACNC,KAAK,EAAED,GAAG,CAACC,KAAK,CAAC3E,GAAG,CAAE4E,IAAI,KAAM;UAC9B,GAAGA,IAAI;UACPC,MAAM,EAAED,IAAI,CAACC,MAAM,CAAC7E,GAAG,CAAE8E,CAAC,IACxBA,CAAC,CAACzC,OAAO,KAAKA,OAAO,GAAG;YAAE,GAAGyC,CAAC;YAAEC,QAAQ,EAAE;UAAK,CAAC,GAAGD,CACrD;QACF,CAAC,CAAC;MACJ,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,EACD,CAACzF,WAAW,CACd,CAAC;EAED,MAAM2F,kBAAkB,GAAGtH,WAAW,CACnCwE,KAAgB,IAAK;IACpBmC,eAAe,CAACnC,KAAK,CAACG,OAAO,CAAC;EAChC,CAAC,EACD,CAACgC,eAAe,CAClB,CAAC;EAED,MAAMY,uBAAuB,GAAGvH,WAAW,CACxCwH,WAAiC,IAAK;IACrCb,eAAe,CAACa,WAAW,CAAC7C,OAAO,CAAC;EACtC,CAAC,EACD,CAACgC,eAAe,CAClB,CAAC;EAED,MAAMc,gBAAgB,GAAGzH,WAAW,CAAE0H,WAAwB,IAAK;IACjEjH,kBAAkB,CAACiH,WAAW,CAACC,WAAW,CAAC;EAC7C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,eAAe,GAAG5H,WAAW,CAChC6H,aAA4B,IAAK;IAChC,MAAMxC,qBAAqB,GACzBnF,oBAAoB,CAACmC,QAAQ,CAAC,CAAC,CAACgD,qBAAqB;IACvD,IAAIwC,aAAa,CAACvE,cAAc,KAAK+B,qBAAqB,EAAE;MAC1DlE,gBAAgB,CAAC;QACfwG,WAAW,EAAEE,aAAa,CAACF,WAAW;QACtCG,QAAQ,EAAED,aAAa,CAACC,QAAQ;QAChCC,cAAc,EAAEF,aAAa,CAACC,QAAQ,GAClCD,aAAa,CAACG,cAAc,GAC5B/B,SAAS;QACbgC,UAAU,EAAEJ,aAAa,CAACC,QAAQ,GAC9BD,aAAa,CAACI,UAAU,GACxBhC;MACN,CAAC,CAAC;IACJ;IACAtF,yBAAyB,CAACkH,aAAa,CAACvE,cAAc,CAAC;EACzD,CAAC,EACD,CAACnC,gBAAgB,CACnB,CAAC;EAED,MAAM+G,iBAAiB,GAAGlI,WAAW,CAAEmI,QAAuB,IAAK;IACjE;IACA,MAAMC,cAAc,GAClBlI,oBAAoB,CAACmC,QAAQ,CAAC,CAAC,CAACgD,qBAAqB;IACvD,MAAMgD,YAAY,GAAGnI,oBAAoB,CAACmC,QAAQ,CAAC,CAAC,CAAChB,aAAa;IAClE,IAAI,CAAC+G,cAAc,IAAI,CAACC,YAAY,EAAE;IACtC,MAAMC,QAAQ,GAAGH,QAAQ,CAACI,MAAM,CAC7BxG,OAAO,IACNnB,qBAAqB,CAACmB,OAAO,EAAEqG,cAAc,EAAEC,YAAY,CAAC,IAC5D,CAACtG,OAAO,CAACc,UACb,CAAC;IAED,IAAI,CAACyF,QAAQ,CAACE,MAAM,EAAE;IAEtBF,QAAQ,CAACG,OAAO,CAAEC,GAAG,IAAKhI,eAAe,CAAC2B,QAAQ,CAAC,CAAC,CAACsG,cAAc,CAACD,GAAG,CAAC,CAAC;EAC3E,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,wBAAwB,GAAG5I,WAAW,CAAE6I,SAAwB,IAAK;IACzE;EAAA,CACD,EAAE,EAAE,CAAC;EAEN5I,SAAS,CAAC,MAAM;IACd;IACAR,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAACmJ,qBAAqB,EAAE/G,qBAAqB,CAAC;IACtEvC,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAACoJ,iBAAiB,EAAE1E,iBAAiB,CAAC;;IAE9D;IACA7E,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAACqJ,kBAAkB,EAAE1E,kBAAkB,CAAC;IAChE9E,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAACsJ,kBAAkB,EAAEtE,kBAAkB,CAAC;IAChEnF,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAACuJ,oBAAoB,EAAEnD,oBAAoB,CAAC;IACpEvG,SAAS,CAACqJ,EAAE,CACVlJ,WAAW,CAACwG,wBAAwB,EACpCA,wBACF,CAAC;IACD3G,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAACwJ,oBAAoB,EAAElD,oBAAoB,CAAC;IACpEzG,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAACyJ,gBAAgB,EAAElD,gBAAgB,CAAC;IAC5D1G,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAAC0J,kBAAkB,EAAEhC,kBAAkB,CAAC;IAChE7H,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAAC2J,uBAAuB,EAAEhC,uBAAuB,CAAC;;IAE1E;IACA9H,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAAC4J,mBAAmB,EAAE5H,qBAAqB,CAAC;IACpEnC,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAAC6J,uBAAuB,EAAEhC,gBAAgB,CAAC;IACnEhI,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAAC8J,mBAAmB,EAAE9B,eAAe,CAAC;IAC9DnI,SAAS,CAACqJ,EAAE,CAAClJ,WAAW,CAAC+J,iBAAiB,EAAEzB,iBAAiB,CAAC;IAC9DzI,SAAS,CAACqJ,EAAE,CACVlJ,WAAW,CAACgK,wBAAwB,EACpChB,wBACF,CAAC;IAED,OAAO,MAAM;MACX;MACAnJ,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAACmJ,qBAAqB,EAAE/G,qBAAqB,CAAC;MACvEvC,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAACoJ,iBAAiB,EAAE1E,iBAAiB,CAAC;;MAE/D;MACA7E,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAACqJ,kBAAkB,EAAE1E,kBAAkB,CAAC;MACjE9E,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAACsJ,kBAAkB,EAAEtE,kBAAkB,CAAC;MACjEnF,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAACuJ,oBAAoB,EAAEnD,oBAAoB,CAAC;MACrEvG,SAAS,CAACoK,GAAG,CACXjK,WAAW,CAACwG,wBAAwB,EACpCA,wBACF,CAAC;MACD3G,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAACwJ,oBAAoB,EAAElD,oBAAoB,CAAC;MACrEzG,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAACyJ,gBAAgB,EAAElD,gBAAgB,CAAC;MAC7D1G,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAAC0J,kBAAkB,EAAEhC,kBAAkB,CAAC;MACjE7H,SAAS,CAACoK,GAAG,CACXjK,WAAW,CAAC2J,uBAAuB,EACnChC,uBACF,CAAC;;MAED;MACA9H,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAAC4J,mBAAmB,EAAE5H,qBAAqB,CAAC;MACrEnC,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAAC+J,iBAAiB,EAAEzB,iBAAiB,CAAC;MAC/DzI,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAAC6J,uBAAuB,EAAEhC,gBAAgB,CAAC;MACpEhI,SAAS,CAACoK,GAAG,CAACjK,WAAW,CAAC8J,mBAAmB,EAAE9B,eAAe,CAAC;MAC/DnI,SAAS,CAACoK,GAAG,CACXjK,WAAW,CAACgK,wBAAwB,EACpChB,wBACF,CAAC;IACH,CAAC;EACH,CAAC,EAAE,CACD5G,qBAAqB,EACrBuC,kBAAkB,EAClBK,kBAAkB,EAClBoB,oBAAoB,EACpB4B,eAAe,EACfH,gBAAgB,EAChBnD,iBAAiB,EACjB1C,qBAAqB,EACrBsG,iBAAiB,EACjBU,wBAAwB,EACxBxC,wBAAwB,EACxBF,oBAAoB,EACpBC,gBAAgB,EAChBmB,kBAAkB,EAClBC,uBAAuB,CACxB,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["OpenIMSDK","MessageReceiveOptType","MessageType","OpenIMEvent","PeerType","SessionType","useQueryClient","useCallback","useEffect","useConversationStore","ToastFlashMessage","useUserStore","getLastMessageText","GROUP_NOTIFICATION_TYPES","useChatContext","isEmpty","markMessageRevoked","useMessageStore","syncPinnedMessagesOnEvent","belongsToConversation","getConversationID","clearSelfExitedGroup","DeviceEventEmitter","ChatEvent","conversationQueryKeys","groupQueryKeys","useChatListener","updateOneMessage","state","currentUserId","s","user","userID","onPressFlashMessage","isShowFLashMessage","queryClient","onSendMessageProgress","progress","_progress","message","onConversationChanged","conversations","console","log","oldMap","getState","map","visibleConversations","conversation","latestMsg","JSON","parse","isNoiseMessage","isInternal","contentType","LogTextMessage","peerType","Bot","includes","push","recvMsgOpt","NotNotify","conversationID","latestMsgSendTime","lastMessageText","hideSenderPrefixForDirectChat","show","key","title","showName","body","avatarUrl","faceURL","ellipsizeMiddle","FileMessage","onPress","hide","updateConversations","onNewConversation","onGroupInfoChanged","group","setQueryData","groupInfo","groupID","onGroupMemberAdded","member","invalidateQueries","queryKey","removeGroupConversation","groupName","reason","Group","isCurrentConversation","currentConversationId","deleteConversationAndDeleteAllMsg","catch","error","hideConversation","removeQueries","joinedGroup","public","exact","emit","GroupRemoved","onGroupMemberDeleted","undefined","onJoinedGroupDeleted","onGroupDismissed","OnGroupMemberInfoChanged","getCurrentConversation","GroupPermissionUpdated","nickname","roleLevel","permissions","ex","markGroupJoined","updateConversation","isNotInGroup","lists","setQueriesData","old","pages","page","groups","g","isJoined","onJoinedGroupAdded","onGroupApplicationAdded","application","onMessageRevoked","revokedInfo","clientMsgID","onMessagePinned","messagePinned","isPinned","pinnedByUserID","operatorUserID","pinnedTime","onRecvNewMessages","messages","conversationId","targetUserId","relevant","filter","length","forEach","msg","pushNewMessage","onRecvOfflineNewMessages","_messages","on","OnConversationChanged","OnNewConversation","OnGroupInfoChanged","OnGroupMemberAdded","OnGroupMemberDeleted","OnJoinedGroupDeleted","OnGroupDismissed","OnJoinedGroupAdded","OnGroupApplicationAdded","SendMessageProgress","OnNewRecvMessageRevoked","OnRecvMessagePinned","OnRecvNewMessages","OnRecvOfflineNewMessages","off"],"sourceRoot":"../../../src","sources":["core/useChatListener.ts"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ import OpenIMSDK from '@droppii/openim-rn-client-sdk';
5
5
  import { KContainer, KLabel } from '@droppii/libs';
6
6
  import { UIUtils } from "../../utils/UIUtils.js";
7
7
  import { trans } from "../../translation/index.js";
8
+ import { clearSelfExitedGroup, markSelfExitedGroup } from "../../utils/groupExit.js";
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
9
10
  export function useDismissGroup({
10
11
  onSuccess
@@ -58,6 +59,10 @@ export function useDismissGroup({
58
59
  } catch {
59
60
  return;
60
61
  }
62
+
63
+ // Marked before the call, not after: the SDK can deliver
64
+ // OnGroupDismissed the moment the API returns.
65
+ markSelfExitedGroup(groupID);
61
66
  try {
62
67
  await OpenIMSDK.dismissGroup(groupID);
63
68
  onSuccess?.();
@@ -66,6 +71,7 @@ export function useDismissGroup({
66
71
  theme: 'light'
67
72
  });
68
73
  } catch (error) {
74
+ clearSelfExitedGroup(groupID);
69
75
  console.error('dismissGroup failed', error);
70
76
  UIUtils.toast.open({
71
77
  title: trans('chat:generic_error'),
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","OpenIMSDK","KContainer","KLabel","UIUtils","trans","jsx","_jsx","useDismissGroup","onSuccess","openDismissPopup","Promise","resolve","reject","popup","open","header","title","text","alignment","showCloseButton","body","renderContent","View","padding","justifyContent","alignItems","children","Text","typo","textAlign","actions","buttons","label","kind","onPress","weight","isLightSolid","type","dismissGroup","groupID","toast","theme","error","console"],"sourceRoot":"../../../../src","sources":["hooks/groups/useDismissGroup.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,OAAOC,SAAS,MAAM,+BAA+B;AACrD,SAASC,UAAU,EAAEC,MAAM,QAAQ,eAAe;AAClD,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,KAAK,QAAQ,4BAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAK1C,OAAO,SAASC,eAAeA,CAAC;EAAEC;AAAgC,CAAC,EAAE;EACnE,MAAMC,gBAAgB,GAAGV,WAAW,CAAC,MAAM;IACzC,OAAO,IAAIW,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;MAC5CT,OAAO,CAACU,KAAK,CAACC,IAAI,CAAC;QACjBC,MAAM,EAAE;UACNC,KAAK,EAAE;YAAEC,IAAI,EAAEb,KAAK,CAAC,6BAA6B;UAAE,CAAC;UACrDc,SAAS,EAAE,QAAQ;UACnBC,eAAe,EAAE;QACnB,CAAC;QACDC,IAAI,EAAE;UACJC,aAAa,EAAEA,CAAA,KAAM;YACnB,oBACEf,IAAA,CAACL,UAAU,CAACqB,IAAI;cAACC,OAAO,EAAE,MAAO;cAACC,cAAc;cAACC,UAAU;cAAAC,QAAA,eACzDpB,IAAA,CAACJ,MAAM,CAACyB,IAAI;gBAACC,IAAI,EAAC,cAAc;gBAACC,SAAS,EAAC,QAAQ;gBAAAH,QAAA,EAChDtB,KAAK,CAAC,4BAA4B;cAAC,CACzB;YAAC,CACC,CAAC;UAEtB;QACF,CAAC;QACD0B,OAAO,EAAE;UACPC,OAAO,EAAE,CACP;YACEC,KAAK,EAAE5B,KAAK,CAAC,iCAAiC,CAAC;YAC/C6B,IAAI,EAAE,OAAO;YACbC,OAAO,EAAEA,CAAA,KAAMtB,MAAM,CAAC,CAAC;YACvBuB,MAAM,EAAE;UACV,CAAC,EACD;YACEH,KAAK,EAAE5B,KAAK,CAAC,+BAA+B,CAAC;YAC7C6B,IAAI,EAAE,QAAQ;YACdC,OAAO,EAAEA,CAAA,KAAMvB,OAAO,CAAC,CAAC;YACxByB,YAAY,EAAE,IAAI;YAClBD,MAAM,EAAE;UACV,CAAC,CACF;UACDE,IAAI,EAAE;QACR;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,YAAY,GAAGvC,WAAW,CAC9B,MAAOwC,OAAgB,IAAK;IAC1B,IAAI,CAACA,OAAO,EAAE;IAEd,IAAI;MACF,MAAM9B,gBAAgB,CAAC,CAAC;IAC1B,CAAC,CAAC,MAAM;MACN;IACF;IAEA,IAAI;MACF,MAAMT,SAAS,CAACsC,YAAY,CAACC,OAAO,CAAC;MACrC/B,SAAS,GAAG,CAAC;MACbL,OAAO,CAACqC,KAAK,CAAC1B,IAAI,CAAC;QACjBE,KAAK,EAAEZ,KAAK,CAAC,6BAA6B,CAAC;QAC3CqC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;MAC3CvC,OAAO,CAACqC,KAAK,CAAC1B,IAAI,CAAC;QACjBE,KAAK,EAAEZ,KAAK,CAAC,oBAAoB,CAAC;QAClCqC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAAChC,gBAAgB,EAAED,SAAS,CAC9B,CAAC;EAED,OAAO;IAAE8B;EAAa,CAAC;AACzB","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","OpenIMSDK","KContainer","KLabel","UIUtils","trans","clearSelfExitedGroup","markSelfExitedGroup","jsx","_jsx","useDismissGroup","onSuccess","openDismissPopup","Promise","resolve","reject","popup","open","header","title","text","alignment","showCloseButton","body","renderContent","View","padding","justifyContent","alignItems","children","Text","typo","textAlign","actions","buttons","label","kind","onPress","weight","isLightSolid","type","dismissGroup","groupID","toast","theme","error","console"],"sourceRoot":"../../../../src","sources":["hooks/groups/useDismissGroup.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,OAAOC,SAAS,MAAM,+BAA+B;AACrD,SAASC,UAAU,EAAEC,MAAM,QAAQ,eAAe;AAClD,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,KAAK,QAAQ,4BAAmB;AACzC,SACEC,oBAAoB,EACpBC,mBAAmB,QACd,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAK/B,OAAO,SAASC,eAAeA,CAAC;EAAEC;AAAgC,CAAC,EAAE;EACnE,MAAMC,gBAAgB,GAAGZ,WAAW,CAAC,MAAM;IACzC,OAAO,IAAIa,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;MAC5CX,OAAO,CAACY,KAAK,CAACC,IAAI,CAAC;QACjBC,MAAM,EAAE;UACNC,KAAK,EAAE;YAAEC,IAAI,EAAEf,KAAK,CAAC,6BAA6B;UAAE,CAAC;UACrDgB,SAAS,EAAE,QAAQ;UACnBC,eAAe,EAAE;QACnB,CAAC;QACDC,IAAI,EAAE;UACJC,aAAa,EAAEA,CAAA,KAAM;YACnB,oBACEf,IAAA,CAACP,UAAU,CAACuB,IAAI;cAACC,OAAO,EAAE,MAAO;cAACC,cAAc;cAACC,UAAU;cAAAC,QAAA,eACzDpB,IAAA,CAACN,MAAM,CAAC2B,IAAI;gBAACC,IAAI,EAAC,cAAc;gBAACC,SAAS,EAAC,QAAQ;gBAAAH,QAAA,EAChDxB,KAAK,CAAC,4BAA4B;cAAC,CACzB;YAAC,CACC,CAAC;UAEtB;QACF,CAAC;QACD4B,OAAO,EAAE;UACPC,OAAO,EAAE,CACP;YACEC,KAAK,EAAE9B,KAAK,CAAC,iCAAiC,CAAC;YAC/C+B,IAAI,EAAE,OAAO;YACbC,OAAO,EAAEA,CAAA,KAAMtB,MAAM,CAAC,CAAC;YACvBuB,MAAM,EAAE;UACV,CAAC,EACD;YACEH,KAAK,EAAE9B,KAAK,CAAC,+BAA+B,CAAC;YAC7C+B,IAAI,EAAE,QAAQ;YACdC,OAAO,EAAEA,CAAA,KAAMvB,OAAO,CAAC,CAAC;YACxByB,YAAY,EAAE,IAAI;YAClBD,MAAM,EAAE;UACV,CAAC,CACF;UACDE,IAAI,EAAE;QACR;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,YAAY,GAAGzC,WAAW,CAC9B,MAAO0C,OAAgB,IAAK;IAC1B,IAAI,CAACA,OAAO,EAAE;IAEd,IAAI;MACF,MAAM9B,gBAAgB,CAAC,CAAC;IAC1B,CAAC,CAAC,MAAM;MACN;IACF;;IAEA;IACA;IACAL,mBAAmB,CAACmC,OAAO,CAAC;IAC5B,IAAI;MACF,MAAMzC,SAAS,CAACwC,YAAY,CAACC,OAAO,CAAC;MACrC/B,SAAS,GAAG,CAAC;MACbP,OAAO,CAACuC,KAAK,CAAC1B,IAAI,CAAC;QACjBE,KAAK,EAAEd,KAAK,CAAC,6BAA6B,CAAC;QAC3CuC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdvC,oBAAoB,CAACoC,OAAO,CAAC;MAC7BI,OAAO,CAACD,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;MAC3CzC,OAAO,CAACuC,KAAK,CAAC1B,IAAI,CAAC;QACjBE,KAAK,EAAEd,KAAK,CAAC,oBAAoB,CAAC;QAClCuC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAAChC,gBAAgB,EAAED,SAAS,CAC9B,CAAC;EAED,OAAO;IAAE8B;EAAa,CAAC;AACzB","ignoreList":[]}
@@ -7,6 +7,7 @@ import { useQueryClient } from '@tanstack/react-query';
7
7
  import { UIUtils } from "../../utils/UIUtils.js";
8
8
  import { trans } from "../../translation/index.js";
9
9
  import { ChatEvent } from "../../types/events.js";
10
+ import { wasSelfExitedGroup } from "../../utils/groupExit.js";
10
11
  import { conversationQueryKeys } from "../query-keys.js";
11
12
  /**
12
13
  * Resolves whether the current user may open `groupID`, per the group-access
@@ -111,6 +112,11 @@ export const useGroupAccessGuard = ({
111
112
  const sub = DeviceEventEmitter.addListener(ChatEvent.GroupRemoved, payload => {
112
113
  if (payload.groupID !== activeGroupId) return;
113
114
 
115
+ // The user walked out themselves — the screen that asked for it is
116
+ // already navigating away, so a modal here would surface on whatever
117
+ // they landed on.
118
+ if (wasSelfExitedGroup(payload.groupID)) return;
119
+
114
120
  // A dismissed group is gone for everyone — no need to re-check.
115
121
  if (payload.reason === 'dismissed') {
116
122
  block();
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","useState","DeviceEventEmitter","OpenIMSDK","GroupStatus","GroupVisibility","useQueryClient","UIUtils","trans","ChatEvent","conversationQueryKeys","evaluateAccess","groupID","info","getSpecifiedGroupsInfo","state","status","Dismissed","isMember","isJoinGroup","visibility","Public","useGroupAccessGuard","onBlocked","queryClient","groupIdRef","current","activeGroupId","accessState","setAccessState","hasBlockedRef","onBlockedRef","block","alert","open","title","message","primaryIndex","buttonType","ignoreStack","touchOutsideToDismiss","buttons","label","kind","onPress","applyResult","result","cancelled","then","catch","error","console","sub","addListener","GroupRemoved","payload","reason","remove","isViewOnly","wasViewOnlyRef","invalidateQueries","queryKey","joinedGroup","isCheckingAccess"],"sourceRoot":"../../../../src","sources":["hooks/groups/useGroupAccessGuard.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","DeviceEventEmitter","OpenIMSDK","GroupStatus","GroupVisibility","useQueryClient","UIUtils","trans","ChatEvent","wasSelfExitedGroup","conversationQueryKeys","evaluateAccess","groupID","info","getSpecifiedGroupsInfo","state","status","Dismissed","isMember","isJoinGroup","visibility","Public","useGroupAccessGuard","onBlocked","queryClient","groupIdRef","current","activeGroupId","accessState","setAccessState","hasBlockedRef","onBlockedRef","block","alert","open","title","message","primaryIndex","buttonType","ignoreStack","touchOutsideToDismiss","buttons","label","kind","onPress","applyResult","result","cancelled","then","catch","error","console","sub","addListener","GroupRemoved","payload","reason","remove","isViewOnly","wasViewOnlyRef","invalidateQueries","queryKey","joinedGroup","isCheckingAccess"],"sourceRoot":"../../../../src","sources":["hooks/groups/useGroupAccessGuard.ts"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ import { KColors, KContainer, KLabel } from '@droppii/libs';
6
6
  import { conversationQueryKeys, groupQueryKeys } from "../query-keys.js";
7
7
  import { UIUtils } from "../../utils/UIUtils.js";
8
8
  import { trans } from "../../translation/index.js";
9
+ import { clearSelfExitedGroup, markSelfExitedGroup } from "../../utils/groupExit.js";
9
10
  import { jsx as _jsx } from "react/jsx-runtime";
10
11
  const showOwnerBlockedModal = () => {
11
12
  UIUtils.alert.open({
@@ -69,13 +70,19 @@ export const useLeaveGroup = () => {
69
70
  const queryClient = useQueryClient();
70
71
  const mutation = useMutation({
71
72
  mutationKey: groupQueryKeys.leave(),
72
- mutationFn: groupID => OpenIMSDK.quitGroup(groupID),
73
+ mutationFn: groupID => {
74
+ // Marked before the call, not after: the SDK can deliver
75
+ // OnJoinedGroupDeleted the moment the API returns.
76
+ markSelfExitedGroup(groupID);
77
+ return OpenIMSDK.quitGroup(groupID);
78
+ },
73
79
  onSuccess: (_data, groupID) => {
74
80
  queryClient.invalidateQueries({
75
81
  queryKey: conversationQueryKeys.joinedGroup(groupID)
76
82
  });
77
83
  },
78
- onError: () => {
84
+ onError: (_error, groupID) => {
85
+ clearSelfExitedGroup(groupID);
79
86
  UIUtils.toast.open({
80
87
  title: trans('chat:generic_error'),
81
88
  theme: 'error'
@@ -1 +1 @@
1
- {"version":3,"names":["OpenIMSDK","GroupMemberRole","GroupVisibility","useMutation","useQueryClient","KColors","KContainer","KLabel","conversationQueryKeys","groupQueryKeys","UIUtils","trans","jsx","_jsx","showOwnerBlockedModal","alert","open","title","message","primaryIndex","buttonType","buttons","label","kind","confirmLeaveGroup","visibility","Promise","resolve","reject","popup","header","text","alignment","showCloseButton","body","renderContent","View","padding","justifyContent","alignItems","children","RichText","typo","textAlign","richTextOptions","i18nKey","Public","components","bold","Text","color","black","actions","onPress","weight","isLightSolid","type","useLeaveGroup","queryClient","mutation","mutationKey","leave","mutationFn","groupID","quitGroup","onSuccess","_data","invalidateQueries","queryKey","joinedGroup","onError","toast","theme","leaveGroup","selfInfo","getSelfUserInfo","roleLevel","Owner","latestSelfInfo","mutateAsync","error","console","isLeavingGroup","isPending"],"sourceRoot":"../../../../src","sources":["hooks/groups/useLeaveGroup.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["OpenIMSDK","GroupMemberRole","GroupVisibility","useMutation","useQueryClient","KColors","KContainer","KLabel","conversationQueryKeys","groupQueryKeys","UIUtils","trans","clearSelfExitedGroup","markSelfExitedGroup","jsx","_jsx","showOwnerBlockedModal","alert","open","title","message","primaryIndex","buttonType","buttons","label","kind","confirmLeaveGroup","visibility","Promise","resolve","reject","popup","header","text","alignment","showCloseButton","body","renderContent","View","padding","justifyContent","alignItems","children","RichText","typo","textAlign","richTextOptions","i18nKey","Public","components","bold","Text","color","black","actions","onPress","weight","isLightSolid","type","useLeaveGroup","queryClient","mutation","mutationKey","leave","mutationFn","groupID","quitGroup","onSuccess","_data","invalidateQueries","queryKey","joinedGroup","onError","_error","toast","theme","leaveGroup","selfInfo","getSelfUserInfo","roleLevel","Owner","latestSelfInfo","mutateAsync","error","console","isLeavingGroup","isPending"],"sourceRoot":"../../../../src","sources":["hooks/groups/useLeaveGroup.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Groups this user deliberately left or dismissed.
5
+ *
6
+ * Leaving fires the same SDK callbacks as being removed by someone else, and
7
+ * the `reason` on ChatEvent.GroupRemoved cannot tell them apart —
8
+ * OnJoinedGroupDeleted reports a self-initiated quit and a kick identically.
9
+ * The access guard needs the distinction: losing access is worth a modal, but
10
+ * walking out is not — the screen that asked for it is already navigating away,
11
+ * so a modal would land on the inbox the user just arrived at.
12
+ *
13
+ * Cleared on rejoin, so a later involuntary removal of the same group is
14
+ * treated as one. Deliberately not time-based: a timer would make correctness
15
+ * depend on how fast the SDK round-trips.
16
+ */
17
+ const selfExitedGroups = new Set();
18
+ export const markSelfExitedGroup = groupID => {
19
+ if (groupID) selfExitedGroups.add(groupID);
20
+ };
21
+ export const clearSelfExitedGroup = groupID => {
22
+ selfExitedGroups.delete(groupID);
23
+ };
24
+ export const wasSelfExitedGroup = groupID => selfExitedGroups.has(groupID);
25
+ //# sourceMappingURL=groupExit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["selfExitedGroups","Set","markSelfExitedGroup","groupID","add","clearSelfExitedGroup","delete","wasSelfExitedGroup","has"],"sourceRoot":"../../../src","sources":["utils/groupExit.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,gBAAgB,GAAG,IAAIC,GAAG,CAAS,CAAC;AAE1C,OAAO,MAAMC,mBAAmB,GAAIC,OAAe,IAAW;EAC5D,IAAIA,OAAO,EAAEH,gBAAgB,CAACI,GAAG,CAACD,OAAO,CAAC;AAC5C,CAAC;AAED,OAAO,MAAME,oBAAoB,GAAIF,OAAe,IAAW;EAC7DH,gBAAgB,CAACM,MAAM,CAACH,OAAO,CAAC;AAClC,CAAC;AAED,OAAO,MAAMI,kBAAkB,GAAIJ,OAAe,IAChDH,gBAAgB,CAACQ,GAAG,CAACL,OAAO,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,eAAe,YAib3B,CAAC"}
1
+ {"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,eAAe,YAob3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDismissGroup.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/groups/useDismissGroup.tsx"],"names":[],"mappings":"AAMA,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AACD,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE,oBAAoB;6BA2C9C,MAAM;EA4B1B"}
1
+ {"version":3,"file":"useDismissGroup.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/groups/useDismissGroup.tsx"],"names":[],"mappings":"AAUA,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AACD,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE,oBAAoB;6BA2C9C,MAAM;EAgC1B"}
@@ -1 +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
+ {"version":3,"file":"useGroupAccessGuard.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/groups/useGroupAccessGuard.ts"],"names":[],"mappings":"AA2CA,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;;CA0IjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLeaveGroup.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/groups/useLeaveGroup.tsx"],"names":[],"mappings":"AAAA,OAAkB,EAEhB,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAoEvC,eAAO,MAAM,aAAa;0BAmBW,MAAM,eAAe,eAAe;;CAoCxE,CAAC"}
1
+ {"version":3,"file":"useLeaveGroup.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/groups/useLeaveGroup.tsx"],"names":[],"mappings":"AAAA,OAAkB,EAEhB,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAwEvC,eAAO,MAAM,aAAa;0BAyBW,MAAM,eAAe,eAAe;;CAoCxE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const markSelfExitedGroup: (groupID: string) => void;
2
+ export declare const clearSelfExitedGroup: (groupID: string) => void;
3
+ export declare const wasSelfExitedGroup: (groupID: string) => boolean;
4
+ //# sourceMappingURL=groupExit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupExit.d.ts","sourceRoot":"","sources":["../../../../src/utils/groupExit.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,KAAG,IAErD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,IAEtD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG,OACtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@droppii-org/chat-mobile",
3
- "version": "0.2.86",
3
+ "version": "0.2.87",
4
4
  "description": "Droppii chat mobile",
5
5
  "keywords": [
6
6
  "react-native",
@@ -27,6 +27,7 @@ import { markMessageRevoked, useMessageStore } from '../store/message';
27
27
  import { syncPinnedMessagesOnEvent } from '../hooks/message/usePinMessage';
28
28
  import { belongsToConversation } from '../utils/message';
29
29
  import { getConversationID } from '../utils/conversation';
30
+ import { clearSelfExitedGroup } from '../utils/groupExit';
30
31
  import { DeviceEventEmitter } from 'react-native';
31
32
  import { ChatEvent } from '../types/events';
32
33
  import { conversationQueryKeys, groupQueryKeys } from '../hooks/query-keys';
@@ -288,6 +289,9 @@ export const useChatListener = () => {
288
289
 
289
290
  const markGroupJoined = useCallback(
290
291
  (groupID: string) => {
292
+ // Back in the group: a future removal is no longer the user's own doing.
293
+ clearSelfExitedGroup(groupID);
294
+
291
295
  // Mirror of removeGroupConversation: leaving marks the conversation
292
296
  // `isNotInGroup`, which keeps it out of the inbox, so rejoining has to
293
297
  // clear that flag. This runs on the WS event rather than on joinGroup's
@@ -3,6 +3,10 @@ import OpenIMSDK from '@droppii/openim-rn-client-sdk';
3
3
  import { KContainer, KLabel } from '@droppii/libs';
4
4
  import { UIUtils } from '../../utils/UIUtils';
5
5
  import { trans } from '../../translation';
6
+ import {
7
+ clearSelfExitedGroup,
8
+ markSelfExitedGroup,
9
+ } from '../../utils/groupExit';
6
10
 
7
11
  interface UseDismissGroupProps {
8
12
  onSuccess?: () => void;
@@ -59,6 +63,9 @@ export function useDismissGroup({ onSuccess }: UseDismissGroupProps) {
59
63
  return;
60
64
  }
61
65
 
66
+ // Marked before the call, not after: the SDK can deliver
67
+ // OnGroupDismissed the moment the API returns.
68
+ markSelfExitedGroup(groupID);
62
69
  try {
63
70
  await OpenIMSDK.dismissGroup(groupID);
64
71
  onSuccess?.();
@@ -67,6 +74,7 @@ export function useDismissGroup({ onSuccess }: UseDismissGroupProps) {
67
74
  theme: 'light',
68
75
  });
69
76
  } catch (error) {
77
+ clearSelfExitedGroup(groupID);
70
78
  console.error('dismissGroup failed', error);
71
79
  UIUtils.toast.open({
72
80
  title: trans('chat:generic_error'),
@@ -8,6 +8,7 @@ import { useQueryClient } from '@tanstack/react-query';
8
8
  import { UIUtils } from '../../utils/UIUtils';
9
9
  import { trans } from '../../translation';
10
10
  import { ChatEvent, type GroupRemovedPayload } from '../../types/events';
11
+ import { wasSelfExitedGroup } from '../../utils/groupExit';
11
12
  import { conversationQueryKeys } from '../query-keys';
12
13
 
13
14
  type GroupAccessState =
@@ -142,6 +143,11 @@ export const useGroupAccessGuard = ({ groupID, onBlocked }: Params) => {
142
143
  (payload: GroupRemovedPayload) => {
143
144
  if (payload.groupID !== activeGroupId) return;
144
145
 
146
+ // The user walked out themselves — the screen that asked for it is
147
+ // already navigating away, so a modal here would surface on whatever
148
+ // they landed on.
149
+ if (wasSelfExitedGroup(payload.groupID)) return;
150
+
145
151
  // A dismissed group is gone for everyone — no need to re-check.
146
152
  if (payload.reason === 'dismissed') {
147
153
  block();
@@ -7,6 +7,10 @@ import { KColors, KContainer, KLabel } from '@droppii/libs';
7
7
  import { conversationQueryKeys, groupQueryKeys } from '../query-keys';
8
8
  import { UIUtils } from '../../utils/UIUtils';
9
9
  import { trans } from '../../translation';
10
+ import {
11
+ clearSelfExitedGroup,
12
+ markSelfExitedGroup,
13
+ } from '../../utils/groupExit';
10
14
 
11
15
  const showOwnerBlockedModal = () => {
12
16
  UIUtils.alert.open({
@@ -74,13 +78,19 @@ export const useLeaveGroup = () => {
74
78
 
75
79
  const mutation = useMutation({
76
80
  mutationKey: groupQueryKeys.leave(),
77
- mutationFn: (groupID: string) => OpenIMSDK.quitGroup(groupID),
81
+ mutationFn: (groupID: string) => {
82
+ // Marked before the call, not after: the SDK can deliver
83
+ // OnJoinedGroupDeleted the moment the API returns.
84
+ markSelfExitedGroup(groupID);
85
+ return OpenIMSDK.quitGroup(groupID);
86
+ },
78
87
  onSuccess: (_data, groupID) => {
79
88
  queryClient.invalidateQueries({
80
89
  queryKey: conversationQueryKeys.joinedGroup(groupID),
81
90
  });
82
91
  },
83
- onError: () => {
92
+ onError: (_error, groupID) => {
93
+ clearSelfExitedGroup(groupID);
84
94
  UIUtils.toast.open({
85
95
  title: trans('chat:generic_error'),
86
96
  theme: 'error',
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Groups this user deliberately left or dismissed.
3
+ *
4
+ * Leaving fires the same SDK callbacks as being removed by someone else, and
5
+ * the `reason` on ChatEvent.GroupRemoved cannot tell them apart —
6
+ * OnJoinedGroupDeleted reports a self-initiated quit and a kick identically.
7
+ * The access guard needs the distinction: losing access is worth a modal, but
8
+ * walking out is not — the screen that asked for it is already navigating away,
9
+ * so a modal would land on the inbox the user just arrived at.
10
+ *
11
+ * Cleared on rejoin, so a later involuntary removal of the same group is
12
+ * treated as one. Deliberately not time-based: a timer would make correctness
13
+ * depend on how fast the SDK round-trips.
14
+ */
15
+ const selfExitedGroups = new Set<string>();
16
+
17
+ export const markSelfExitedGroup = (groupID: string): void => {
18
+ if (groupID) selfExitedGroups.add(groupID);
19
+ };
20
+
21
+ export const clearSelfExitedGroup = (groupID: string): void => {
22
+ selfExitedGroups.delete(groupID);
23
+ };
24
+
25
+ export const wasSelfExitedGroup = (groupID: string): boolean =>
26
+ selfExitedGroups.has(groupID);