@droppii-org/chat-mobile 0.2.73 → 0.2.75

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.
@@ -35,6 +35,8 @@ export const useChatListener = () => {
35
35
  }, [updateOneMessage]);
36
36
  const onConversationChanged = useCallback(conversations => {
37
37
  // console.log('[Listener] OnConversationChanged', conversations);
38
+
39
+ // return; // TEMPORARILY DISABLED: OnConversationChanged/OnNewConversation can
38
40
  const oldMap = useConversationStore.getState().map;
39
41
  const visibleConversations = [];
40
42
  for (const conversation of conversations) {
@@ -64,17 +66,7 @@ export const useChatListener = () => {
64
66
  useConversationStore.getState().updateConversations(visibleConversations);
65
67
  }, [currentUserId, isShowFLashMessage, onPressFlashMessage]);
66
68
  const onNewConversation = useCallback(conversations => {
67
- // console.log(
68
- // '[Listener] OnNewConversation',
69
- // conversations.map((c) => ({
70
- // conversationID: c.conversationID,
71
- // groupID: c.groupID,
72
- // isNotInGroup: c.isNotInGroup,
73
- // isGuardedRemoved: c.groupID
74
- // ? useConversationStore.getState().removedGroupIds.has(c.groupID)
75
- // : false,
76
- // }))
77
- // );
69
+ // console.log('[Listener] OnNewConversation', conversations);
78
70
  useConversationStore.getState().updateConversations(conversations);
79
71
  }, []);
80
72
  const onGroupInfoChanged = useCallback(group => {
@@ -93,24 +85,12 @@ export const useChatListener = () => {
93
85
  queryClient.invalidateQueries({
94
86
  queryKey: conversationQueryKeys.groupInfo(member.groupID)
95
87
  });
96
-
97
- // The current user (re)joined this group — lift the removal guard so
98
- // a future OnConversationChanged/OnNewConversation for it isn't dropped.
99
- if (member.userID === currentUserId) {
100
- useConversationStore.getState().restoreGroupConversation(member.groupID);
101
- }
102
- }, [queryClient, currentUserId]);
88
+ }, [queryClient]);
103
89
  const removeGroupConversation = useCallback((groupID, groupName, reason) => {
104
90
  // console.log('[Listener] removeGroupConversation', { groupID, reason });
105
91
 
106
- // TEMPORARILY DISABLED: OnConversationChanged/OnNewConversation can
107
- // still race this removal and resurrect the conversation before the
108
- // removedGroupIds guard is proven reliable. Flip this back to `true`
109
- // once that race is confirmed fixed.
110
- const REMOVE_FLOW_ENABLED = false;
111
- if (!REMOVE_FLOW_ENABLED) return;
112
92
  const conversationID = getConversationID(SessionType.Group, groupID);
113
- const conversation = useConversationStore.getState().map[conversationID];
93
+ // const conversation = useConversationStore.getState().map[conversationID];
114
94
  const isCurrentConversation = useConversationStore.getState().currentConversationId === conversationID;
115
95
 
116
96
  // Marks groupID as removed so any late-arriving conversation-sync event
@@ -120,11 +100,18 @@ export const useChatListener = () => {
120
100
  queryClient.removeQueries({
121
101
  queryKey: conversationQueryKeys.groupInfo(groupID)
122
102
  });
123
- ToastFlashMessage.show({
124
- key: `group-removed-${groupID}`,
125
- title: groupName || conversation?.showName || 'Nhóm',
126
- body: reason === 'dismissed' ? 'Nhóm đã bị giải tán' : reason === 'kicked' ? 'Bạn đã bị mời khỏi nhóm' : 'Bạn không còn trong nhóm này'
127
- });
103
+
104
+ // ToastFlashMessage.show({
105
+ // key: `group-removed-${groupID}`,
106
+ // title: groupName || conversation?.showName || 'Nhóm',
107
+ // body:
108
+ // reason === 'dismissed'
109
+ // ? 'Nhóm đã bị giải tán'
110
+ // : reason === 'kicked'
111
+ // ? 'Bạn đã bị mời khỏi nhóm'
112
+ // : 'Bạn không còn trong nhóm này',
113
+ // });
114
+
128
115
  if (isCurrentConversation) {
129
116
  DeviceEventEmitter.emit(ChatEvent.GroupRemoved, {
130
117
  groupID,
@@ -133,11 +120,7 @@ export const useChatListener = () => {
133
120
  }
134
121
  }, [queryClient]);
135
122
  const onGroupMemberDeleted = useCallback(member => {
136
- // console.log('[Listener] OnGroupMemberDeleted', {
137
- // userID: member.userID,
138
- // groupID: member.groupID,
139
- // isCurrentUser: member.userID === currentUserId,
140
- // });
123
+ console.log('[Listener] OnGroupMemberDeleted', member);
141
124
  queryClient.invalidateQueries({
142
125
  queryKey: conversationQueryKeys.groupInfo(member.groupID)
143
126
  });
@@ -149,10 +132,7 @@ export const useChatListener = () => {
149
132
  }
150
133
  }, [queryClient, currentUserId, removeGroupConversation]);
151
134
  const onJoinedGroupDeleted = useCallback(group => {
152
- // console.log('[Listener] OnJoinedGroupDeleted', {
153
- // groupID: group.groupID,
154
- // groupName: group.groupName,
155
- // });
135
+ // console.log('[Listener] OnJoinedGroupDeleted', group);
156
136
  removeGroupConversation(group.groupID, group.groupName, 'left');
157
137
  }, [removeGroupConversation]);
158
138
  const onGroupDismissed = useCallback(group => {
@@ -1 +1 @@
1
- {"version":3,"names":["OpenIMSDK","MessageReceiveOptType","MessageType","OpenIMEvent","SessionType","useQueryClient","useCallback","useEffect","useConversationStore","ToastFlashMessage","useUserStore","getLastMessageText","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","oldMap","getState","map","visibleConversations","conversation","latestMsg","JSON","parse","isInternal","push","recvMsgOpt","NotNotify","conversationID","latestMsgSendTime","lastMessageText","hideSenderPrefixForDirectChat","show","key","title","showName","body","avatarUrl","faceURL","ellipsizeMiddle","contentType","FileMessage","onPress","hide","updateConversations","onNewConversation","onGroupInfoChanged","group","setQueryData","groupInfo","groupID","onGroupMemberAdded","member","invalidateQueries","queryKey","restoreGroupConversation","removeGroupConversation","groupName","reason","REMOVE_FLOW_ENABLED","Group","isCurrentConversation","currentConversationId","removeQueries","emit","GroupRemoved","onGroupMemberDeleted","undefined","onJoinedGroupDeleted","onGroupDismissed","OnGroupMemberInfoChanged","getCurrentConversation","GroupPermissionUpdated","permissions","markGroupJoined","joinedGroup","setQueriesData","public","exact","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":[]}
1
+ {"version":3,"names":["OpenIMSDK","MessageReceiveOptType","MessageType","OpenIMEvent","SessionType","useQueryClient","useCallback","useEffect","useConversationStore","ToastFlashMessage","useUserStore","getLastMessageText","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","oldMap","getState","map","visibleConversations","conversation","latestMsg","JSON","parse","isInternal","push","recvMsgOpt","NotNotify","conversationID","latestMsgSendTime","lastMessageText","hideSenderPrefixForDirectChat","show","key","title","showName","body","avatarUrl","faceURL","ellipsizeMiddle","contentType","FileMessage","onPress","hide","updateConversations","onNewConversation","onGroupInfoChanged","group","setQueryData","groupInfo","groupID","onGroupMemberAdded","member","invalidateQueries","queryKey","removeGroupConversation","groupName","reason","Group","isCurrentConversation","currentConversationId","removeQueries","emit","GroupRemoved","onGroupMemberDeleted","console","log","undefined","onJoinedGroupDeleted","onGroupDismissed","OnGroupMemberInfoChanged","getCurrentConversation","GroupPermissionUpdated","permissions","markGroupJoined","joinedGroup","setQueriesData","public","exact","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":[]}
@@ -7,7 +7,6 @@ export const useConversationStore = create()((set, get) => ({
7
7
  list: [],
8
8
  map: {},
9
9
  newConversationSignal: 0,
10
- removedGroupIds: new Set(),
11
10
  setCurrentConversation(id, userId, groupId) {
12
11
  set({
13
12
  currentConversationId: id,
@@ -30,7 +29,7 @@ export const useConversationStore = create()((set, get) => ({
30
29
  const nextMap = {
31
30
  ...get().map
32
31
  };
33
- if (merged.isNotInGroup || get().removedGroupIds.has(merged.groupID)) {
32
+ if (merged.isNotInGroup) {
34
33
  delete nextMap[id];
35
34
  } else {
36
35
  nextMap[id] = merged;
@@ -38,18 +37,8 @@ export const useConversationStore = create()((set, get) => ({
38
37
  set(sortConversation(nextMap));
39
38
  },
40
39
  updateConversations(conversations) {
41
- const removedGroupIds = get().removedGroupIds;
42
40
  const nextMap = conversations.reduce((pre, curr) => {
43
- if (curr.isNotInGroup || removedGroupIds.has(curr.groupID)) {
44
- // console.log(
45
- // '[Store] updateConversations: dropping guarded/left group',
46
- // {
47
- // conversationID: curr.conversationID,
48
- // groupID: curr.groupID,
49
- // isNotInGroup: curr.isNotInGroup,
50
- // guarded: removedGroupIds.has(curr.groupID),
51
- // }
52
- // );
41
+ if (curr.isNotInGroup) {
53
42
  delete pre[curr.conversationID];
54
43
  } else {
55
44
  pre[curr.conversationID] = curr;
@@ -78,16 +67,7 @@ export const useConversationStore = create()((set, get) => ({
78
67
  delete newMap[conversationID];
79
68
  set({
80
69
  map: newMap,
81
- list: get().list.filter(item => item !== conversationID),
82
- removedGroupIds: new Set(get().removedGroupIds).add(groupID)
83
- });
84
- },
85
- restoreGroupConversation(groupID) {
86
- // console.log('[Store] restoreGroupConversation', { groupID });
87
- const nextRemovedGroupIds = new Set(get().removedGroupIds);
88
- nextRemovedGroupIds.delete(groupID);
89
- set({
90
- removedGroupIds: nextRemovedGroupIds
70
+ list: get().list.filter(item => item !== conversationID)
91
71
  });
92
72
  },
93
73
  reset() {
@@ -95,8 +75,7 @@ export const useConversationStore = create()((set, get) => ({
95
75
  currentConversationId: undefined,
96
76
  list: [],
97
77
  map: {},
98
- newConversationSignal: 0,
99
- removedGroupIds: new Set()
78
+ newConversationSignal: 0
100
79
  });
101
80
  }
102
81
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["create","SessionType","getConversationID","sortConversation","useConversationStore","set","get","list","map","newConversationSignal","removedGroupIds","Set","setCurrentConversation","id","userId","groupId","currentConversationId","currentUserId","currentGroupId","getCurrentConversation","updateConversation","data","existing","merged","nextMap","isNotInGroup","has","groupID","updateConversations","conversations","reduce","pre","curr","conversationID","removeConversation","newMap","filter","item","removeGroupConversation","Group","add","restoreGroupConversation","nextRemovedGroupIds","delete","reset","undefined","useConversation","state"],"sourceRoot":"../../../src","sources":["store/conversation.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","SessionType","getConversationID","sortConversation","useConversationStore","set","get","list","map","newConversationSignal","setCurrentConversation","id","userId","groupId","currentConversationId","currentUserId","currentGroupId","getCurrentConversation","updateConversation","data","existing","merged","nextMap","isNotInGroup","updateConversations","conversations","reduce","pre","curr","conversationID","removeConversation","newMap","filter","item","removeGroupConversation","groupID","Group","reset","undefined","useConversation","state"],"sourceRoot":"../../../src","sources":["store/conversation.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,eAAe,YAoZ3B,CAAC"}
1
+ {"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,eAAe,YAsX3B,CAAC"}
@@ -10,13 +10,6 @@ export interface ConversationStore {
10
10
  map: Record<ConversationID, ConversationItem>;
11
11
  /** Signal incremented when a truly new conversation arrives and a full refetch is needed. */
12
12
  newConversationSignal: number;
13
- /**
14
- * Group IDs the user just left/was removed from. Any late-arriving SDK
15
- * event (OnConversationChanged, OnNewConversation, ...) that still carries
16
- * this group must not resurrect it — without this guard those events race
17
- * with removeGroupConversation and silently undo the removal.
18
- */
19
- removedGroupIds: Set<string>;
20
13
  updateConversation(id: ConversationID, data: Partial<ConversationItem>): void;
21
14
  updateConversations(conversations: ConversationItem[]): void;
22
15
  /**
@@ -24,10 +17,8 @@ export interface ConversationStore {
24
17
  * Returns true if any conversation was not found in the store (triggers refetch).
25
18
  */
26
19
  removeConversation(id: ConversationID): void;
27
- /** Removes a group's conversation and guards it against being re-added. */
20
+ /** Removes a group's conversation. */
28
21
  removeGroupConversation(groupID: string): void;
29
- /** Lifts the removal guard once the user (re)joins the group. */
30
- restoreGroupConversation(groupID: string): void;
31
22
  reset(): void;
32
23
  }
33
24
  export declare const useConversationStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ConversationStore>>;
@@ -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;;;;;OAKG;IACH,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,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,2EAA2E;IAC3E,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,iEAAiE;IACjE,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,KAAK,IAAI,IAAI,CAAC;CACf;AAED,eAAO,MAAM,oBAAoB,gFA2F9B,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,gFAwE9B,CAAC;AAEJ,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,gBAAgB,GAAG,SAE/D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@droppii-org/chat-mobile",
3
- "version": "0.2.73",
3
+ "version": "0.2.75",
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-rc28",
72
+ "@droppii/openim-rn-client-sdk": "git+ssh://git@github.com/droppii/open-im-sdk-reactnative.git#v1.0.0-rc31",
73
73
  "@legendapp/list": "^3.0.6",
74
74
  "axios": "^1.16.1",
75
75
  "lodash": "^4.18.1",
@@ -55,6 +55,8 @@ export const useChatListener = () => {
55
55
  const onConversationChanged = useCallback(
56
56
  (conversations: ConversationItem[]) => {
57
57
  // console.log('[Listener] OnConversationChanged', conversations);
58
+
59
+ // return; // TEMPORARILY DISABLED: OnConversationChanged/OnNewConversation can
58
60
  const oldMap = useConversationStore.getState().map;
59
61
  const visibleConversations: ConversationItem[] = [];
60
62
 
@@ -101,17 +103,7 @@ export const useChatListener = () => {
101
103
  );
102
104
 
103
105
  const onNewConversation = useCallback((conversations: ConversationItem[]) => {
104
- // console.log(
105
- // '[Listener] OnNewConversation',
106
- // conversations.map((c) => ({
107
- // conversationID: c.conversationID,
108
- // groupID: c.groupID,
109
- // isNotInGroup: c.isNotInGroup,
110
- // isGuardedRemoved: c.groupID
111
- // ? useConversationStore.getState().removedGroupIds.has(c.groupID)
112
- // : false,
113
- // }))
114
- // );
106
+ // console.log('[Listener] OnNewConversation', conversations);
115
107
  useConversationStore.getState().updateConversations(conversations);
116
108
  }, []);
117
109
 
@@ -139,16 +131,8 @@ export const useChatListener = () => {
139
131
  queryClient.invalidateQueries({
140
132
  queryKey: conversationQueryKeys.groupInfo(member.groupID),
141
133
  });
142
-
143
- // The current user (re)joined this group — lift the removal guard so
144
- // a future OnConversationChanged/OnNewConversation for it isn't dropped.
145
- if (member.userID === currentUserId) {
146
- useConversationStore
147
- .getState()
148
- .restoreGroupConversation(member.groupID);
149
- }
150
134
  },
151
- [queryClient, currentUserId]
135
+ [queryClient]
152
136
  );
153
137
 
154
138
  const removeGroupConversation = useCallback(
@@ -159,15 +143,8 @@ export const useChatListener = () => {
159
143
  ) => {
160
144
  // console.log('[Listener] removeGroupConversation', { groupID, reason });
161
145
 
162
- // TEMPORARILY DISABLED: OnConversationChanged/OnNewConversation can
163
- // still race this removal and resurrect the conversation before the
164
- // removedGroupIds guard is proven reliable. Flip this back to `true`
165
- // once that race is confirmed fixed.
166
- const REMOVE_FLOW_ENABLED: boolean = false;
167
- if (!REMOVE_FLOW_ENABLED) return;
168
-
169
146
  const conversationID = getConversationID(SessionType.Group, groupID);
170
- const conversation = useConversationStore.getState().map[conversationID];
147
+ // const conversation = useConversationStore.getState().map[conversationID];
171
148
  const isCurrentConversation =
172
149
  useConversationStore.getState().currentConversationId ===
173
150
  conversationID;
@@ -181,16 +158,16 @@ export const useChatListener = () => {
181
158
  queryKey: conversationQueryKeys.groupInfo(groupID),
182
159
  });
183
160
 
184
- ToastFlashMessage.show({
185
- key: `group-removed-${groupID}`,
186
- title: groupName || conversation?.showName || 'Nhóm',
187
- body:
188
- reason === 'dismissed'
189
- ? 'Nhóm đã bị giải tán'
190
- : reason === 'kicked'
191
- ? 'Bạn đã bị mời khỏi nhóm'
192
- : 'Bạn không còn trong nhóm này',
193
- });
161
+ // ToastFlashMessage.show({
162
+ // key: `group-removed-${groupID}`,
163
+ // title: groupName || conversation?.showName || 'Nhóm',
164
+ // body:
165
+ // reason === 'dismissed'
166
+ // ? 'Nhóm đã bị giải tán'
167
+ // : reason === 'kicked'
168
+ // ? 'Bạn đã bị mời khỏi nhóm'
169
+ // : 'Bạn không còn trong nhóm này',
170
+ // });
194
171
 
195
172
  if (isCurrentConversation) {
196
173
  DeviceEventEmitter.emit(ChatEvent.GroupRemoved, {
@@ -204,11 +181,7 @@ export const useChatListener = () => {
204
181
 
205
182
  const onGroupMemberDeleted = useCallback(
206
183
  (member: GroupMemberItem) => {
207
- // console.log('[Listener] OnGroupMemberDeleted', {
208
- // userID: member.userID,
209
- // groupID: member.groupID,
210
- // isCurrentUser: member.userID === currentUserId,
211
- // });
184
+ console.log('[Listener] OnGroupMemberDeleted', member);
212
185
  queryClient.invalidateQueries({
213
186
  queryKey: conversationQueryKeys.groupInfo(member.groupID),
214
187
  });
@@ -224,10 +197,7 @@ export const useChatListener = () => {
224
197
 
225
198
  const onJoinedGroupDeleted = useCallback(
226
199
  (group: GroupItem) => {
227
- // console.log('[Listener] OnJoinedGroupDeleted', {
228
- // groupID: group.groupID,
229
- // groupName: group.groupName,
230
- // });
200
+ // console.log('[Listener] OnJoinedGroupDeleted', group);
231
201
  removeGroupConversation(group.groupID, group.groupName, 'left');
232
202
  },
233
203
  [removeGroupConversation]
@@ -19,13 +19,6 @@ export interface ConversationStore {
19
19
  map: Record<ConversationID, ConversationItem>;
20
20
  /** Signal incremented when a truly new conversation arrives and a full refetch is needed. */
21
21
  newConversationSignal: number;
22
- /**
23
- * Group IDs the user just left/was removed from. Any late-arriving SDK
24
- * event (OnConversationChanged, OnNewConversation, ...) that still carries
25
- * this group must not resurrect it — without this guard those events race
26
- * with removeGroupConversation and silently undo the removal.
27
- */
28
- removedGroupIds: Set<string>;
29
22
  updateConversation(id: ConversationID, data: Partial<ConversationItem>): void;
30
23
  updateConversations(conversations: ConversationItem[]): void;
31
24
  /**
@@ -33,10 +26,8 @@ export interface ConversationStore {
33
26
  * Returns true if any conversation was not found in the store (triggers refetch).
34
27
  */
35
28
  removeConversation(id: ConversationID): void;
36
- /** Removes a group's conversation and guards it against being re-added. */
29
+ /** Removes a group's conversation. */
37
30
  removeGroupConversation(groupID: string): void;
38
- /** Lifts the removal guard once the user (re)joins the group. */
39
- restoreGroupConversation(groupID: string): void;
40
31
  reset(): void;
41
32
  }
42
33
 
@@ -44,7 +35,6 @@ export const useConversationStore = create<ConversationStore>()((set, get) => ({
44
35
  list: [],
45
36
  map: {},
46
37
  newConversationSignal: 0,
47
- removedGroupIds: new Set(),
48
38
  setCurrentConversation(id, userId, groupId) {
49
39
  set({
50
40
  currentConversationId: id,
@@ -64,7 +54,7 @@ export const useConversationStore = create<ConversationStore>()((set, get) => ({
64
54
 
65
55
  const merged = { ...existing, ...data };
66
56
  const nextMap = { ...get().map };
67
- if (merged.isNotInGroup || get().removedGroupIds.has(merged.groupID)) {
57
+ if (merged.isNotInGroup) {
68
58
  delete nextMap[id];
69
59
  } else {
70
60
  nextMap[id] = merged;
@@ -72,19 +62,9 @@ export const useConversationStore = create<ConversationStore>()((set, get) => ({
72
62
  set(sortConversation(nextMap));
73
63
  },
74
64
  updateConversations(conversations) {
75
- const removedGroupIds = get().removedGroupIds;
76
65
  const nextMap = conversations.reduce(
77
66
  (pre, curr) => {
78
- if (curr.isNotInGroup || removedGroupIds.has(curr.groupID)) {
79
- // console.log(
80
- // '[Store] updateConversations: dropping guarded/left group',
81
- // {
82
- // conversationID: curr.conversationID,
83
- // groupID: curr.groupID,
84
- // isNotInGroup: curr.isNotInGroup,
85
- // guarded: removedGroupIds.has(curr.groupID),
86
- // }
87
- // );
67
+ if (curr.isNotInGroup) {
88
68
  delete pre[curr.conversationID];
89
69
  } else {
90
70
  pre[curr.conversationID] = curr;
@@ -113,22 +93,14 @@ export const useConversationStore = create<ConversationStore>()((set, get) => ({
113
93
  set({
114
94
  map: newMap,
115
95
  list: get().list.filter((item) => item !== conversationID),
116
- removedGroupIds: new Set(get().removedGroupIds).add(groupID),
117
96
  });
118
97
  },
119
- restoreGroupConversation(groupID) {
120
- // console.log('[Store] restoreGroupConversation', { groupID });
121
- const nextRemovedGroupIds = new Set(get().removedGroupIds);
122
- nextRemovedGroupIds.delete(groupID);
123
- set({ removedGroupIds: nextRemovedGroupIds });
124
- },
125
98
  reset() {
126
99
  set({
127
100
  currentConversationId: undefined,
128
101
  list: [],
129
102
  map: {},
130
103
  newConversationSignal: 0,
131
- removedGroupIds: new Set(),
132
104
  });
133
105
  },
134
106
  }));