Skip to content

Support Functional members #3736

@jaller94

Description

@jaller94

Is your feature request related to a problem? Please describe.

At Element we want to add bots to nameless DM rooms. These bots should not affect the dynamic room name.

A DM room with Alice, Reminder Bot and me should be called "Alice" and not "Alice and Reminder bot", given the state described below is present.

Describe the solution you'd like.

When calculating a room name:

  1. Read the room state of type io.element.functional_members. (no state key)
  2. In the content, look for an array of strings called.
  3. Exclude those user ids from the name generation.
{
    "service_members": [
        "@helperbot:localhost",
        "@reminderbot:alice.tdl"
    ]
}

Whenever the state event content gets overwritten, the room name needs to be recalculated.

Describe alternatives you've considered.

MSC2199: Canonical DMs defines unimportant users, which are likely going to accomplish the same.
However, we have an upcoming EMS product which needs this feature faster and it's still uncertain where MSC2199 is going.

Additional context

MSC-like description:
https://github.com/vector-im/element-meta/blob/develop/spec/functional_members.md

Implementation for Element Web:
matrix-org/matrix-js-sdk#1771

Issue for Element iOS:
element-hq/element-ios#4609

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-EnhancementNew features, changes in functionality, performance boosts, user-facing improvements

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions