Convex flattens nested JWT claims into dotted keys, so Supabase's user_metadata arrives as identity["user_metadata.full_name"] and friends, never as an object. Presence only looked for the object, found nothing, and every Discord user fell back to their email name with no picture. Read the dotted keys (and nested forms, in case a provider sends them), and test the shape Convex actually produces. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dara Adedeji committed on 9/27/2026, 9:13:56 PMparent5b0abd0
2 files changedLine totals unavailable