Compare commits

...

2 Commits

Author SHA1 Message Date
Jeff Emmett 99b423a76d Merge branch 'dev'
CI/CD / deploy (push) Successful in 2m28s Details
2026-04-16 16:29:34 -04:00
Jeff Emmett f388812927 fix(spaces): show username instead of truncated DID in members list
GET /api/spaces/:slug/members now enriches entries missing displayName
by looking up the username from EncryptID (/api/internal/user-email).
Old member records (particularly owners created before displayName was
passed to setMember) were showing as 'jAV6y4tg8UbKJEkN0npv...' in the
space settings Members tab.
2026-04-16 16:29:32 -04:00
1 changed files with 17 additions and 1 deletions

View File

@ -749,11 +749,27 @@ spaces.get("/:slug/members", async (c) => {
return c.json({ error: "Access denied" }, 403);
}
const members = Object.values(data.members || {}).map((m) => ({
const rawMembers = Object.values(data.members || {}).map((m) => ({
...m,
isOwner: m.did === data.meta.ownerDID,
}));
// Enrich members missing displayName by looking up username from EncryptID.
// Historical records (esp. owners) didn't store it; without this the UI falls
// back to a truncated DID.
const members = await Promise.all(rawMembers.map(async (m) => {
if (m.displayName) return m;
try {
const r = await fetch(`${ENCRYPTID_URL}/api/internal/user-email/${encodeURIComponent(m.did)}`);
if (!r.ok) return m;
const info = await r.json() as { username?: string | null; displayName?: string | null };
const name = info.displayName || info.username;
return name ? { ...m, displayName: name } : m;
} catch {
return m;
}
}));
return c.json({ members });
});