Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Describe behaviour when the topic key is falsey in a m.room.topic event. #2068

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all 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
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Clarify behaviour when the `topic` key of a `m.room.topic` event is absent, null, or empty.
9 changes: 8 additions & 1 deletion data/event-schemas/schema/m.room.topic.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
---
allOf:
- $ref: core-event-schema/state_event.yaml
description: 'A topic is a short message detailing what is currently being discussed in the room. It can also be used as a way to display extra information about the room, which may not be suitable for the room name. The room topic can also be set when creating a room using `/createRoom` with the `topic` key.'
description: |-
A topic is a short message detailing what is currently being discussed in the room.
It can also be used as a way to display extra information about the room, which may not
be suitable for the room name.
The room topic can also be set when creating a room using `/createRoom` with the `topic` key.'

If a room has an `m.room.topic` event with an absent, null, or empty `topic`
Copy link
Contributor Author

Choose a reason for hiding this comment

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

So it should be noted, again as with m.room.name, that Synapse doesn't allow a topic without a string topic key.

So this present behavior doesn't exist there, but I need to survey the other homeservers.

field, it should be treated the same as a room with no `m.room.topic` event.
Copy link
Member

Choose a reason for hiding this comment

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

While it's a great clarification in itself, it would be even greater to further clarify what happens when an event with an absent/null/empty topic comes upon a previous event with non-falsey topic. I guess the room topic should be reset to the as-if-no-topic state?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hm, I suppose I thought that was the implication as with the m.room.name description => clients should use the latest state to render the room, and this description tells clients to assume the topic isn't set.

I'm struggling to find words that doesn't sound a bit repetitive?

properties:
content:
properties:
Expand Down