fix(group): 🐛 fix group member refresh problem in single chat
This commit is contained in:
@@ -15,10 +15,10 @@ members = [".", "entity", "migration"]
|
||||
entity = { path = "entity" }
|
||||
|
||||
[profile.dev]
|
||||
opt-level = 0 # 无优化
|
||||
debug = true # 开启调试信息
|
||||
overflow-checks = true # 整数溢出检查
|
||||
incremental = true # 启用增量编译
|
||||
opt-level = 1
|
||||
debug = true
|
||||
overflow-checks = true
|
||||
incremental = true
|
||||
|
||||
[profile.release]
|
||||
panic = "abort" # 崩溃时直接终止
|
||||
|
||||
@@ -497,6 +497,12 @@ export const useGroupStore = defineStore(
|
||||
return []
|
||||
}
|
||||
|
||||
const session = chatStore.getSession(roomId)
|
||||
if (session && session.type !== RoomTypeEnum.GROUP) {
|
||||
console.warn('[group] skip member refresh, room is not group:', roomId)
|
||||
return []
|
||||
}
|
||||
|
||||
const cachedList = userListMap[roomId]
|
||||
|
||||
if (!forceRefresh && Array.isArray(cachedList) && cachedList.length > 0) {
|
||||
@@ -577,9 +583,12 @@ export const useGroupStore = defineStore(
|
||||
}
|
||||
|
||||
refreshTargets.forEach((validRoomId) => {
|
||||
getGroupUserList(validRoomId, true).catch((error) => {
|
||||
console.error('[group] refresh members failed:', error)
|
||||
})
|
||||
const session = chatStore.getSession(validRoomId)
|
||||
if (session && session.type === RoomTypeEnum.GROUP) {
|
||||
getGroupUserList(validRoomId, true).catch((error) => {
|
||||
console.error('[group] refresh members failed:', error)
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
return true
|
||||
@@ -604,6 +613,12 @@ export const useGroupStore = defineStore(
|
||||
return false
|
||||
}
|
||||
|
||||
const session = chatStore.getSession(targetRoomId)
|
||||
if (!session || session.type !== RoomTypeEnum.GROUP) {
|
||||
console.warn('[addUserItem] skip, room is not group:', targetRoomId)
|
||||
return false
|
||||
}
|
||||
|
||||
getGroupUserList(targetRoomId, true).catch((error) => {
|
||||
console.error('[group] refresh members failed:', error)
|
||||
})
|
||||
@@ -629,6 +644,12 @@ export const useGroupStore = defineStore(
|
||||
return false
|
||||
}
|
||||
|
||||
const session = chatStore.getSession(targetRoomId)
|
||||
if (!session || session.type !== RoomTypeEnum.GROUP) {
|
||||
console.warn('[removeUserItem] skip, room is not group:', targetRoomId)
|
||||
return false
|
||||
}
|
||||
|
||||
getGroupUserList(targetRoomId, true).catch((error) => {
|
||||
console.error('[group] refresh members failed:', error)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user