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:
@@ -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 */,
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
})
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:149d25dc1e12dfe9c9bcbfebd1ac04d02793312e8911b54ef84dfc086222471a
|
||||
size 303186
|
||||
oid sha256:dfa75744064930bee14b2a10184fa0b456cfaff71a36665c66095597381aeb59
|
||||
size 295588
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:afab5e01fcb18108837e3bfeaddf6be1bb593e102662cd146ea462060a7d7505
|
||||
size 313484
|
||||
oid sha256:58a6c9d1d23cb1e3c51ec007cff963e042daf5fca3616718121500cf8f73512e
|
||||
size 302434
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7404926b789acd48873e81784298fab5ffd79ff0519af1b37337ca55f290f08b
|
||||
size 210835
|
||||
oid sha256:368f7826d875d097ef1a3384aeb00d69c61ffb79e9e88e483089ebacc1637d41
|
||||
size 210452
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c2cab7ce3717833e02f05086b011f9830ffad2f185b5679e6d761d21cf79ee4d
|
||||
size 216624
|
||||
oid sha256:82f64e22c5a2dbe3e0cecd79896f0e0014835f3bd478e394f7a1abb0bb33c0d9
|
||||
size 211749
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dff04cc21bf2395bf4eca9d5a61caa0624de22ae8fa9e5b8232d6b772a150731
|
||||
size 123655
|
||||
oid sha256:78a5364a262bb95e0a5c51c7227c4e866166bad62ea02a2e86e2a28416aa87aa
|
||||
size 123184
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f36235bc495ea195fbcbd2072cec3f10c1dff5483be0a468998421551fceb163
|
||||
size 124360
|
||||
oid sha256:9adfc2dcfeb8e2d16876cca2e3e8f703a4fee3d71c869759b39c7234be6502a0
|
||||
size 123904
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cb9b8e67ece6033f20153dea27ae544d69ce93b5258f37df514fba73a18ba970
|
||||
size 64090
|
||||
oid sha256:231b544ef2a7a5025766333fc00bca05ab318a3110603823fecf535185eba251
|
||||
size 63238
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f5fac68318ee901675cda8fe6f75c09eb7ff23c980992313ce9761b2481c3561
|
||||
size 64851
|
||||
oid sha256:2499471f6aab6093a14eeff371202d0a0a8695dc96f67840909e88d847698004
|
||||
size 64001
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:339294b60291c6e37eac218a284cc76abccf250d953e516f84f9c942bf02399d
|
||||
size 242792
|
||||
oid sha256:28e5f6a36ceb714001a8dfc51197bad50537e2d1be2a273485964db6d6133fa5
|
||||
size 242420
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ba13cf5b1fa1a3fb3c0878a75efed3f852aab3e276e9f67c4e7b8accbfe8624e
|
||||
size 248504
|
||||
oid sha256:99d7a5ca6e985e9b3ce8954428db7f4d1d7f312112e26c2837976edb921c33d3
|
||||
size 248146
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:75fd157f849dc5ef362b4379665a91e792010760b21d8c41f6b92960aec3c91c
|
||||
size 180458
|
||||
oid sha256:7ad39875aa0432eee1f1518b6dcf42b8283ea4cbc8b2b4249d22e455932f27be
|
||||
size 180646
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e6f4e20256bdb47489fdc7cb8893833e2ff5d5a61981a32d58beb615e31c15b6
|
||||
size 184812
|
||||
oid sha256:eb914d10c111af3dbd32174ea39fef5efd4d419d94af122c531e58f6acffc327
|
||||
size 184978
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b53f188ca9c825d941de2d5539184249f4ebaf9acdcd6ba39afd0aad46c40897
|
||||
size 95990
|
||||
oid sha256:bebfd2f1b1e8bb1d854b5f6b3203b181316f65e99073927e597c03c81c28b00b
|
||||
size 96804
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:74234f5d340dde070fba86d0ea78dbdff70ed55eaf5a6e88624a23f7f8e38907
|
||||
size 97317
|
||||
oid sha256:817dc5555563683a0576ef9b2ac655dac8c3da6a0b3f3649be9f4971beff19ab
|
||||
size 98140
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:35a66b0319837433b9ccc1a2c4e8b95ed17d34e28fb7d4ff275d1cf93e56fb94
|
||||
size 82654
|
||||
oid sha256:44f2b09033a4d1715eb2c2a64271692fb8e8e4c23767913f316fbcc013788acc
|
||||
size 83098
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:06d3f3399d81ae399cb4be1ce7d072655feb088f62571b67e5d179d10fb29e04
|
||||
size 87347
|
||||
oid sha256:ae17d8f46bd6213ac0a559d48cff0c15e6d2b62a163a14849f6cf7f49e24a15c
|
||||
size 87817
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:510ad0cd77962b23637c271595163b85e74be11528c8fc36eb20e72569a71b97
|
||||
size 772632
|
||||
oid sha256:050527f53b7afa77b75c456a54d6e98d15fe422f3f36921f09431fb1255dbcd6
|
||||
size 783268
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8b180ac2a79e20dfc29dbd15f2e56b22048a9a1e3200141186ffe6aed445bc1d
|
||||
size 778649
|
||||
oid sha256:9f8cae65c6e8a501caaf2b3fcd07b48d2714c44cf7b9efa17fabffc108a32b71
|
||||
size 788915
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9e8c8ceb8796a94991fc66ce2a8d98010108870b90a90f32553eca6ac1700e97
|
||||
size 531731
|
||||
oid sha256:5f25670c5b16a8b37845fdc90f471d4586fbbc3eacd732fd71007ed4391f7b5e
|
||||
size 536811
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:df58900b6303b93c6f4ebdd485704170d1bddbf901a18bb40cc710cd1d6cdd3d
|
||||
size 535298
|
||||
oid sha256:58d40c544df548edd120862e403d2eb61c8af11e213696b22a17e92feaa45c55
|
||||
size 540360
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user