fix: endurece GroupSyncService y activa métricas en tests web-login

Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
webui
brobert 3 weeks ago
parent 6082574a52
commit bd0fda2248

@ -427,7 +427,7 @@ export class GroupSyncService {
// Aprender mapping alias→número si vienen ambos
if (rawId && rawJid) {
IdentityService.upsertAlias(String(rawId), String(rawJid), 'group.participants');
try { IdentityService.upsertAlias(String(rawId), String(rawJid), 'group.participants'); } catch {}
}
if (typeof p.isAdmin === 'boolean') {
@ -443,10 +443,13 @@ export class GroupSyncService {
if (!norm) continue;
result.push({ userId: norm, isAdmin });
}
const resolved = (() => {
let resolved: Array<{ userId: string; isAdmin: boolean }>;
try {
const map = IdentityService.resolveMany(result.map(r => r.userId));
return result.map(r => ({ userId: map.get(r.userId) || r.userId, isAdmin: r.isAdmin }));
})();
resolved = result.map(r => ({ userId: map.get(r.userId) || r.userId, isAdmin: r.isAdmin }));
} catch {
resolved = result;
}
return resolved;
}
// Si no viene en el formato esperado, caemos al plan B
@ -512,7 +515,7 @@ export class GroupSyncService {
// Aprender mapping alias→número si vienen ambos
if (rawId && rawJid) {
IdentityService.upsertAlias(String(rawId), String(rawJid), 'group.participants');
try { IdentityService.upsertAlias(String(rawId), String(rawJid), 'group.participants'); } catch {}
}
if (typeof p.isAdmin === 'boolean') {
@ -529,10 +532,13 @@ export class GroupSyncService {
if (!norm) continue;
result.push({ userId: norm, isAdmin });
}
const resolved = (() => {
let resolved: Array<{ userId: string; isAdmin: boolean }>;
try {
const map = IdentityService.resolveMany(result.map(r => r.userId));
return result.map(r => ({ userId: map.get(r.userId) || r.userId, isAdmin: r.isAdmin }));
})();
resolved = result.map(r => ({ userId: map.get(r.userId) || r.userId, isAdmin: r.isAdmin }));
} catch {
resolved = result;
}
return resolved;
}

@ -14,7 +14,8 @@ describe('CommandService - /t web (emisión de token de login)', () => {
...envBackup,
NODE_ENV: 'test',
TZ: 'Europe/Madrid',
WEB_BASE_URL: 'https://app.example.test'
WEB_BASE_URL: 'https://app.example.test',
METRICS_ENABLED: 'true'
};
Metrics.reset?.();
memdb = new Database(':memory:');

Loading…
Cancel
Save