Vommet profile badges (Discord-style) #87

Open
opened 2026-10-07 18:57:11 +00:00 by robocub · 0 comments
Member

Goal: Vommet's own profile badges, like Discord's (supporter, tester, early adopter, community/space badges), part of bringing over the Discord features people miss.

Starting point

Commet's badge design is a good base (see #86 for how it works): a badge is a signed JSON object stored in account data and published in a custom profile field; clients verify the signature against known keys.

Questions to settle

  • Who issues badges? A Vommet signing key (needs a small service, or a bot, to sign), and possibly per-homeserver keys so a server admin can hand out badges to their own users (ties in with #88).
  • Which badges? Tester / early adopter, supporter (if Vommet ever takes donations), space- or community-defined badges.
  • Trust list: accept Vommet's key and Commet's key side by side; how a homeserver key gets trusted (published in .well-known?).
  • Revocation and expiry.
  • Other clients: they ignore the field. An MSC would be needed for anything wider.

Upstream

Commet's badges were added in commetchat/commet#555 (closed PR). No upstream work on third-party badge issuers.

Goal: Vommet's own profile badges, like Discord's (supporter, tester, early adopter, community/space badges), part of bringing over the Discord features people miss. ## Starting point Commet's badge design is a good base (see #86 for how it works): a badge is a signed JSON object stored in account data and published in a custom profile field; clients verify the signature against known keys. ## Questions to settle - **Who issues badges?** A Vommet signing key (needs a small service, or a bot, to sign), and possibly **per-homeserver keys** so a server admin can hand out badges to their own users (ties in with #88). - **Which badges?** Tester / early adopter, supporter (if Vommet ever takes donations), space- or community-defined badges. - **Trust list:** accept Vommet's key and Commet's key side by side; how a homeserver key gets trusted (published in `.well-known`?). - **Revocation and expiry.** - **Other clients:** they ignore the field. An MSC would be needed for anything wider. ## Upstream Commet's badges were added in commetchat/commet#555 (closed PR). No upstream work on third-party badge issuers.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nether/vommet#87
No description provided.