Skip to content
Open
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions proposals/4247-user-pronouns.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implementation requirements:

  • Client
  • Server

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Conduwuit already supports this by supporting arbitrary fields in #4133 so I'd assume this MSC only requires a client implementation that can read/write the field?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With gomuks/gomuks#574, Gomuks supports rendering pronouns (setting them is not implemented in the UI yet, but is supported on the backend).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ara4n pointed out JSContact (RFC9553) in #4175 (comment). Looks like they have a pronoun field and ended up with basically the same design of declaring a grammatical gender and summary: https://www.rfc-editor.org/rfc/rfc9553.html#name-speaktoas

Main difference is that they only allow declaring 1 grammatical gender, which seems quite dumb. It's also a lot more complicated overall (translations are in an entirely separate top-level object and I have no idea what those k19 and k32 keys are)

Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# MSCXXXX: User Pronouns

Many users of Matrix put pronouns in display names. However, that causes screen clutter. This proposal defines a standardized pronouns field on top of MSC4133.

## Proposal

Profiles may have optional `m.pronouns` and `m.pronouns.secondary` fields as a dictionary. These fields can be fetched through the [profile API endpoints](https://spec.matrix.org/unstable/client-server-api/#profiles). Clients should parse this and use these instead of they/them where possible.

### Example

```json
{
"avatar_url": "…",
"displayname": "…",
"m.pronouns": {
"subject": "it",
"object": "it",
"possessive_determiner": "its",
"possessive_pronoun": "its",
"reflexive": "itself"
},
"m.pronouns.secondary": {
"subject": "she",
"object": "her",
"possessive_determiner": "her",
"possessive_pronoun": "hers",
"reflexive": "herself"
}
}
```

## Potential issues

Some users may not want to publish pronouns to others, although that is out of scope for this MSC. Some users may also complain about "woke", although pronouns are a basic part of langauge.

## Security issues

None.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potential for abusive content in the free-text field (obviously no more so than display names though, but I think it's worth noting).


## Unstable prefix

Clients and servers wishing to implement this early may use `io.fsky.nyx.pronouns` and `io.fsky.nyx.pronouns.secondary`.