Notification Decoration Revised (#5312)

1. I removed the grey dots for when there is activity in rooms set to mentions or mute.
2. For all unread rooms, I made the message preview text bold for better legibility
3. For rooms with no unreads, I made the font weight regular, again for legibility

We have also mergeg the new room list activity rendering with the existing feature hide unread badge feature flag and provide 3 variations: current production behavior, no badge but bolding, and no bolding and no badge
This commit is contained in:
amshak
2026-04-21 12:12:07 +01:00
committed by GitHub
parent e51e93c3f1
commit b16bbdcc72
36 changed files with 141 additions and 84 deletions

View File

@@ -462,6 +462,7 @@
4DEEFB73181C3B023DB42686 /* NetworkMonitorProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1575947B7A6FE08C57FE5EE4 /* NetworkMonitorProtocol.swift */; };
4E0D9E09B52CEC4C0E6211A8 /* MediaPickerScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64F49FB9EE2913234F06CE68 /* MediaPickerScreenCoordinator.swift */; };
4E36A66E0EDA74BF3A036FD0 /* RoomChangeRolesScreenViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AAD8C633AA57948B34EDCF7 /* RoomChangeRolesScreenViewModelProtocol.swift */; };
4E3F4623592BFEF0D644CEAD /* RoomListActivityVisibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5DA892E8643240C7BC41900 /* RoomListActivityVisibility.swift */; };
4E4EF97B9F9CEFAC726BA72F /* TimelineProviderMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62EACAFB3F3E017060F9F1C5 /* TimelineProviderMock.swift */; };
4E8A2A2CFEB212F14E49E1A1 /* AppLockSetupSettingsScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5484457C81B325660901B161 /* AppLockSetupSettingsScreen.swift */; };
4E945AD6862C403F74E57755 /* RoomTimelineItemFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 105B2A8426404EF66F00CFDB /* RoomTimelineItemFactory.swift */; };
@@ -550,6 +551,7 @@
5DD85A0FE3D85AEC3C7EFE36 /* DeveloperOptionsScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C7C7CFA6B2A62A685FF6CE3 /* DeveloperOptionsScreenCoordinator.swift */; };
5DFC2A889D3B39DD47AC63A8 /* PillUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = C537DE821FED94D23467B6C4 /* PillUtilities.swift */; };
5E597B9959BDAE7A67DBD5B2 /* LinkMetadataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C78111573987B1D79ED0868 /* LinkMetadataProvider.swift */; };
5E73893669BB56307A44AAAD /* RoomListActivityVisibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5DA892E8643240C7BC41900 /* RoomListActivityVisibility.swift */; };
5EB116B58533C9A0EBA22717 /* ThreadTimelineScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2E7CEE6E9314FD69FE0ED9 /* ThreadTimelineScreen.swift */; };
5EDBDE802761B5ECB54E6787 /* LogLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2711E5996016ABD6EAAEB58A /* LogLevel.swift */; };
5F06AD3C66884CE793AE6119 /* FileManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04DF593C3F7AF4B2FBAEB05D /* FileManager.swift */; };
@@ -616,6 +618,7 @@
683154AD739245E56F37921E /* UserPreference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E6DE144D887A254F4CAF203 /* UserPreference.swift */; };
6832733838C57A7D3FE8FEB5 /* Kingfisher in Frameworks */ = {isa = PBXBuildFile; productRef = 50009897F60FAE7D63EF5E5B /* Kingfisher */; };
6851B077B4C913CC12DB6E77 /* AppLockFlowCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCE93F0CBF0D96B77111C413 /* AppLockFlowCoordinator.swift */; };
6885C3D26FC1026E07408D3C /* RoomListActivityVisibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5DA892E8643240C7BC41900 /* RoomListActivityVisibility.swift */; };
68B2DD307C57ECFABBB05323 /* DeclineAndBlockScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 127D1947BA9C6CA62E3D03EC /* DeclineAndBlockScreen.swift */; };
68C3AF257678F6E7BB238C3F /* AppAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FD22AEFFA20065494ED2333 /* AppAppearance.swift */; };
695825D20A761C678809345D /* MessageForwardingScreenModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52135BD9E0E7A091688F627A /* MessageForwardingScreenModels.swift */; };
@@ -2537,6 +2540,7 @@
A54AAF72E821B4084B7E4298 /* PinnedEventsTimelineFlowCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PinnedEventsTimelineFlowCoordinator.swift; sourceTree = "<group>"; };
A566F8F2C27B99E1FB80C69B /* JoinRule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JoinRule.swift; sourceTree = "<group>"; };
A5C45578F406698388B97C07 /* AuthenticationClassicAppAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationClassicAppAccountView.swift; sourceTree = "<group>"; };
A5DA892E8643240C7BC41900 /* RoomListActivityVisibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomListActivityVisibility.swift; sourceTree = "<group>"; };
A6B19D10B102956066AF117B /* PollOptionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollOptionView.swift; sourceTree = "<group>"; };
A6B891A6DA826E2461DBB40F /* PHGPostHogConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PHGPostHogConfiguration.swift; sourceTree = "<group>"; };
A6C11AD9813045E44F950410 /* ElementCallWidgetDriverProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ElementCallWidgetDriverProtocol.swift; sourceTree = "<group>"; };
@@ -6513,6 +6517,7 @@
E8D354D4232DED9649FD0FF4 /* OIDCConfiguration.swift */,
8FC598338E7CF41107293AB5 /* RageshakeConfiguration.swift */,
69A05E85E4872C3221C5C287 /* RemotePreference.swift */,
A5DA892E8643240C7BC41900 /* RoomListActivityVisibility.swift */,
5E6DE144D887A254F4CAF203 /* UserPreference.swift */,
);
path = Settings;
@@ -7803,6 +7808,7 @@
3CB9EC9B670C90618B839D1B /* RemotePreference.swift in Sources */,
F65F3909769E7C48B3309D9D /* RemoteSettingsHook.swift in Sources */,
414F50CFCFEEE2611127DCFB /* RestorationToken.swift in Sources */,
5E73893669BB56307A44AAAD /* RoomListActivityVisibility.swift in Sources */,
17BC15DA08A52587466698C5 /* RoomMessageEventStringBuilder.swift in Sources */,
06D17F7813AA931FF18FD5D0 /* SDKListener.swift in Sources */,
F71C2B24AFB566119ACCDDA1 /* Secrets.swift in Sources */,
@@ -8012,6 +8018,7 @@
24C32D7EF94ECF9081638DF6 /* RemotePreference.swift in Sources */,
6F76F34F4CAD400F5015EC5C /* RemoteSettingsHook.swift in Sources */,
1C4CB9009E50E6535883D5B2 /* RestorationToken.swift in Sources */,
6885C3D26FC1026E07408D3C /* RoomListActivityVisibility.swift in Sources */,
9C11138F7D8C291494BB0B20 /* Secrets.swift in Sources */,
B6B62437B92B6CA4083AA899 /* SessionDirectories.swift in Sources */,
DAF63A9CF9932CA8F6830F11 /* ShareExtensionModels.swift in Sources */,
@@ -8726,6 +8733,7 @@
5C8804B4F25903516E2DAB81 /* RoomInfoProxy.swift in Sources */,
432EA37BDC97CEDBAB7B23A6 /* RoomInfoProxyProtocol.swift in Sources */,
8A83D715940378B9BA9F739E /* RoomInviterLabel.swift in Sources */,
4E3F4623592BFEF0D644CEAD /* RoomListActivityVisibility.swift in Sources */,
F4996C82A4B3A5FF0C8EDD03 /* RoomListFilterModels.swift in Sources */,
4A9CEEE612D6D8B3DDBD28BA /* RoomListFilterView.swift in Sources */,
BD0BE20DBCE31253AE4490A1 /* RoomListFiltersEmptyStateView.swift in Sources */,

View File

@@ -84,7 +84,7 @@ final class AppSettings {
case automaticBackPaginationEnabled
// Doug's tweaks 🔧
case hideUnreadMessagesBadge
case roomListActivityVisibility
case hideQuietNotificationAlerts
case developerOptionsEnabled
@@ -358,8 +358,8 @@ final class AppSettings {
// MARK: - Home Screen
@UserPreference(key: UserDefaultsKeys.hideUnreadMessagesBadge, defaultValue: false, storageType: .userDefaults(store))
var hideUnreadMessagesBadge
@UserPreference(key: UserDefaultsKeys.roomListActivityVisibility, defaultValue: .current, storageType: .userDefaults(store))
var roomListActivityVisibility: RoomListActivityVisibility
// MARK: - Room Screen

View File

@@ -0,0 +1,15 @@
//
// Copyright 2026 Element Creations Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
// Please see LICENSE files in the repository root for full details.
//
enum RoomListActivityVisibility: String, CaseIterable, Codable {
/// Show unread badges for all unread messages (the default).
case current
/// Don't show badges but bold unread room names and their latest message
case show
/// Don't show badges and don't bold room names and messages
case hide
}

View File

@@ -108,6 +108,8 @@ struct HomeScreenViewState: BindableState {
var hideInviteAvatars = false
var roomListActivityVisibility: RoomListActivityVisibility = .current
var reportRoomEnabled = false
var shouldShowSpaceFilters = false
@@ -197,6 +199,8 @@ struct HomeScreenRoom: Identifiable, Equatable {
let callBadgeType: CallBadgeType
}
var hasUnreads = false
let name: String
let isDirect: Bool
@@ -247,13 +251,20 @@ struct HomeScreenRoom: Identifiable, Equatable {
}
extension HomeScreenRoom {
init(summary: RoomSummary, hideUnreadMessagesBadge: Bool, seenInvites: Set<String> = []) {
init(summary: RoomSummary,
roomListActivityVisibility: RoomListActivityVisibility = .current,
seenInvites: Set<String> = []) {
let roomID = summary.id
let hasUnreadMessages = hideUnreadMessagesBadge ? false : summary.hasUnreadMessages
let isUnseenInvite = summary.joinRequestType?.isInvite == true && !seenInvites.contains(roomID)
let isDotShown = hasUnreadMessages || summary.hasUnreadMentions || summary.hasUnreadNotifications || summary.isMarkedUnread || isUnseenInvite
let isDotShown = switch roomListActivityVisibility {
case .current:
summary.hasUnreadMessages || summary.hasUnreadMentions || summary.hasUnreadNotifications || summary.isMarkedUnread || isUnseenInvite
case .hide, .show:
(!summary.isMuted && (summary.hasUnreadNotifications || summary.hasUnreadMentions)) || summary.isMarkedUnread || isUnseenInvite
}
let isMentionShown = summary.hasUnreadMentions && !summary.isMuted
let isMuteShown = summary.isMuted
let isHighlighted = summary.isMarkedUnread || (!summary.isMuted && (summary.hasUnreadNotifications || summary.hasUnreadMentions)) || isUnseenInvite
@@ -275,6 +286,7 @@ extension HomeScreenRoom {
isMentionShown: isMentionShown,
isMuteShown: isMuteShown,
callBadgeType: callBadge),
hasUnreads: summary.hasUnreadMessages,
name: summary.name,
isDirect: summary.isDirect,
isHighlighted: isHighlighted,

View File

@@ -114,8 +114,11 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
.weakAssign(to: \.state.selectedRoomID, on: self)
.store(in: &cancellables)
appSettings.$hideUnreadMessagesBadge
.sink { [weak self] _ in self?.updateRooms() }
appSettings.$roomListActivityVisibility
.sink { [weak self] value in
self?.state.roomListActivityVisibility = value
self?.updateRooms()
}
.store(in: &cancellables)
appSettings.$seenInvites
@@ -363,7 +366,7 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
for summary in roomSummaryProvider.roomListPublisher.value {
let room = HomeScreenRoom(summary: summary,
hideUnreadMessagesBadge: appSettings.hideUnreadMessagesBadge,
roomListActivityVisibility: appSettings.roomListActivityVisibility,
seenInvites: seenInvites)
rooms.append(room)
}

View File

@@ -240,7 +240,7 @@ private extension HomeScreenRoom {
isFavourite: false,
isTombstoned: false)
return .init(summary: summary, hideUnreadMessagesBadge: false)
return .init(summary: summary)
}
static func invite(name: String = "Awesome Room",
@@ -276,6 +276,6 @@ private extension HomeScreenRoom {
isFavourite: false,
isTombstoned: false)
return .init(summary: summary, hideUnreadMessagesBadge: false)
return .init(summary: summary)
}
}

View File

@@ -172,7 +172,7 @@ private extension HomeScreenRoom {
isFavourite: false,
isTombstoned: false)
return .init(summary: summary, hideUnreadMessagesBadge: false)
return .init(summary: summary)
}
static func roomKnocked(alias: String? = nil, avatarURL: URL? = nil) -> HomeScreenRoom {
@@ -205,6 +205,6 @@ private extension HomeScreenRoom {
isFavourite: false,
isTombstoned: false)
return .init(summary: summary, hideUnreadMessagesBadge: false)
return .init(summary: summary)
}
}

View File

@@ -15,6 +15,7 @@ struct HomeScreenRoomCell: View {
@Environment(\.redactionReasons) private var redactionReasons
let room: HomeScreenRoom
var roomListActivityVisibility: RoomListActivityVisibility = .current
let isSelected: Bool
let mediaProvider: MediaProviderProtocol!
let action: (HomeScreenViewAction) -> Void
@@ -74,7 +75,7 @@ struct HomeScreenRoomCell: View {
private var header: some View {
HStack(alignment: .top, spacing: 16) {
Text(room.name)
.font(.compound.bodyLGSemibold)
.font(headerFont)
.foregroundColor(.compound.textPrimary)
.lineLimit(1)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -87,6 +88,17 @@ struct HomeScreenRoomCell: View {
}
}
private var headerFont: Font {
switch roomListActivityVisibility {
case .current:
.compound.bodyLGSemibold
case .show:
room.hasUnreads ? .compound.bodyLGSemibold : .compound.bodyLG
case .hide:
.compound.bodyLG
}
}
private var footer: some View {
HStack(alignment: .firstTextBaseline, spacing: 0) {
ZStack(alignment: .topLeading) {
@@ -157,6 +169,7 @@ struct HomeScreenRoomCell: View {
private var lastMessage: some View {
if let displayedLastMessage = room.displayedLastMessage {
Text(displayedLastMessage)
.font(roomListActivityVisibility == .show ? (room.hasUnreads ? .compound.bodyMDSemibold : .compound.bodyMD) : .compound.bodyMD)
.lastMessageFormatting(hasFailed: room.lastMessageState == .failed)
}
}
@@ -175,8 +188,7 @@ struct HomeScreenRoomCellButtonStyle: ButtonStyle {
private extension View {
func lastMessageFormatting(hasFailed: Bool) -> some View {
font(.compound.bodyMD)
.foregroundColor(hasFailed ? .compound.textCriticalPrimary : .compound.textSecondary)
foregroundColor(hasFailed ? .compound.textCriticalPrimary : .compound.textSecondary)
.lineLimit(2)
.multilineTextAlignment(.leading)
}
@@ -224,7 +236,7 @@ struct HomeScreenRoomCell_Previews: PreviewProvider, TestablePreview {
}
static func mockRoom(summary: RoomSummary) -> HomeScreenRoom? {
HomeScreenRoom(summary: summary, hideUnreadMessagesBadge: false)
HomeScreenRoom(summary: summary)
}
static func makeViewModel(roomSummaryProvider: RoomSummaryProviderProtocol) -> HomeScreenViewModel {
@@ -263,6 +275,6 @@ struct HomeScreenRoomCell_Previews: PreviewProvider, TestablePreview {
isFavourite: false,
isTombstoned: false)
return .init(summary: summary, hideUnreadMessagesBadge: false)
return .init(summary: summary)
}
}

View File

@@ -35,7 +35,11 @@ struct HomeScreenRoomList: View {
case .room:
let isSelected = context.viewState.selectedRoomID == room.id
HomeScreenRoomCell(room: room, isSelected: isSelected, mediaProvider: context.mediaProvider, action: context.send)
HomeScreenRoomCell(room: room,
roomListActivityVisibility: context.viewState.roomListActivityVisibility,
isSelected: isSelected,
mediaProvider: context.mediaProvider,
action: context.send)
.simultaneousGesture(TapGesture(count: 2).onEnded {
context.send(viewAction: .detachRoom(roomIdentifier: room.id))
})

View File

@@ -57,7 +57,7 @@ protocol DeveloperOptionsProtocol: AnyObject {
var focusEventOnNotificationTap: Bool { get set }
var automaticBackPaginationEnabled: Bool { get set }
var hideUnreadMessagesBadge: Bool { get set }
var roomListActivityVisibility: RoomListActivityVisibility { get set }
var elementCallBaseURLOverride: URL? { get set }
var publicSearchEnabled: Bool { get set }

View File

@@ -56,8 +56,11 @@ struct DeveloperOptionsScreen: View {
Text("Public search")
}
Toggle(isOn: $context.hideUnreadMessagesBadge) {
Text("Hide grey dots")
Picker("Room list activity visibility", selection: $context.roomListActivityVisibility) {
ForEach(RoomListActivityVisibility.allCases, id: \.self) { visibility in
Text(visibility.rawValue.capitalized)
.tag(visibility)
}
}
Toggle(isOn: $context.fuzzyRoomListSearchEnabled) {

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:149d25dc1e12dfe9c9bcbfebd1ac04d02793312e8911b54ef84dfc086222471a
size 303186
oid sha256:dfa75744064930bee14b2a10184fa0b456cfaff71a36665c66095597381aeb59
size 295588

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:afab5e01fcb18108837e3bfeaddf6be1bb593e102662cd146ea462060a7d7505
size 313484
oid sha256:58a6c9d1d23cb1e3c51ec007cff963e042daf5fca3616718121500cf8f73512e
size 302434

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7404926b789acd48873e81784298fab5ffd79ff0519af1b37337ca55f290f08b
size 210835
oid sha256:368f7826d875d097ef1a3384aeb00d69c61ffb79e9e88e483089ebacc1637d41
size 210452

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c2cab7ce3717833e02f05086b011f9830ffad2f185b5679e6d761d21cf79ee4d
size 216624
oid sha256:82f64e22c5a2dbe3e0cecd79896f0e0014835f3bd478e394f7a1abb0bb33c0d9
size 211749

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dff04cc21bf2395bf4eca9d5a61caa0624de22ae8fa9e5b8232d6b772a150731
size 123655
oid sha256:78a5364a262bb95e0a5c51c7227c4e866166bad62ea02a2e86e2a28416aa87aa
size 123184

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f36235bc495ea195fbcbd2072cec3f10c1dff5483be0a468998421551fceb163
size 124360
oid sha256:9adfc2dcfeb8e2d16876cca2e3e8f703a4fee3d71c869759b39c7234be6502a0
size 123904

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cb9b8e67ece6033f20153dea27ae544d69ce93b5258f37df514fba73a18ba970
size 64090
oid sha256:231b544ef2a7a5025766333fc00bca05ab318a3110603823fecf535185eba251
size 63238

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f5fac68318ee901675cda8fe6f75c09eb7ff23c980992313ce9761b2481c3561
size 64851
oid sha256:2499471f6aab6093a14eeff371202d0a0a8695dc96f67840909e88d847698004
size 64001

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:339294b60291c6e37eac218a284cc76abccf250d953e516f84f9c942bf02399d
size 242792
oid sha256:28e5f6a36ceb714001a8dfc51197bad50537e2d1be2a273485964db6d6133fa5
size 242420

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ba13cf5b1fa1a3fb3c0878a75efed3f852aab3e276e9f67c4e7b8accbfe8624e
size 248504
oid sha256:99d7a5ca6e985e9b3ce8954428db7f4d1d7f312112e26c2837976edb921c33d3
size 248146

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:75fd157f849dc5ef362b4379665a91e792010760b21d8c41f6b92960aec3c91c
size 180458
oid sha256:7ad39875aa0432eee1f1518b6dcf42b8283ea4cbc8b2b4249d22e455932f27be
size 180646

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6f4e20256bdb47489fdc7cb8893833e2ff5d5a61981a32d58beb615e31c15b6
size 184812
oid sha256:eb914d10c111af3dbd32174ea39fef5efd4d419d94af122c531e58f6acffc327
size 184978

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b53f188ca9c825d941de2d5539184249f4ebaf9acdcd6ba39afd0aad46c40897
size 95990
oid sha256:bebfd2f1b1e8bb1d854b5f6b3203b181316f65e99073927e597c03c81c28b00b
size 96804

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:74234f5d340dde070fba86d0ea78dbdff70ed55eaf5a6e88624a23f7f8e38907
size 97317
oid sha256:817dc5555563683a0576ef9b2ac655dac8c3da6a0b3f3649be9f4971beff19ab
size 98140

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:35a66b0319837433b9ccc1a2c4e8b95ed17d34e28fb7d4ff275d1cf93e56fb94
size 82654
oid sha256:44f2b09033a4d1715eb2c2a64271692fb8e8e4c23767913f316fbcc013788acc
size 83098

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:06d3f3399d81ae399cb4be1ce7d072655feb088f62571b67e5d179d10fb29e04
size 87347
oid sha256:ae17d8f46bd6213ac0a559d48cff0c15e6d2b62a163a14849f6cf7f49e24a15c
size 87817

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:510ad0cd77962b23637c271595163b85e74be11528c8fc36eb20e72569a71b97
size 772632
oid sha256:050527f53b7afa77b75c456a54d6e98d15fe422f3f36921f09431fb1255dbcd6
size 783268

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8b180ac2a79e20dfc29dbd15f2e56b22048a9a1e3200141186ffe6aed445bc1d
size 778649
oid sha256:9f8cae65c6e8a501caaf2b3fcd07b48d2714c44cf7b9efa17fabffc108a32b71
size 788915

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9e8c8ceb8796a94991fc66ce2a8d98010108870b90a90f32553eca6ac1700e97
size 531731
oid sha256:5f25670c5b16a8b37845fdc90f471d4586fbbc3eacd732fd71007ed4391f7b5e
size 536811

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:df58900b6303b93c6f4ebdd485704170d1bddbf901a18bb40cc710cd1d6cdd3d
size 535298
oid sha256:58d40c544df548edd120862e403d2eb61c8af11e213696b22a17e92feaa45c55
size 540360

View File

@@ -55,7 +55,7 @@ struct HomeScreenRoomTests {
notificationMode: .allMessages,
hasOngoingCall: false)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(!room.isHighlighted)
#expect(!room.badges.isDotShown)
@@ -73,7 +73,7 @@ struct HomeScreenRoomTests {
notificationMode: .allMessages,
hasOngoingCall: true)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(room.isHighlighted)
#expect(room.badges.isDotShown)
@@ -83,7 +83,7 @@ struct HomeScreenRoomTests {
}
@Test
mutating func voiceCallBadget() {
mutating func voiceCallBadge() {
setupRoomSummary(isMarkedUnread: true,
unreadMessagesCount: 0,
unreadMentionsCount: 0,
@@ -92,7 +92,7 @@ struct HomeScreenRoomTests {
hasOngoingCall: true,
activeCallIntent: .audio)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(room.badges.callBadgeType == .voice)
}
@@ -106,7 +106,7 @@ struct HomeScreenRoomTests {
notificationMode: .allMessages,
hasOngoingCall: false)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(!room.isHighlighted)
#expect(room.badges.isDotShown)
@@ -124,7 +124,7 @@ struct HomeScreenRoomTests {
notificationMode: .allMessages,
hasOngoingCall: false)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(room.isHighlighted)
#expect(room.badges.isDotShown)
@@ -142,7 +142,7 @@ struct HomeScreenRoomTests {
notificationMode: .allMessages,
hasOngoingCall: false)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(room.isHighlighted)
#expect(room.badges.isDotShown)
@@ -160,7 +160,7 @@ struct HomeScreenRoomTests {
notificationMode: .allMessages,
hasOngoingCall: true)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(!room.isHighlighted)
#expect(!room.badges.isDotShown)
@@ -178,7 +178,7 @@ struct HomeScreenRoomTests {
notificationMode: .mentionsAndKeywordsOnly,
hasOngoingCall: false)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(!room.isHighlighted)
#expect(room.badges.isDotShown)
@@ -196,7 +196,7 @@ struct HomeScreenRoomTests {
notificationMode: .mentionsAndKeywordsOnly,
hasOngoingCall: false)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: true)
let room = HomeScreenRoom(summary: roomSummary, roomListActivityVisibility: .show)
#expect(!room.isHighlighted)
#expect(!room.badges.isDotShown)
@@ -216,7 +216,7 @@ struct HomeScreenRoomTests {
notificationMode: .allMessages,
hasOngoingCall: false)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(room.isHighlighted)
#expect(room.badges.isDotShown)
@@ -234,7 +234,7 @@ struct HomeScreenRoomTests {
notificationMode: .allMessages,
hasOngoingCall: false)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(room.isHighlighted)
#expect(room.badges.isDotShown)
@@ -252,7 +252,7 @@ struct HomeScreenRoomTests {
notificationMode: .mute,
hasOngoingCall: true)
let room = HomeScreenRoom(summary: roomSummary, hideUnreadMessagesBadge: false)
let room = HomeScreenRoom(summary: roomSummary)
#expect(room.isHighlighted)
#expect(room.badges.isDotShown)