Skip to content

Commit

Permalink
Merge pull request #4209 from element-hq/feature/bma/roomTopic
Browse files Browse the repository at this point in the history
Consider that the topic of a room has been removed when it's blank.
  • Loading branch information
bmarty authored Jan 28, 2025
2 parents ebfb47e + 3a6ba44 commit 5068b91
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class StateContentFormatter @Inject constructor(
}
}
is OtherState.RoomTopic -> {
val hasRoomTopic = content.topic != null
val hasRoomTopic = content.topic?.isNotBlank() == true
when {
senderIsYou && hasRoomTopic -> sp.getString(R.string.state_event_room_topic_changed_by_you, content.topic)
senderIsYou && !hasRoomTopic -> sp.getString(R.string.state_event_room_topic_removed_by_you)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,7 @@ class DefaultRoomLastMessageFormatterTest {
val roomTopic = "New topic"
val changedContent = StateContent("", OtherState.RoomTopic(roomTopic))
val removedContent = StateContent("", OtherState.RoomTopic(null))
val blankContent = StateContent("", OtherState.RoomTopic(""))

val youChangedRoomTopicEvent = createRoomEvent(sentByYou = true, senderDisplayName = null, content = changedContent)
val youChangedRoomTopic = formatter.format(youChangedRoomTopicEvent, false)
Expand All @@ -678,6 +679,14 @@ class DefaultRoomLastMessageFormatterTest {
val someoneRemovedRoomTopicEvent = createRoomEvent(sentByYou = false, senderDisplayName = otherName, content = removedContent)
val someoneRemovedRoomTopic = formatter.format(someoneRemovedRoomTopicEvent, false)
assertThat(someoneRemovedRoomTopic).isEqualTo("$otherName removed the room topic")

val youSetBlankRoomTopicEvent = createRoomEvent(sentByYou = true, senderDisplayName = null, content = blankContent)
val youSetBlankRoomTopic = formatter.format(youSetBlankRoomTopicEvent, false)
assertThat(youSetBlankRoomTopic).isEqualTo("You removed the room topic")

val someoneSetBlankRoomTopicEvent = createRoomEvent(sentByYou = false, senderDisplayName = otherName, content = blankContent)
val someoneSetBlankRoomTopic = formatter.format(someoneSetBlankRoomTopicEvent, false)
assertThat(someoneSetBlankRoomTopic).isEqualTo("$otherName removed the room topic")
}

@Test
Expand Down

0 comments on commit 5068b91

Please sign in to comment.