Revert "Show room member role changes in the timeline." (#2573)

Until we can handle filtering Rust side, this causes more issues than its worth.
This commit is contained in:
Doug
2024-03-14 11:01:23 +00:00
committed by GitHub
parent f4734a44d1
commit c56a98033d
4 changed files with 4 additions and 115 deletions
@@ -683,6 +683,7 @@ class ClientProxy: ClientProxyProtocol {
.roomHistoryVisibility,
.roomJoinRules,
.roomPinnedEvents,
.roomPowerLevels,
.roomServerAcl,
.roomTombstone,
.spaceChild,
@@ -151,10 +151,6 @@ struct RoomStateEventStringBuilder {
case (nil, true):
return L10n.stateEventRoomNameRemovedByYou
}
case .roomPowerLevels(let users, let previous):
let newRoles = users.compactMap { userRoleChanged(userID: $0.key, powerLevel: $0.value, previous: previous?[$0.key]) }
guard !newRoles.isEmpty else { return nil }
return newRoles.formatted(.list(type: .and))
case .roomThirdPartyInvite(let displayName):
guard let displayName else {
MXLog.error("roomThirdPartyInvite undisplayable due to missing name.")
@@ -177,6 +173,8 @@ struct RoomStateEventStringBuilder {
case (nil, true):
return L10n.stateEventRoomTopicRemovedByYou
}
case .roomPowerLevels: // Long term we might show only the user changes, but we need an SDK filter to fix read receipts in that case.
break
case .policyRuleRoom, .policyRuleServer, .policyRuleUser: // No strings available.
break
case .roomAliases, .roomCanonicalAlias: // Doesn't provide the alias.
@@ -198,26 +196,4 @@ struct RoomStateEventStringBuilder {
MXLog.verbose("Filtering timeline item for state: \(state)")
return nil
}
private func userRoleChanged(userID: String, powerLevel: Int64, previous: Int64?) -> String? {
let previous = previous ?? 0 // TODO: Include the previous default in the SDK item.
let role = suggestedRoleForPowerLevel(powerLevel: powerLevel)
let previousRole = suggestedRoleForPowerLevel(powerLevel: previous)
guard role != previousRole else { return nil }
let isPromotion = powerLevel > previous
return switch (role, isPromotion) {
case (.user, false):
L10n.stateEventDemotedToMember(userID)
case (.moderator, true):
L10n.stateEventPromotedToModerator(userID)
case (.moderator, false):
L10n.stateEventDemotedToModerator(userID)
case (.administrator, true):
L10n.stateEventPromotedToAdministrator(userID)
default:
nil
}
}
}