diff --git a/ElementX.xcodeproj/project.pbxproj b/ElementX.xcodeproj/project.pbxproj index a8349f38f..22347bf66 100644 --- a/ElementX.xcodeproj/project.pbxproj +++ b/ElementX.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 56; objects = { /* Begin PBXAggregateTarget section */ @@ -107,6 +107,7 @@ 1795EA6A6C4942CAE0459DF0 /* SecureBackupKeyBackupScreenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82B612853BFB68373249777B /* SecureBackupKeyBackupScreenViewModel.swift */; }; 17BC15DA08A52587466698C5 /* RoomMessageEventStringBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80E815FF3CC5E5A355E3A25E /* RoomMessageEventStringBuilder.swift */; }; 18867F4F1C8991EEC56EA932 /* UTType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 897DF5E9A70CE05A632FC8AF /* UTType.swift */; }; + 18E3786918486D4C9726BC84 /* FormButtonStyles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89FBFC09F9DAFF1E4BA97849 /* FormButtonStyles.swift */; }; 192A3CDCD0174AD1E4A128E4 /* AudioRecorderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2441E2424E78A40FC95DBA76 /* AudioRecorderTests.swift */; }; 1950A80CD198BED283DFC2CE /* ClientProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18F2958E6D247AE2516BEEE8 /* ClientProxy.swift */; }; 19DED23340D0855B59693ED2 /* VoiceMessageRecorderProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D45C9EAA86423D7D3126DE4F /* VoiceMessageRecorderProtocol.swift */; }; @@ -124,6 +125,7 @@ 1C409A26A99F0371C47AFA51 /* UserDiscoveryServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F615A00DB223FF3280204D2 /* UserDiscoveryServiceProtocol.swift */; }; 1C8BC70A18060677E295A846 /* ShareToMapsAppActivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4481799F455B3DA243BDA2AC /* ShareToMapsAppActivity.swift */; }; 1C9BB74711E5F24C77B7FED0 /* RoomMembersListScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AEA0B743847CFA5B3C38EE4 /* RoomMembersListScreenCoordinator.swift */; }; + 1D2B3DBBD2E3F5023C35CB33 /* BadgeLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFEC0A675E39FAC6AF833DDD /* BadgeLabel.swift */; }; 1D5DC685CED904386C89B7DA /* NSRegularExpresion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95BAC0F6C9644336E9567EE6 /* NSRegularExpresion.swift */; }; 1D623953F970D11F6F38499C /* AppLockService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 851B95BB98649B8E773D6790 /* AppLockService.swift */; }; 1D69E31913DF66426985909B /* EmojiPickerScreenViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11151E78D6BB2B04A8FBD389 /* EmojiPickerScreenViewModelProtocol.swift */; }; @@ -742,7 +744,6 @@ B2F8E01ABA1BA30265B4ECBE /* RoundedCornerShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 839E2C35DF3F9C7B54C3CE49 /* RoundedCornerShape.swift */; }; B31E5493C99381D4E204438B /* RoomTimelineControllerFactoryMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = D479DF730528153665E5782E /* RoomTimelineControllerFactoryMock.swift */; }; B3D652AA1654270742072FB3 /* DeveloperOptionsScreenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86A6F283BC574FDB96ABBB07 /* DeveloperOptionsScreenViewModel.swift */; }; - B3EDDEC1839BB5A3747624BB /* FormButtonStyles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A1CCDEE545CB6453B084BF /* FormButtonStyles.swift */; }; B402708F8728DD0DB7C324E2 /* StartChatScreenViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78910787F967CBC6042A101E /* StartChatScreenViewModelProtocol.swift */; }; B444F9C184A377C1B481F07F /* XCUIElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E992D7B8BE54B2AB454613AF /* XCUIElement.swift */; }; B4A0C69370E6008A971463E7 /* BugReportScreenViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4C89820BB2B88D4EA28131C /* BugReportScreenViewModelProtocol.swift */; }; @@ -1131,12 +1132,12 @@ 033DB41C51865A2E83174E87 /* target.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = target.yml; sourceTree = ""; }; 035177BCD8E8308B098AC3C2 /* WindowManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WindowManager.swift; sourceTree = ""; }; 0376C429FAB1687C3D905F3E /* MockCoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockCoder.swift; sourceTree = ""; }; - 0392E3FDE372C9B56FEEED8B /* test_voice_message.m4a */ = {isa = PBXFileReference; path = test_voice_message.m4a; sourceTree = ""; }; + 0392E3FDE372C9B56FEEED8B /* test_voice_message.m4a */ = {isa = PBXFileReference; lastKnownFileType = file; path = test_voice_message.m4a; sourceTree = ""; }; 03DD998E523D4EC93C7ED703 /* RoomNotificationSettingsScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomNotificationSettingsScreenViewModelProtocol.swift; sourceTree = ""; }; 03FABD73FD8086EFAB699F42 /* MediaUploadPreviewScreenViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaUploadPreviewScreenViewModelTests.swift; sourceTree = ""; }; 044E501B8331B339874D1B96 /* CompoundIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompoundIcon.swift; sourceTree = ""; }; 045253F9967A535EE5B16691 /* Label.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; - 048A21188AB19349D026BECD /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 048A21188AB19349D026BECD /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 04BB8DDE245ED86C489BA983 /* AccessibilityIdentifiers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessibilityIdentifiers.swift; sourceTree = ""; }; 04DF593C3F7AF4B2FBAEB05D /* FileManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileManager.swift; sourceTree = ""; }; 0516C69708D5CBDE1A8E77EC /* RoomDirectorySearchProxyProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomDirectorySearchProxyProtocol.swift; sourceTree = ""; }; @@ -1195,7 +1196,7 @@ 127C8472672A5BA09EF1ACF8 /* CurrentValuePublisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentValuePublisher.swift; sourceTree = ""; }; 128501375217576AF0FE3E92 /* RoomAttachmentPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomAttachmentPicker.swift; sourceTree = ""; }; 12F1E7F9C2BE8BB751037826 /* WaitlistScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaitlistScreenCoordinator.swift; sourceTree = ""; }; - 1304D9191300873EADA52D6E /* IntegrationTests.xctestplan */ = {isa = PBXFileReference; path = IntegrationTests.xctestplan; sourceTree = ""; }; + 1304D9191300873EADA52D6E /* IntegrationTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = IntegrationTests.xctestplan; sourceTree = ""; }; 130ED565A078F7E0B59D9D25 /* UNTextInputNotificationResponse+Creator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UNTextInputNotificationResponse+Creator.swift"; sourceTree = ""; }; 136F80A613B55BDD071DCEA5 /* JoinRoomScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JoinRoomScreenModels.swift; sourceTree = ""; }; 13802897C7AFA360EA74C0B0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = en; path = en.lproj/Localizable.stringsdict; sourceTree = ""; }; @@ -1283,7 +1284,7 @@ 25F7FE40EF7490A7E09D7BE6 /* NotificationItemProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationItemProxy.swift; sourceTree = ""; }; 25F8664F1FB95AF3C4202478 /* PollFormScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollFormScreenCoordinator.swift; sourceTree = ""; }; 260004737C573A56FA01E86E /* Encodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Encodable.swift; sourceTree = ""; }; - 267BB1D5B08A9511F894CB57 /* PreviewTests.xctestplan */ = {isa = PBXFileReference; path = PreviewTests.xctestplan; sourceTree = ""; }; + 267BB1D5B08A9511F894CB57 /* PreviewTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = PreviewTests.xctestplan; sourceTree = ""; }; 26B0A96B8FE4849227945067 /* VoiceMessageRecorder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VoiceMessageRecorder.swift; sourceTree = ""; }; 26EAAB54C6CE91D64B69A9F8 /* AppLockServiceProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppLockServiceProtocol.swift; sourceTree = ""; }; 2721D7B051F0159AA919DA05 /* RoomChangePermissionsScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomChangePermissionsScreenViewModelProtocol.swift; sourceTree = ""; }; @@ -1340,7 +1341,7 @@ 3558A15CFB934F9229301527 /* RestorationToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RestorationToken.swift; sourceTree = ""; }; 35AFCF4C05DEED04E3DB1A16 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; 35FA991289149D31F4286747 /* UserPreference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserPreference.swift; sourceTree = ""; }; - 36DA824791172B9821EACBED /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 36DA824791172B9821EACBED /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 36FD673E24FBFCFDF398716A /* RoomMemberProxyMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomMemberProxyMock.swift; sourceTree = ""; }; 376D941BF8BB294389C0DE24 /* MapTilerURLBuildersTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapTilerURLBuildersTests.swift; sourceTree = ""; }; 37A243E04B58DC6E41FDCD82 /* EmojiItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiItem.swift; sourceTree = ""; }; @@ -1661,6 +1662,7 @@ 8977176AB534AA41630395BC /* LegalInformationScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegalInformationScreenViewModelProtocol.swift; sourceTree = ""; }; 897DF5E9A70CE05A632FC8AF /* UTType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UTType.swift; sourceTree = ""; }; 89AAEA70CFF3284920811941 /* RoomChangePermissionsScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomChangePermissionsScreen.swift; sourceTree = ""; }; + 89FBFC09F9DAFF1E4BA97849 /* FormButtonStyles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormButtonStyles.swift; sourceTree = ""; }; 8AE0C9653870803E4F91F474 /* RoomListFiltersStateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomListFiltersStateTests.swift; sourceTree = ""; }; 8AE78FA0011E07920AE83135 /* PlainMentionBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlainMentionBuilder.swift; sourceTree = ""; }; 8AFCE895ECFFA53FEE64D62B /* MediaLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaLoader.swift; sourceTree = ""; }; @@ -1672,7 +1674,7 @@ 8D55702474F279D910D2D162 /* RoomStateEventStringBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomStateEventStringBuilder.swift; sourceTree = ""; }; 8D8169443E5AC5FF71BFB3DB /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = ""; }; 8DC2C9E0E15C79BBDA80F0A2 /* TimelineStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineStyle.swift; sourceTree = ""; }; - 8E088F2A1B9EC529D3221931 /* UITests.xctestplan */ = {isa = PBXFileReference; path = UITests.xctestplan; sourceTree = ""; }; + 8E088F2A1B9EC529D3221931 /* UITests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = UITests.xctestplan; sourceTree = ""; }; 8F21ED7205048668BEB44A38 /* AppActivityView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppActivityView.swift; sourceTree = ""; }; 8F6210134203BE1F2DD5C679 /* RoomDirectoryCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomDirectoryCell.swift; sourceTree = ""; }; 8F841F219ACDFC1D3F42FEFB /* RoomChangeRolesScreenViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomChangeRolesScreenViewModelTests.swift; sourceTree = ""; }; @@ -1700,7 +1702,6 @@ 94BCC8A9C73C1F838122C645 /* TimelineItemPlainStylerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineItemPlainStylerView.swift; sourceTree = ""; }; 94D670124FC3E84F23A62CCF /* APNSPayload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APNSPayload.swift; sourceTree = ""; }; 9501D11B4258DFA33BA3B40F /* ServerSelectionScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerSelectionScreenModels.swift; sourceTree = ""; }; - 95A1CCDEE545CB6453B084BF /* FormButtonStyles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormButtonStyles.swift; sourceTree = ""; }; 95BAC0F6C9644336E9567EE6 /* NSRegularExpresion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSRegularExpresion.swift; sourceTree = ""; }; 969694F67E844FCA51F7E051 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = ""; }; 96C4762F8D6112E43117DB2F /* CustomStringConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomStringConvertible.swift; sourceTree = ""; }; @@ -1828,7 +1829,7 @@ B53AC78E49A297AC1D72A7CF /* AppMediator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppMediator.swift; sourceTree = ""; }; B590BD4507D4F0A377FDE01A /* LoadableAvatarImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadableAvatarImage.swift; sourceTree = ""; }; B5B243E7818E5E9F6A4EDC7A /* NoticeRoomTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoticeRoomTimelineView.swift; sourceTree = ""; }; - B61C339A2FDDBD067FF6635C /* ConfettiScene.scn */ = {isa = PBXFileReference; path = ConfettiScene.scn; sourceTree = ""; }; + B61C339A2FDDBD067FF6635C /* ConfettiScene.scn */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = ConfettiScene.scn; sourceTree = ""; }; B6311F21F911E23BE4DF51B4 /* ReadMarkerRoomTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReadMarkerRoomTimelineView.swift; sourceTree = ""; }; B63B69F9A2BC74DD40DC75C8 /* AdvancedSettingsScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdvancedSettingsScreenViewModel.swift; sourceTree = ""; }; B6404166CBF5CC88673FF9E2 /* RoomDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomDetails.swift; sourceTree = ""; }; @@ -1939,7 +1940,7 @@ CE47A97726F0675DEE387BF9 /* TypingIndicatorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypingIndicatorView.swift; sourceTree = ""; }; CEE0E6043EFCF6FD2A341861 /* TimelineReplyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineReplyView.swift; sourceTree = ""; }; CEE20623EB4A9B88FB29F2BA /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/SAS.strings; sourceTree = ""; }; - CEE41494C837AA403A06A5D9 /* UnitTests.xctestplan */ = {isa = PBXFileReference; path = UnitTests.xctestplan; sourceTree = ""; }; + CEE41494C837AA403A06A5D9 /* UnitTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = UnitTests.xctestplan; sourceTree = ""; }; CF48AF076424DBC1615C74AD /* AuthenticationServiceProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationServiceProxy.swift; sourceTree = ""; }; D071F86CD47582B9196C9D16 /* UserDiscoverySection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDiscoverySection.swift; sourceTree = ""; }; D086854995173E897F993C26 /* AdvancedSettingsScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdvancedSettingsScreenViewModelProtocol.swift; sourceTree = ""; }; @@ -2060,7 +2061,7 @@ ED044D00F2176681CC02CD54 /* HomeScreenRoomCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeScreenRoomCell.swift; sourceTree = ""; }; ED1D792EB82506A19A72C8DE /* RoomTimelineItemProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomTimelineItemProtocol.swift; sourceTree = ""; }; ED33988DA4FD4FC666800106 /* SessionVerificationScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionVerificationScreenViewModel.swift; sourceTree = ""; }; - ED482057AE39D5C6D9C5F3D8 /* message.caf */ = {isa = PBXFileReference; path = message.caf; sourceTree = ""; }; + ED482057AE39D5C6D9C5F3D8 /* message.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = message.caf; sourceTree = ""; }; ED60E4D2CD678E1EBF16F77A /* BlockedUsersScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockedUsersScreen.swift; sourceTree = ""; }; ED983D4DCA5AFA6E1ED96099 /* StateRoomTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateRoomTimelineView.swift; sourceTree = ""; }; EDAA4472821985BF868CC21C /* ServerSelectionViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerSelectionViewModelTests.swift; sourceTree = ""; }; @@ -2083,7 +2084,7 @@ F174A5627CDB3CAF280D1880 /* EmojiPickerScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiPickerScreenModels.swift; sourceTree = ""; }; F17EFA1D3D09FC2F9C5E1CB2 /* MediaProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaProvider.swift; sourceTree = ""; }; F1B8500C152BC59445647DA8 /* UnsupportedRoomTimelineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnsupportedRoomTimelineItem.swift; sourceTree = ""; }; - F2D513D2477B57F90E98EEC0 /* portrait_test_video.mp4 */ = {isa = PBXFileReference; path = portrait_test_video.mp4; sourceTree = ""; }; + F2D513D2477B57F90E98EEC0 /* portrait_test_video.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = portrait_test_video.mp4; sourceTree = ""; }; F2E4EF80DFB8FE7C4469B15D /* RoomDirectorySearchScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomDirectorySearchScreen.swift; sourceTree = ""; }; F31F59030205A6F65B057E1A /* MatrixEntityRegexTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MatrixEntityRegexTests.swift; sourceTree = ""; }; F348B5F2C12F9D4F4B4D3884 /* VideoRoomTimelineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoRoomTimelineItem.swift; sourceTree = ""; }; @@ -2128,6 +2129,7 @@ FE1E6FAA3719E9B7A2D5510B /* FormattingToolbar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormattingToolbar.swift; sourceTree = ""; }; FE87C931165F5E201CACBB87 /* MediaPlayerProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaPlayerProtocol.swift; sourceTree = ""; }; FF720BA68256297680980481 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + FFEC0A675E39FAC6AF833DDD /* BadgeLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgeLabel.swift; sourceTree = ""; }; FFECCE59967018204876D0A5 /* LocationMarkerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationMarkerView.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -2285,8 +2287,8 @@ children = ( 693E16574C6F7F9FA1015A8C /* Search.swift */, E2DA161C142B7AB8CC40F752 /* Animation */, - 1BC3028DDD0C27AE5318FEDC /* Form Styles */, CE2FBFD64A89F5DBE4EB30DB /* Layout */, + E6E1D07163F8752D62DA4A93 /* Styles */, 10578D9852BA78D309A1CBDF /* ViewModel */, 328DD5DA1281F758B72006C7 /* Views */, ); @@ -2447,14 +2449,6 @@ path = PreviewTests; sourceTree = ""; }; - 1BC3028DDD0C27AE5318FEDC /* Form Styles */ = { - isa = PBXGroup; - children = ( - 95A1CCDEE545CB6453B084BF /* FormButtonStyles.swift */, - ); - path = "Form Styles"; - sourceTree = ""; - }; 1C62F5382CC9D9F7DCEC344A /* UserDiscoveryService */ = { isa = PBXGroup; children = ( @@ -2684,6 +2678,7 @@ 328DD5DA1281F758B72006C7 /* Views */ = { isa = PBXGroup; children = ( + FFEC0A675E39FAC6AF833DDD /* BadgeLabel.swift */, 8F21ED7205048668BEB44A38 /* AppActivityView.swift */, CC743C7A85E3171BCBF0A653 /* AvatarHeaderView.swift */, C1FA515B3B0D61EF1E907D2D /* BadgeView.swift */, @@ -4923,6 +4918,14 @@ path = Sources; sourceTree = ""; }; + E6E1D07163F8752D62DA4A93 /* Styles */ = { + isa = PBXGroup; + children = ( + 89FBFC09F9DAFF1E4BA97849 /* FormButtonStyles.swift */, + ); + path = Styles; + sourceTree = ""; + }; E703BBD16266053B8A193C7B /* RoomDetailsScreen */ = { isa = PBXGroup; children = ( @@ -5888,6 +5891,7 @@ 6146996D5C4DDD5DA816FC87 /* AuthenticationTextFieldStyle.swift in Sources */, 4AAA8606FBA290E23D15422E /* AvatarHeaderView.swift in Sources */, D876EC0FED3B6D46C806912A /* AvatarSize.swift in Sources */, + 1D2B3DBBD2E3F5023C35CB33 /* BadgeLabel.swift in Sources */, A4B0BAD62A12ED76BD611B79 /* BadgeView.swift in Sources */, 38546A6010A2CF240EC9AF73 /* BindableState.swift in Sources */, EB9F4688006B52E69DF5358F /* BlankFormCoordinator.swift in Sources */, @@ -5993,7 +5997,7 @@ 37D789F24199B32E3FD1AA7B /* FileRoomTimelineItemContent.swift in Sources */, 1F04C63D4FA95948E3F52147 /* FileRoomTimelineView.swift in Sources */, F5D2270B5021D521C0D22E11 /* FlowCoordinatorProtocol.swift in Sources */, - B3EDDEC1839BB5A3747624BB /* FormButtonStyles.swift in Sources */, + 18E3786918486D4C9726BC84 /* FormButtonStyles.swift in Sources */, A0A0D2A9564BDA3FDE2E360F /* FormattedBodyText.swift in Sources */, 7807B1DEE32617896886A8E5 /* FormattingToolbar.swift in Sources */, 46BA7F4B4D3A7164DED44B88 /* FullscreenDialog.swift in Sources */, @@ -6763,9 +6767,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = "$(MARKETING_VERSION)"; - OTHER_SWIFT_FLAGS = ( - "-DIS_NSE", - ); + OTHER_SWIFT_FLAGS = "-DIS_NSE"; PRODUCT_BUNDLE_IDENTIFIER = "${BASE_BUNDLE_IDENTIFIER}.nse"; PRODUCT_DISPLAY_NAME = "$(APP_DISPLAY_NAME)"; PRODUCT_NAME = NSE; @@ -6814,9 +6816,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = "$(MARKETING_VERSION)"; - OTHER_SWIFT_FLAGS = ( - "-DIS_MAIN_APP", - ); + OTHER_SWIFT_FLAGS = "-DIS_MAIN_APP"; PILLS_UT_TYPE_IDENTIFIER = "$(BASE_BUNDLE_IDENTIFIER).pills"; PRODUCT_BUNDLE_IDENTIFIER = "$(BASE_BUNDLE_IDENTIFIER)"; PRODUCT_NAME = "$(APP_NAME)"; @@ -6842,9 +6842,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = "$(MARKETING_VERSION)"; - OTHER_SWIFT_FLAGS = ( - "-DIS_MAIN_APP", - ); + OTHER_SWIFT_FLAGS = "-DIS_MAIN_APP"; PILLS_UT_TYPE_IDENTIFIER = "$(BASE_BUNDLE_IDENTIFIER).pills"; PRODUCT_BUNDLE_IDENTIFIER = "$(BASE_BUNDLE_IDENTIFIER)"; PRODUCT_NAME = "$(APP_NAME)"; @@ -7089,9 +7087,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = "$(MARKETING_VERSION)"; - OTHER_SWIFT_FLAGS = ( - "-DIS_NSE", - ); + OTHER_SWIFT_FLAGS = "-DIS_NSE"; PRODUCT_BUNDLE_IDENTIFIER = "${BASE_BUNDLE_IDENTIFIER}.nse"; PRODUCT_DISPLAY_NAME = "$(APP_DISPLAY_NAME)"; PRODUCT_NAME = NSE; @@ -7420,7 +7416,7 @@ repositoryURL = "https://github.com/element-hq/compound-ios"; requirement = { kind = revision; - revision = 259b94104ce799725b9d140c6508312ee475d0a8; + revision = c1b9c32fef5f98f90bd1856cce327770297226b1; }; }; F76A08D0EA29A07A54F4EB4D /* XCRemoteSwiftPackageReference "swift-collections" */ = { diff --git a/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index e4456a991..d3c347051 100644 --- a/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -14,7 +14,7 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/element-hq/compound-ios", "state" : { - "revision" : "259b94104ce799725b9d140c6508312ee475d0a8" + "revision" : "c1b9c32fef5f98f90bd1856cce327770297226b1" } }, { diff --git a/ElementX/Resources/Localizations/en.lproj/Localizable.strings b/ElementX/Resources/Localizations/en.lproj/Localizable.strings index 03cc5b163..bcd54fddf 100644 --- a/ElementX/Resources/Localizations/en.lproj/Localizable.strings +++ b/ElementX/Resources/Localizations/en.lproj/Localizable.strings @@ -499,11 +499,12 @@ "screen_qr_code_login_connection_note_secure_state_title" = "Connection not secure"; "screen_qr_code_login_device_code_subtitle" = "You’ll be asked to enter the two digits shown on this device."; "screen_qr_code_login_device_code_title" = "Enter the number below on your other device"; +"screen_qr_code_login_initial_state_button_title" = "Ready to scan"; "screen_qr_code_login_initial_state_item_1" = "Open %1$@ on a desktop device"; "screen_qr_code_login_initial_state_item_2" = "Click on your avatar"; "screen_qr_code_login_initial_state_item_3" = "Select %1$@"; "screen_qr_code_login_initial_state_item_3_action" = "“Link new device”"; -"screen_qr_code_login_initial_state_item_4" = "Follow the instructions shown"; +"screen_qr_code_login_initial_state_item_4" = "Scan the QR code with this device"; "screen_qr_code_login_initial_state_title" = "Open %1$@ on another device to get the QR code"; "screen_qr_code_login_invalid_scan_state_description" = "Use the QR code shown on the other device."; "screen_qr_code_login_invalid_scan_state_subtitle" = "Wrong QR code"; @@ -579,6 +580,9 @@ "screen_room_details_add_topic_title" = "Add topic"; "screen_room_details_already_a_member" = "Already a member"; "screen_room_details_already_invited" = "Already invited"; +"screen_room_details_badge_encrypted" = "Encrypted"; +"screen_room_details_badge_not_encrypted" = "Not encrypted"; +"screen_room_details_badge_public" = "Public room"; "screen_room_details_edit_room_title" = "Edit Room"; "screen_room_details_edition_error" = "There was an unknown error and the information couldn't be changed."; "screen_room_details_edition_error_title" = "Unable to update room"; diff --git a/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift b/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift index 384a0b2d2..d8d2c660a 100644 --- a/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift +++ b/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift @@ -710,6 +710,8 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol { stateMachine.tryEvent(.presentPollsHistory) case .presentRolesAndPermissionsScreen: stateMachine.tryEvent(.presentRolesAndPermissionsScreen) + case .presentCall: + actionsSubject.send(.presentCallScreen(roomProxy: roomProxy)) } } .store(in: &cancellables) diff --git a/ElementX/Sources/Generated/Strings.swift b/ElementX/Sources/Generated/Strings.swift index 1714f85c6..3f3b5192f 100644 --- a/ElementX/Sources/Generated/Strings.swift +++ b/ElementX/Sources/Generated/Strings.swift @@ -1219,6 +1219,8 @@ internal enum L10n { internal static var screenQrCodeLoginDeviceCodeSubtitle: String { return L10n.tr("Localizable", "screen_qr_code_login_device_code_subtitle") } /// Enter the number below on your other device internal static var screenQrCodeLoginDeviceCodeTitle: String { return L10n.tr("Localizable", "screen_qr_code_login_device_code_title") } + /// Ready to scan + internal static var screenQrCodeLoginInitialStateButtonTitle: String { return L10n.tr("Localizable", "screen_qr_code_login_initial_state_button_title") } /// Open %1$@ on a desktop device internal static func screenQrCodeLoginInitialStateItem1(_ p1: Any) -> String { return L10n.tr("Localizable", "screen_qr_code_login_initial_state_item_1", String(describing: p1)) @@ -1231,7 +1233,7 @@ internal enum L10n { } /// “Link new device” internal static var screenQrCodeLoginInitialStateItem3Action: String { return L10n.tr("Localizable", "screen_qr_code_login_initial_state_item_3_action") } - /// Follow the instructions shown + /// Scan the QR code with this device internal static var screenQrCodeLoginInitialStateItem4: String { return L10n.tr("Localizable", "screen_qr_code_login_initial_state_item_4") } /// Open %1$@ on another device to get the QR code internal static func screenQrCodeLoginInitialStateTitle(_ p1: Any) -> String { @@ -1409,6 +1411,12 @@ internal enum L10n { internal static var screenRoomDetailsAlreadyAMember: String { return L10n.tr("Localizable", "screen_room_details_already_a_member") } /// Already invited internal static var screenRoomDetailsAlreadyInvited: String { return L10n.tr("Localizable", "screen_room_details_already_invited") } + /// Encrypted + internal static var screenRoomDetailsBadgeEncrypted: String { return L10n.tr("Localizable", "screen_room_details_badge_encrypted") } + /// Not encrypted + internal static var screenRoomDetailsBadgeNotEncrypted: String { return L10n.tr("Localizable", "screen_room_details_badge_not_encrypted") } + /// Public room + internal static var screenRoomDetailsBadgePublic: String { return L10n.tr("Localizable", "screen_room_details_badge_public") } /// Edit Room internal static var screenRoomDetailsEditRoomTitle: String { return L10n.tr("Localizable", "screen_room_details_edit_room_title") } /// There was an unknown error and the information couldn't be changed. diff --git a/ElementX/Sources/Other/SwiftUI/Form Styles/FormButtonStyles.swift b/ElementX/Sources/Other/SwiftUI/Styles/FormButtonStyles.swift similarity index 100% rename from ElementX/Sources/Other/SwiftUI/Form Styles/FormButtonStyles.swift rename to ElementX/Sources/Other/SwiftUI/Styles/FormButtonStyles.swift diff --git a/ElementX/Sources/Other/SwiftUI/Views/AvatarHeaderView.swift b/ElementX/Sources/Other/SwiftUI/Views/AvatarHeaderView.swift index 088cfb0d1..8dc6763bc 100644 --- a/ElementX/Sources/Other/SwiftUI/Views/AvatarHeaderView.swift +++ b/ElementX/Sources/Other/SwiftUI/Views/AvatarHeaderView.swift @@ -17,10 +17,16 @@ import SwiftUI struct AvatarHeaderView: View { + private enum Badge: Hashable { + case encrypted(Bool) + case `public` + } + let id: String let name: String? let subtitle: String? let avatarURL: URL? + private let badges: [Badge] let avatarSize: AvatarSize let imageProvider: ImageProviderProtocol? @@ -41,6 +47,13 @@ struct AvatarHeaderView: View { self.imageProvider = imageProvider self.onAvatarTap = onAvatarTap self.footer = footer + + var badges = [Badge]() + badges.append(.encrypted(room.isEncrypted)) + if room.isPublic { + badges.append(.public) + } + self.badges = badges } init(member: RoomMemberDetails, @@ -57,6 +70,7 @@ struct AvatarHeaderView: View { self.imageProvider = imageProvider self.onAvatarTap = onAvatarTap self.footer = footer + badges = [] } init(user: UserProfileProxy, @@ -73,6 +87,30 @@ struct AvatarHeaderView: View { self.imageProvider = imageProvider self.onAvatarTap = onAvatarTap self.footer = footer + badges = [] + } + + private var badgesStack: some View { + HStack(spacing: 8) { + ForEach(badges, id: \.self) { badge in + switch badge { + case .encrypted(let isEncrypted): + if isEncrypted { + BadgeLabel(title: L10n.screenRoomDetailsBadgeEncrypted, + icon: \.lockSolid, + isHighlighted: true) + } else { + BadgeLabel(title: L10n.screenRoomDetailsBadgeNotEncrypted, + icon: \.lockOff, + isHighlighted: false) + } + case .public: + BadgeLabel(title: L10n.screenRoomDetailsBadgePublic, + icon: \.public, + isHighlighted: false) + } + } + } } var body: some View { @@ -102,6 +140,10 @@ struct AvatarHeaderView: View { .textSelection(.enabled) } + if !badges.isEmpty { + badgesStack + } + footer() } .frame(maxWidth: .infinity, alignment: .center) @@ -119,7 +161,9 @@ struct AvatarHeaderView_Previews: PreviewProvider, TestablePreview { AvatarHeaderView(room: .init(id: "@test:matrix.org", name: "Test Room", avatarURL: URL.picturesDirectory, - canonicalAlias: "#test:matrix.org"), + canonicalAlias: "#test:matrix.org", + isEncrypted: true, + isPublic: true), avatarSize: .room(on: .details), imageProvider: MockMediaProvider()) { HStack(spacing: 32) { diff --git a/ElementX/Sources/Other/SwiftUI/Views/BadgeLabel.swift b/ElementX/Sources/Other/SwiftUI/Views/BadgeLabel.swift new file mode 100644 index 000000000..e50ace125 --- /dev/null +++ b/ElementX/Sources/Other/SwiftUI/Views/BadgeLabel.swift @@ -0,0 +1,75 @@ +// +// Copyright 2024 New Vector Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +import Compound +import SwiftUI + +struct BadgeLabel: View { + let title: String + let icon: KeyPath + let isHighlighted: Bool + + var body: some View { + Label(title, + icon: icon, + iconSize: .xSmall, + relativeTo: .compound.bodySM) + .labelStyle(BadgeLabelStyle(isHighlighted: isHighlighted)) + } +} + +private struct BadgeLabelStyle: LabelStyle { + let isHighlighted: Bool + + var titleColor: Color { + isHighlighted ? .compound._badgeTextSuccess : .compound._badgeTextSubtle + } + + var iconColor: Color { + isHighlighted ? .compound.iconSuccessPrimary : .compound.iconSecondary + } + + var backgroundColor: Color { + isHighlighted ? .compound._bgBadgeSuccess : .compound.bgSubtlePrimary + } + + func makeBody(configuration: Configuration) -> some View { + HStack(spacing: 4) { + configuration.icon + .foregroundStyle(iconColor) + configuration.title + .foregroundStyle(titleColor) + } + .font(.compound.bodySM) + .padding(.leading, 8) + .padding(.trailing, 12) + .padding(.vertical, 4) + .background(Capsule().fill(backgroundColor)) + } +} + +struct BadgeLabel_Previews: PreviewProvider, TestablePreview { + static var previews: some View { + VStack(spacing: 10) { + BadgeLabel(title: "Encrypted", + icon: \.lockSolid, + isHighlighted: true) + BadgeLabel(title: "Not encrypted", + icon: \.lockSolid, + isHighlighted: false) + } + } +} diff --git a/ElementX/Sources/Screens/JoinRoomScreen/View/JoinRoomScreen.swift b/ElementX/Sources/Screens/JoinRoomScreen/View/JoinRoomScreen.swift index 8e8ee5f8a..f25f0637e 100644 --- a/ElementX/Sources/Screens/JoinRoomScreen/View/JoinRoomScreen.swift +++ b/ElementX/Sources/Screens/JoinRoomScreen/View/JoinRoomScreen.swift @@ -56,12 +56,7 @@ struct JoinRoomScreen: View { } if let memberCount = context.viewState.roomDetails?.memberCount { - Label("\(memberCount)", icon: \.userProfile, iconSize: .small, relativeTo: .compound.bodySMSemibold) - .font(.compound.bodySMSemibold) - .foregroundStyle(.compound.textSecondary) - .padding(4) - .background(Capsule().fill(.compound.bgSubtleSecondary)) - .labelStyle(.custom(spacing: 4)) + BadgeLabel(title: "\(memberCount)", icon: \.userProfile, isHighlighted: false) } if let topic = context.viewState.roomDetails?.topic { diff --git a/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenCoordinator.swift b/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenCoordinator.swift index d556a60dd..9fc7c5530 100644 --- a/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenCoordinator.swift +++ b/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenCoordinator.swift @@ -35,6 +35,7 @@ enum RoomDetailsScreenCoordinatorAction { case presentInviteUsersScreen case presentPollsHistory case presentRolesAndPermissionsScreen + case presentCall } final class RoomDetailsScreenCoordinator: CoordinatorProtocol { @@ -79,6 +80,8 @@ final class RoomDetailsScreenCoordinator: CoordinatorProtocol { actionsSubject.send(.presentPollsHistory) case .requestRolesAndPermissionsPresentation: actionsSubject.send(.presentRolesAndPermissionsScreen) + case .startCall: + actionsSubject.send(.presentCall) } } .store(in: &cancellables) diff --git a/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenModels.swift b/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenModels.swift index 4fb732747..ed5517442 100644 --- a/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenModels.swift +++ b/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenModels.swift @@ -29,6 +29,7 @@ enum RoomDetailsScreenViewModelAction { case requestEditDetailsPresentation case requestPollsHistoryPresentation case requestRolesAndPermissionsPresentation + case startCall } // MARK: View @@ -50,6 +51,7 @@ struct RoomDetailsScreenViewState: BindableState { var canEditRoomAvatar = false var canEditRolesOrPermissions = false var notificationSettingsState: RoomDetailsNotificationSettingsState = .loading + var canJoinCall = false var canEdit: Bool { !isDirect && (canEditRoomName || canEditRoomTopic || canEditRoomAvatar) @@ -65,6 +67,12 @@ struct RoomDetailsScreenViewState: BindableState { var shortcuts: [RoomDetailsScreenViewShortcut] { var shortcuts: [RoomDetailsScreenViewShortcut] = [.mute] + if !ProcessInfo.processInfo.isiOSAppOnMac, canJoinCall { + shortcuts.append(.call) + } + if dmRecipient == nil, canInviteUsers { + shortcuts.append(.invite) + } if let permalink = dmRecipient?.permalink { shortcuts.append(.share(link: permalink)) } else if let permalink { @@ -184,11 +192,14 @@ enum RoomDetailsScreenViewAction { case processTapPolls case toggleFavourite(isFavourite: Bool) case processTapRolesAndPermissions + case processTapCall } enum RoomDetailsScreenViewShortcut { case share(link: URL) case mute + case call + case invite } extension RoomDetailsScreenViewShortcut: Hashable { } diff --git a/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenViewModel.swift b/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenViewModel.swift index a93408c05..391248924 100644 --- a/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenViewModel.swift +++ b/ElementX/Sources/Screens/RoomDetailsScreen/RoomDetailsScreenViewModel.swift @@ -63,6 +63,13 @@ class RoomDetailsScreenViewModel: RoomDetailsScreenViewModelType, RoomDetailsScr bindings: .init()), imageProvider: mediaProvider) + Task { + let userID = roomProxy.ownUserID + if case let .success(permission) = await roomProxy.canUserJoinCall(userID: userID) { + state.canJoinCall = permission + } + } + Task { if case let .success(permalinkURL) = await roomProxy.matrixToPermalink() { state.permalink = permalinkURL @@ -126,6 +133,8 @@ class RoomDetailsScreenViewModel: RoomDetailsScreenViewModelType, RoomDetailsScr Task { await toggleFavourite(isFavourite) } case .processTapRolesAndPermissions: actionsSubject.send(.requestRolesAndPermissionsPresentation) + case .processTapCall: + actionsSubject.send(.startCall) } } diff --git a/ElementX/Sources/Screens/RoomDetailsScreen/View/RoomDetailsScreen.swift b/ElementX/Sources/Screens/RoomDetailsScreen/View/RoomDetailsScreen.swift index c8e3320d2..165946c3e 100644 --- a/ElementX/Sources/Screens/RoomDetailsScreen/View/RoomDetailsScreen.swift +++ b/ElementX/Sources/Screens/RoomDetailsScreen/View/RoomDetailsScreen.swift @@ -107,6 +107,20 @@ struct RoomDetailsScreen: View { CompoundIcon(\.shareIos) } .buttonStyle(FormActionButtonStyle(title: L10n.actionShare)) + case .call: + Button { + context.send(viewAction: .processTapCall) + } label: { + CompoundIcon(\.videoCall) + } + .buttonStyle(FormActionButtonStyle(title: L10n.actionCall)) + case .invite: + Button { + context.send(viewAction: .processTapInvite) + } label: { + CompoundIcon(\.userAdd) + } + .buttonStyle(FormActionButtonStyle(title: L10n.actionInvite)) } } } @@ -152,15 +166,6 @@ struct RoomDetailsScreen: View { context.send(viewAction: .processTapPeople) }) .accessibilityIdentifier(A11yIdentifiers.roomDetailsScreen.people) - - if context.viewState.canInviteUsers { - ListRow(label: .default(title: L10n.screenRoomDetailsInvitePeopleTitle, - icon: \.userAdd), - kind: .navigationLink { - context.send(viewAction: .processTapInvite) - }) - .accessibilityIdentifier(A11yIdentifiers.roomDetailsScreen.invite) - } } ListRow(label: .default(title: L10n.screenPollsHistoryTitle, icon: \.polls), diff --git a/ElementX/Sources/Services/Room/RoomDetails.swift b/ElementX/Sources/Services/Room/RoomDetails.swift index e5b86dff4..c6e757e07 100644 --- a/ElementX/Sources/Services/Room/RoomDetails.swift +++ b/ElementX/Sources/Services/Room/RoomDetails.swift @@ -21,4 +21,6 @@ struct RoomDetails { let name: String? let avatarURL: URL? let canonicalAlias: String? + let isEncrypted: Bool + let isPublic: Bool } diff --git a/ElementX/Sources/Services/Room/RoomProxyProtocol.swift b/ElementX/Sources/Services/Room/RoomProxyProtocol.swift index 2cf03dfe4..67b9f452f 100644 --- a/ElementX/Sources/Services/Room/RoomProxyProtocol.swift +++ b/ElementX/Sources/Services/Room/RoomProxyProtocol.swift @@ -141,7 +141,9 @@ extension RoomProxyProtocol { RoomDetails(id: id, name: name, avatarURL: avatarURL, - canonicalAlias: canonicalAlias) + canonicalAlias: canonicalAlias, + isEncrypted: isEncrypted, + isPublic: isPublic) } // Avoids to duplicate the same logic around in the app diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPad-en-GB.Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPad-en-GB.Room.png index 05ef8b717..9d845e388 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPad-en-GB.Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPad-en-GB.Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5b9f5e0db05f4beda9e4d7cd08c8a353a85c64a21988c6c9ec71956b4444eae -size 124255 +oid sha256:98190b28f5a338df5835b3dd379e3ca34acb93fd6bbd3f31d0a8cca49205e595 +size 134967 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPad-pseudo.Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPad-pseudo.Room.png index 05ef8b717..6c34b2df0 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPad-pseudo.Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPad-pseudo.Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5b9f5e0db05f4beda9e4d7cd08c8a353a85c64a21988c6c9ec71956b4444eae -size 124255 +oid sha256:2fd3f5a82ad4646c292817e0cf8d952326e94bccf644e24587366cffeb7db137 +size 142181 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPhone-15-en-GB.Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPhone-15-en-GB.Room.png index 52a1c5cc6..d5c05d8af 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPhone-15-en-GB.Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPhone-15-en-GB.Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c04d77ffec96df07cbbe034347a267f56c832d1fccac0d8fde0c9a592525349 -size 73216 +oid sha256:3a0a8c2b9327fd2a01df57d134757f1cf2a197b94f12323c6c399732518fcfa3 +size 82683 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPhone-15-pseudo.Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPhone-15-pseudo.Room.png index 52a1c5cc6..a5bb86ee1 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPhone-15-pseudo.Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_avatarHeaderView-iPhone-15-pseudo.Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c04d77ffec96df07cbbe034347a267f56c832d1fccac0d8fde0c9a592525349 -size 73216 +oid sha256:2a361f5926d484a00558594fd4ee9d5f39b059136929a8f0a0a7fa762d863be8 +size 91565 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPad-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPad-en-GB.1.png new file mode 100644 index 000000000..d1bdf8959 --- /dev/null +++ b/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPad-en-GB.1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aca0294e51fb455abaf02c9783b8aac6ee855994997d69545b6cb796d6cb2e62 +size 79168 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPad-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPad-pseudo.1.png new file mode 100644 index 000000000..d1bdf8959 --- /dev/null +++ b/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPad-pseudo.1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aca0294e51fb455abaf02c9783b8aac6ee855994997d69545b6cb796d6cb2e62 +size 79168 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPhone-15-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPhone-15-en-GB.1.png new file mode 100644 index 000000000..31912ef57 --- /dev/null +++ b/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPhone-15-en-GB.1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56d470d206796f188e6035f34899f874001bbfcf2c6bc70505203aa03a216ad3 +size 39241 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPhone-15-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPhone-15-pseudo.1.png new file mode 100644 index 000000000..31912ef57 --- /dev/null +++ b/PreviewTests/__Snapshots__/PreviewTests/test_badgeLabel-iPhone-15-pseudo.1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56d470d206796f188e6035f34899f874001bbfcf2c6bc70505203aa03a216ad3 +size 39241 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Invite.png b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Invite.png index 35b9b02f7..755757e03 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Invite.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Invite.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:24240c615369ecec63deb00d7e3c769e53c3f32e058d8b2f9bb6acb80703bf59 -size 2090752 +oid sha256:536ece06ee525f55d948f26cbed3b3387b7a5a6ce3c5c9aa1bf4830d5beb3e83 +size 2089470 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Join.png b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Join.png index 496f6f0b8..d8b8ced47 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Join.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-en-GB.Join.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ded60f53fc4f83eab959054963650e401f89835d490c1abec2e19116811b186 -size 2055404 +oid sha256:93e5888178b3ddeccc4edd6d85e31a80fcb1eef13529ed117dd6f0cea143dbc7 +size 2054122 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Invite.png b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Invite.png index d943d87aa..eec50455a 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Invite.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Invite.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd441ec297bd47099d7725da0ada2d55fa13d3eea842efe09c51495a4263ce7d -size 2096043 +oid sha256:c3a5c2c9606f4c60ac4cbe02550c5865542ac802119d09352e76f7422b3a2bfb +size 2094761 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Join.png b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Join.png index 26936f688..b6018d1b4 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Join.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPad-pseudo.Join.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:148dd7600b3cb26e80ab3c842167e20fcada4b2f6494396b7766c75763a23729 -size 2060058 +oid sha256:2801d154c5787b762ddee15272d04b591a0339a0e0a62913c4330a6356362c2c +size 2058776 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-en-GB.Invite.png b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-en-GB.Invite.png index 2ab12118b..085380108 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-en-GB.Invite.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-en-GB.Invite.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b0347efd11f230b930e412009b88127743aa2c585cf8a280e1ecea4d29e582a1 -size 856878 +oid sha256:a6d485959da9e1061a0c2ced1b96f45d34dff61189c63a2314cef11e74e9f092 +size 856714 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-en-GB.Join.png b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-en-GB.Join.png index 9c62a0aeb..ff5f117a3 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-en-GB.Join.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-en-GB.Join.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61174c674503c8bb0612198748744b39a32ad4cfff10a86faa270e2f8ceb0592 -size 836264 +oid sha256:6de38b07b6691d95dcb2528bc1199ac6443aba60ae19fa66b24ea73e23ed6739 +size 836100 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-pseudo.Invite.png b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-pseudo.Invite.png index fef0533e5..4ba764e2b 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-pseudo.Invite.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-pseudo.Invite.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03c26dc5009ab9e55549d853911835fcc18e5f36425c9452d280781e2095c893 -size 860959 +oid sha256:fca076ae4aeb5f55ace6e43d6ab0945bf15ba593a42b16049e82f84376b8de1c +size 860795 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-pseudo.Join.png b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-pseudo.Join.png index ae97f1c48..a3bab0cb8 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-pseudo.Join.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_joinRoomScreen-iPhone-15-pseudo.Join.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d31a84c4289bfcad9b57ca493ebb36404560ab160ddf9c6c96806741675316c3 -size 840086 +oid sha256:b3eafa3bd96fdaa2fb538fabe5284a0e3649c9e267ea86d9651990458a41c33d +size 839922 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPad-en-GB.Initial.png b/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPad-en-GB.Initial.png index 75eb8a74b..f1df1983f 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPad-en-GB.Initial.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPad-en-GB.Initial.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03f523382232843f7d362ca4eb658acf38cb1726ba6a0b294eb8985512f89918 -size 175196 +oid sha256:608c132245379fca44da426c23d05e4322d0b5205266c27e8c7f2d702c10c6ab +size 175909 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPad-pseudo.Initial.png b/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPad-pseudo.Initial.png index cf8dcbe01..6ee423fc1 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPad-pseudo.Initial.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPad-pseudo.Initial.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aa2472a479ea29a497ff761d0021f76dc3af627101eb609452dee474dff30750 -size 251125 +oid sha256:0b26435b6414ee0c2782fe084939075016fd26533fc9af16ed7645dd2f3a1347 +size 256639 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPhone-15-en-GB.Initial.png b/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPhone-15-en-GB.Initial.png index c438436d2..a05e87330 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPhone-15-en-GB.Initial.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPhone-15-en-GB.Initial.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:06781777a83780bf94f989addeab77d8c7e35f74ae7cb7419e238e61fc90aac4 -size 122488 +oid sha256:8e19a0e1e323537e6a70da304e0be9bbb11643371793514597e022e0301732ca +size 124161 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPhone-15-pseudo.Initial.png b/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPhone-15-pseudo.Initial.png index f71718ea4..f355079f6 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPhone-15-pseudo.Initial.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_qRCodeLoginScreen-iPhone-15-pseudo.Initial.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9fe78e8e93b20f163ba1420c2d397bdaf147e77ecd7e8a0ae3a443d5abb83f5 -size 188285 +oid sha256:7c1f4e2f5924db1858c2417235b24e3333c3570622b02a85ec1e54e1bcf9504c +size 194638 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.DM-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.DM-Room.png index 8839e9a88..cc104d665 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.DM-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.DM-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:993bde979b9cf5177f1b04069cd5dbb2058fb699f1dd531aa872d3b413cb810c -size 243685 +oid sha256:6de10bafa31813e5bd32e8790c28c7244355c99d1ed48c70331fe2f0d3bfc387 +size 247191 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.Generic-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.Generic-Room.png index 9fb844f82..b5eedeb5e 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.Generic-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.Generic-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:edbb5601a3b3dd48ff43910cad90b1cabff8ea99392d5e406c2ea645801b4b98 -size 235619 +oid sha256:ff13a1c8939009d762fea6ad0c776b2a044283c37eaa516ef5c5bd1a22ddd96a +size 241769 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.Simple-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.Simple-Room.png index 0ab01bad0..42296dbb8 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.Simple-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-en-GB.Simple-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:53f61afa3672b847e50aee527a24c1cdf45b7892fc1155f5fe35e19459a87ddf -size 180791 +oid sha256:3475d5ab74583d37c51b196d16091eaeb2a081ba58c5c8fefcf03bf65bfbe656 +size 186863 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.DM-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.DM-Room.png index 142d0aaa2..2b939163c 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.DM-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.DM-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9308508c97fe4beb9dfede048f625ee56cac2d51dba45eb98770eb55439406bd -size 301330 +oid sha256:1f49ec404487e2d2d8470905f4186ac69f8a14452f157c071f2acb2f6eebdc1e +size 305919 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.Generic-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.Generic-Room.png index 4ae79284a..07caea7e6 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.Generic-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.Generic-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05e5b40e37fd79e246442ac554d1c9524aa69d79c5aa3b3f0c38ae083b8aeb52 -size 282353 +oid sha256:e03ea7a2384db8095efeb014a4aeb8b671ba6acf277bef04c732b1001b0c79c0 +size 290833 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.Simple-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.Simple-Room.png index f158d8940..95e65fe63 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.Simple-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPad-pseudo.Simple-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a84cd11210a1a2ff6ee4b263b6234db0506fa1ddcbf65b313a2a23f4073460d -size 238709 +oid sha256:fd457f2402f743b89afaf8379cac76c493110bf4f4faaadcd0359cf00557db9b +size 244043 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.DM-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.DM-Room.png index 1cca0c810..14e24dd8f 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.DM-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.DM-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:962394bd9d8afb3061818822d1745e43bf79e1cce148fe40ec851bc901afe3cf -size 181482 +oid sha256:f626b25ce39b6126ea5b53b87e8086387e84ab781f659f957061c2f921a7c0e8 +size 184479 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.Generic-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.Generic-Room.png index b49701074..7af52e5bd 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.Generic-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.Generic-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b090ad72c576f703f002b6ae5cbb5b143f491a856eca9b4c02c9bd99b3f2809 -size 160547 +oid sha256:2fa6fe474fbb30b1528e3ba9614f4775f5324c142bd0ec6f3539847a161497d7 +size 165013 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.Simple-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.Simple-Room.png index 5c7103592..ac6e16db8 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.Simple-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-en-GB.Simple-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d1d6105a1c59caf5c6e7edca31faa51667feabde732ef7c9951d2c35937c74cb -size 114559 +oid sha256:710f3ab2b5a85185ab8382ef65bfc6412ae746dcfb15662401e2c3d376a18acc +size 113489 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.DM-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.DM-Room.png index 6c1ff5be3..0f9710591 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.DM-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.DM-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d70f72e041f7e569fd99f7e8a63e62bbb92a2aaedf03cdbd67a158d9fa885145 -size 222061 +oid sha256:7131df0a20e4b6971b2bdef13fc0796fd1cffb37bd4ff4309aa17bd771dfa3a3 +size 226105 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.Generic-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.Generic-Room.png index e06791be2..5b19e1c4d 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.Generic-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.Generic-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eec17eea97add9dec4b238f458905ad40dcdc6f4d302bc3aca6f1f424a30bd3e -size 198643 +oid sha256:c503cb74577e0fa802b48fa82f8b599e9aa8d470f2ea5f9bb732e548d53d381d +size 205753 diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.Simple-Room.png b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.Simple-Room.png index 272d618d1..b200bc9af 100644 --- a/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.Simple-Room.png +++ b/PreviewTests/__Snapshots__/PreviewTests/test_roomDetailsScreen-iPhone-15-pseudo.Simple-Room.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79a57e83b5432cd57652f444c96af0bff54ab20b8fbca663e38261237acc2f2c -size 153273 +oid sha256:19774b3420c4acdc4ba2ddc4312e5dfdab8bdd3c8e5ee2fefa828df4b2796eb7 +size 162838 diff --git a/changelog.d/2812.change b/changelog.d/2812.change new file mode 100644 index 000000000..51e709185 --- /dev/null +++ b/changelog.d/2812.change @@ -0,0 +1 @@ +Room details have been updated. \ No newline at end of file diff --git a/project.yml b/project.yml index 6d5b27b36..0a86df0b0 100644 --- a/project.yml +++ b/project.yml @@ -53,7 +53,7 @@ packages: # path: ../matrix-rust-sdk Compound: url: https://github.com/element-hq/compound-ios - revision: 259b94104ce799725b9d140c6508312ee475d0a8 + revision: c1b9c32fef5f98f90bd1856cce327770297226b1 # path: ../compound-ios AnalyticsEvents: url: https://github.com/matrix-org/matrix-analytics-events