Fix: Verbesserung der Benutzerlistenverarbeitung im MultiChatDialog
Änderung: - Die Logik zur Extraktion der Benutzerliste wurde aktualisiert, um auch `userlist` aus `obj.message` zu berücksichtigen. Dies verbessert die Robustheit der Benutzerlistenverarbeitung und stellt sicher, dass alle relevanten Benutzer korrekt angezeigt werden. Diese Anpassung sorgt dafür, dass die Benutzerliste im Chat präziser und vollständiger ist.
This commit is contained in:
@@ -1046,7 +1046,11 @@ export default {
|
||||
}
|
||||
// Type 2: user list in room
|
||||
if (obj.type === 2) {
|
||||
const list = Array.isArray(obj.message) ? obj.message : (Array.isArray(obj.users) ? obj.users : []);
|
||||
console.log('🔍 Type 2 message received:', obj);
|
||||
const list = Array.isArray(obj.message) ? obj.message :
|
||||
(Array.isArray(obj.users) ? obj.users :
|
||||
(Array.isArray(obj.message?.userlist) ? obj.message.userlist : []));
|
||||
console.log('📊 Extracted user list:', list);
|
||||
const byName = new Map();
|
||||
for (const it of list) {
|
||||
if (it && typeof it === 'object') {
|
||||
@@ -1060,6 +1064,7 @@ export default {
|
||||
}
|
||||
}
|
||||
this.usersInRoom = Array.from(byName.values()).sort((a, b) => a.name.localeCompare(b.name, 'de'));
|
||||
console.log('📊 Final usersInRoom:', this.usersInRoom);
|
||||
// Auswahl behalten, falls User noch existiert; sonst löschen
|
||||
if (this.selectedTargetUser && !byName.has(this.selectedTargetUser)) {
|
||||
this.selectedTargetUser = null;
|
||||
|
||||
Reference in New Issue
Block a user