Hide the unread dot after previewing an invite. (#3800)

* Hide the unread dot when previewing an invite.

* Remove an invited room ID when accepting/rejecting.

* Remove the unread badge from knocked room cells.

* Update snapshots.

* Address PR comments.

Refactor KnockRequestType to JoinRequestType.
This commit is contained in:
Doug
2025-02-18 12:22:13 +00:00
committed by GitHub
parent 8c07ee35c4
commit d325adb4fc
19 changed files with 250 additions and 97 deletions
@@ -9,23 +9,21 @@ import Foundation
import MatrixRustSDK
struct RoomSummary {
enum KnockRequestType {
enum JoinRequestType {
case invite(inviter: RoomMemberProxyProtocol?)
case knock
var isInvite: Bool {
if case .invite = self {
return true
} else {
return false
switch self {
case .invite: true
default: false
}
}
var isKnock: Bool {
if case .knock = self {
return true
} else {
return false
switch self {
case .knock: true
default: false
}
}
}
@@ -34,7 +32,7 @@ struct RoomSummary {
let id: String
let knockRequestType: KnockRequestType?
let joinRequestType: JoinRequestType?
let name: String
let isDirect: Bool
@@ -103,7 +101,7 @@ extension RoomSummary {
canonicalAlias = nil
hasOngoingCall = false
knockRequestType = nil
joinRequestType = nil
isMarkedUnread = false
isFavourite = false
}
@@ -255,7 +255,7 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol {
let notificationMode = roomInfo.cachedUserDefinedNotificationMode.flatMap { RoomNotificationModeProxy.from(roomNotificationMode: $0) }
let knockRequestType: RoomSummary.KnockRequestType? = switch roomInfo.membership {
let joinRequestType: RoomSummary.JoinRequestType? = switch roomInfo.membership {
case .invited: .invite(inviter: inviterProxy)
case .knocked: .knock
default: nil
@@ -263,7 +263,7 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol {
return RoomSummary(roomListItem: roomListItem,
id: roomInfo.id,
knockRequestType: knockRequestType,
joinRequestType: joinRequestType,
name: roomInfo.displayName ?? roomInfo.id,
isDirect: roomInfo.isDirect,
avatarURL: roomInfo.avatarUrl.flatMap(URL.init(string:)),