fix(group): 🐛 fix group member refresh problem in single chat

This commit is contained in:
Dawn
2026-01-13 12:32:13 +08:00
parent e027e320ac
commit 4cd1c3cd66
2 changed files with 28 additions and 7 deletions

View File

@@ -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" # 崩溃时直接终止

View File

@@ -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)
})