diff --git a/.github/ISSUE_TEMPLATE/config.yaml b/.github/ISSUE_TEMPLATE/config.yaml index ec86670ef4..4d2cf5955e 100644 --- a/.github/ISSUE_TEMPLATE/config.yaml +++ b/.github/ISSUE_TEMPLATE/config.yaml @@ -1,7 +1,7 @@ blank_issues_enabled: true contact_links: - name: Matrix Community Support - url: "https://matrix.to/#/#matrix:matrix.org" + url: "https://matrix.to/#/#matrix:superhero.com" about: General support questions can be asked here. - name: Matrix Security Policy url: https://www.matrix.org/security-disclosure-policy/ diff --git a/ElementX.xcodeproj/project.pbxproj b/ElementX.xcodeproj/project.pbxproj index a6ee7458b5..0fd817e55a 100644 --- a/ElementX.xcodeproj/project.pbxproj +++ b/ElementX.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 56; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -46,6 +46,7 @@ 0C797CD650DFD2876BEC5173 /* CollapsibleReactionLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F7C6DDBB5D12F6EF6A3D6E1 /* CollapsibleReactionLayout.swift */; }; 0C932A5158C1D0604DFC5750 /* ComposerToolbarViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA29952595B804DA221A0C1D /* ComposerToolbarViewModelTests.swift */; }; 0DC815CA24E1BD7F408F37D3 /* CollapsibleTimelineItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C4EA55DA62F9D0F984A2AE /* CollapsibleTimelineItem.swift */; }; + 0DCDF49AB95F75BFC8B1879C /* SwipeToReplyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49E45C3DC740D3AB9A47FD32 /* SwipeToReplyView.swift */; }; 0E08BB72B2258652CF501A8B /* LRUCache in Frameworks */ = {isa = PBXBuildFile; productRef = 78B28D75FF7AF8E6146DEE2A /* LRUCache */; }; 0E8C480700870BB34A2A360F /* DeviceKit in Frameworks */ = {isa = PBXBuildFile; productRef = 4003BC24B24C9E63D3304177 /* DeviceKit */; }; 0EA6537A07E2DC882AEA5962 /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 187853A7E643995EE49FAD43 /* Localizable.stringsdict */; }; @@ -261,6 +262,7 @@ 54AE8860D668AFD96E7E177B /* UITestsScreenIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CEBE5EA91E8691EDF364EC2 /* UITestsScreenIdentifier.swift */; }; 54C774874BED4A8FAD1F22FE /* AnalyticsConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D77B3D4950F1707E66E4A45A /* AnalyticsConfiguration.swift */; }; 55CDD3968D95D1A820B5491E /* PlaceholderAvatarImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = C705E605EF57C19DBE86FFA1 /* PlaceholderAvatarImage.swift */; }; + 562EFB9AB62B38830D9AA778 /* TimelineMediaFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 933B074F006F8E930DB98B4E /* TimelineMediaFrame.swift */; }; 564BF06B3E93D6DD55F903B2 /* CreateRoomCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C618CA2B6C8758B06C88013C /* CreateRoomCoordinator.swift */; }; 565868808A1DA565707394ED /* CurrentValuePublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 127C8472672A5BA09EF1ACF8 /* CurrentValuePublisher.swift */; }; 56BAB81A0D03C2EF09B86294 /* ComposerToolbarModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA188BB0A216D763E46E3279 /* ComposerToolbarModels.swift */; }; @@ -272,6 +274,7 @@ 5897A59DDBD3592282092223 /* MediaSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = D49B9785E3AD7D1C15A29F2F /* MediaSourceProxy.swift */; }; 5995C63B1C61DE1373AA2BCE /* ComposerToolbarViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD95B3714F806AC9CF9A557B /* ComposerToolbarViewModel.swift */; }; 59F940FCBE6BC343AECEF75E /* ImageCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E2245243369B99216C7D84E /* ImageCache.swift */; }; + 5B2D1210B40570D87B11BD3B /* ThreadDecorator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CA3F8E905DF50BF22ECC18F /* ThreadDecorator.swift */; }; 5B6E5AD224509E6C0B520D6E /* RoomMemberDetailsScreenViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DDF49CEBC0DFC59C308335F /* RoomMemberDetailsScreenViewModelProtocol.swift */; }; 5C02841B2A86327B2C377682 /* NotificationConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = C830A64609CBD152F06E0457 /* NotificationConstants.swift */; }; 5C164551F7D26E24F09083D3 /* StaticLocationScreenViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = C616D90B1E2F033CAA325439 /* StaticLocationScreenViewModelProtocol.swift */; }; @@ -358,6 +361,7 @@ 764AFCC225B044CF5F9B41E5 /* PaginationIndicatorRoomTimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42EEA67A6796BDC2761619C5 /* PaginationIndicatorRoomTimelineView.swift */; }; 76BA28216FBAF83B2D86A027 /* InvitesScreenCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA2A71915C1F075E403F559C /* InvitesScreenCell.swift */; }; 7708976CEE6AFB5CFAEFBA68 /* PillTextAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CF1EE0AA78470C674554262 /* PillTextAttachment.swift */; }; + 7719778A682FDAC21445E9C8 /* OnboardingLogo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B0D7955FFB19B584594844B /* OnboardingLogo.swift */; }; 7756C4E90CABE6F14F7920A0 /* BugReportUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6FEA87EA3752203065ECE27 /* BugReportUITests.swift */; }; 77920AFA8091AC6B9F190C90 /* Signposter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 752A0EB49BF5BCEA37EDF7A3 /* Signposter.swift */; }; 77BB228AEA861E50FFD6A228 /* HomeScreenEmptyStateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0FEA560929DD73FFEF8C3DF /* HomeScreenEmptyStateView.swift */; }; @@ -447,8 +451,6 @@ 9095B9E40DB5CF8BA26CE0D8 /* ReactionsSummaryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 153726EDCE1ACBB3D466A916 /* ReactionsSummaryView.swift */; }; 90DF83A6A347F7EE7EDE89EE /* AttributedStringBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF25E364AE85090A70AE4644 /* AttributedStringBuilderTests.swift */; }; 90EB25D13AE6EEF034BDE9D2 /* Assets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71D52BAA5BADB06E5E8C295D /* Assets.swift */; }; - 915C0DB82AB3284300C2C3F6 /* TimelineMediaFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 915C0DB72AB3284300C2C3F6 /* TimelineMediaFrame.swift */; }; - 917D4D6E2AB4C78600349B1E /* OnboardingLogo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 917D4D6D2AB4C78600349B1E /* OnboardingLogo.swift */; }; 91ABC91758A6E4A5FAA2E9C4 /* ReadReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314F1C79850BE46E8ABEAFCB /* ReadReceipt.swift */; }; 92133B170A1F917685E9FF78 /* OnboardingScreenUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D168471461717AF5689F64B /* OnboardingScreenUITests.swift */; }; 9219640F4D980CFC5FE855AD /* target.yml in Resources */ = {isa = PBXBuildFile; fileRef = 536E72DCBEEC4A1FE66CFDCE /* target.yml */; }; @@ -529,10 +531,8 @@ A680F54935A6ADEA4ED6C38F /* TimelineItemStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4C9547BBFEEF30AA11329B /* TimelineItemStatusView.swift */; }; A6D4C5EEA85A6A0ABA1559D6 /* RoomDetailsEditScreenModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16D09C79746BDCD9173EB3A7 /* RoomDetailsEditScreenModels.swift */; }; A6DEC1ADEC8FEEC206A0FA37 /* AttributedStringBuilderProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72F37B5DA798C9AE436F2C2C /* AttributedStringBuilderProtocol.swift */; }; + A722F426FD81FC67706BB1E0 /* CustomLayoutLabelStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42236480CF0431535EBE8387 /* CustomLayoutLabelStyle.swift */; }; A74438ED16F8683A4B793E6A /* AnalyticsSettingsScreenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BCE3FAF40932AC7C7639AC4 /* AnalyticsSettingsScreenViewModel.swift */; }; - A762491F2AAF6EA800ADB9E6 /* CustomLayoutLabelStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = A762491E2AAF6EA800ADB9E6 /* CustomLayoutLabelStyle.swift */; }; - A76249212AB1F56400ADB9E6 /* ThreadDecorator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A76249202AB1F56400ADB9E6 /* ThreadDecorator.swift */; }; - A76249232AB2064800ADB9E6 /* SwipeToReplyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A76249222AB2064800ADB9E6 /* SwipeToReplyView.swift */; }; A7D48E44D485B143AADDB77D /* Strings+Untranslated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A18F6CE4D694D21E4EA9B25 /* Strings+Untranslated.swift */; }; A7FD7B992E6EE6E5A8429197 /* RoomSummaryDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 142808B69851451AC32A2CEA /* RoomSummaryDetails.swift */; }; A816F7087C495D85048AC50E /* RoomMemberDetailsScreenModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B6E30BB748F3F480F077969 /* RoomMemberDetailsScreenModels.swift */; }; @@ -931,7 +931,7 @@ 127C8472672A5BA09EF1ACF8 /* CurrentValuePublisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentValuePublisher.swift; sourceTree = ""; }; 12EDAFB64FA5F6812D54F39A /* MigrationScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MigrationScreenViewModel.swift; sourceTree = ""; }; 12F1E7F9C2BE8BB751037826 /* WaitlistScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaitlistScreenCoordinator.swift; sourceTree = ""; }; - 1304D9191300873EADA52D6E /* IntegrationTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = IntegrationTests.xctestplan; sourceTree = ""; }; + 1304D9191300873EADA52D6E /* IntegrationTests.xctestplan */ = {isa = PBXFileReference; path = IntegrationTests.xctestplan; sourceTree = ""; }; 130ED565A078F7E0B59D9D25 /* UNTextInputNotificationResponse+Creator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UNTextInputNotificationResponse+Creator.swift"; sourceTree = ""; }; 13802897C7AFA360EA74C0B0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = en; path = en.lproj/Localizable.stringsdict; sourceTree = ""; }; 1423AB065857FA546444DB15 /* NotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationManager.swift; sourceTree = ""; }; @@ -1064,6 +1064,7 @@ 4176C3E20C772DE8D182863C /* LegalInformationScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegalInformationScreen.swift; sourceTree = ""; }; 421E716C521F96D24ECE69B3 /* NoticeRoomTimelineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoticeRoomTimelineItem.swift; sourceTree = ""; }; 421FA93BCC2840E66E4F306F /* NotificationSettingsScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationSettingsScreenViewModelProtocol.swift; sourceTree = ""; }; + 42236480CF0431535EBE8387 /* CustomLayoutLabelStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomLayoutLabelStyle.swift; sourceTree = ""; }; 422724361B6555364C43281E /* RoomHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomHeaderView.swift; sourceTree = ""; }; 42ADEA322D2089391E049535 /* InvitesScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InvitesScreen.swift; sourceTree = ""; }; 42C64A14EE89928207E3B42B /* AnalyticsSettingsScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsSettingsScreenModels.swift; sourceTree = ""; }; @@ -1082,13 +1083,14 @@ 47111410B6E659A697D472B5 /* RoomProxyProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomProxyProtocol.swift; sourceTree = ""; }; 471EB7D96AFEA8D787659686 /* EmoteRoomTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmoteRoomTimelineView.swift; sourceTree = ""; }; 47873756E45B46683D97DC32 /* LegalInformationScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegalInformationScreenModels.swift; sourceTree = ""; }; - 478BE8591BD13E908EF70C0C /* DesignKit */ = {isa = PBXFileReference; lastKnownFileType = folder; path = DesignKit; sourceTree = SOURCE_ROOT; }; + 478BE8591BD13E908EF70C0C /* DesignKit */ = {isa = PBXFileReference; lastKnownFileType = folder; name = DesignKit; path = DesignKit; sourceTree = SOURCE_ROOT; }; 4798B3B7A1E8AE3901CEE8C6 /* FramePreferenceKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FramePreferenceKey.swift; sourceTree = ""; }; 47EBB5D698CE9A25BB553A2D /* Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Strings.swift; sourceTree = ""; }; 47F29139BC2A804CE5E0757E /* MediaUploadPreviewScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaUploadPreviewScreenViewModel.swift; sourceTree = ""; }; 4959CECEC984B3995616F427 /* DataProtectionManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataProtectionManager.swift; sourceTree = ""; }; 4999B5FD50AED7CB0F590FF8 /* AdvancedSettingsScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdvancedSettingsScreenModels.swift; sourceTree = ""; }; 49D2C8E66E83EA578A7F318A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 49E45C3DC740D3AB9A47FD32 /* SwipeToReplyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwipeToReplyView.swift; sourceTree = ""; }; 49E6066092ED45E36BB306F7 /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/Localizable.stringsdict"; sourceTree = ""; }; 49E751D7EDB6043238111D90 /* UNNotificationRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UNNotificationRequest.swift; sourceTree = ""; }; 4A4AD793D50748F8997E5B15 /* TimelineItemMacContextMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineItemMacContextMenu.swift; sourceTree = ""; }; @@ -1141,6 +1143,7 @@ 592A35163B0749C66BFD6186 /* MapLibreStaticMapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapLibreStaticMapView.swift; sourceTree = ""; }; 59846FA04E1DBBFDD8829C2A /* MessageForwardingScreenUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageForwardingScreenUITests.swift; sourceTree = ""; }; 5AEA0B743847CFA5B3C38EE4 /* RoomMembersListScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomMembersListScreenCoordinator.swift; sourceTree = ""; }; + 5B0D7955FFB19B584594844B /* OnboardingLogo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingLogo.swift; sourceTree = ""; }; 5B8F0ED874DF8C9A51B0AB6F /* SettingsScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsScreenCoordinator.swift; sourceTree = ""; }; 5C7C7CFA6B2A62A685FF6CE3 /* DeveloperOptionsScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeveloperOptionsScreenCoordinator.swift; sourceTree = ""; }; 5CD0FAE9EA761DA175D31CC7 /* MigrationScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MigrationScreenModels.swift; sourceTree = ""; }; @@ -1230,6 +1233,7 @@ 7B25F959A434BB9923A3223F /* ExpiringTaskRunner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExpiringTaskRunner.swift; sourceTree = ""; }; 7B849D2FF2CC12BA411A1651 /* CreateRoomModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateRoomModels.swift; sourceTree = ""; }; 7B9FCA1CFD07B8CF9BD21266 /* FlowCoordinatorProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlowCoordinatorProtocol.swift; sourceTree = ""; }; + 7CA3F8E905DF50BF22ECC18F /* ThreadDecorator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadDecorator.swift; sourceTree = ""; }; 7D0CBC76C80E04345E11F2DB /* Application.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = ""; }; 7D25A35764C7B3DB78954AB5 /* RoomTimelineItemFactoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomTimelineItemFactoryProtocol.swift; sourceTree = ""; }; 7DDBF99755A9008CF8C8499E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; @@ -1276,7 +1280,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; lastKnownFileType = text; path = UITests.xctestplan; sourceTree = ""; }; + 8E088F2A1B9EC529D3221931 /* UITests.xctestplan */ = {isa = PBXFileReference; path = UITests.xctestplan; sourceTree = ""; }; 8E1BBA73B611EDEEA6E20E05 /* InvitesScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InvitesScreenModels.swift; sourceTree = ""; }; 8EC57A32ABC80D774CC663DB /* SettingsScreenUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsScreenUITests.swift; sourceTree = ""; }; 8F21ED7205048668BEB44A38 /* AppActivityView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppActivityView.swift; sourceTree = ""; }; @@ -1285,13 +1289,12 @@ 8FC803282F9268D49F4ABF14 /* AppCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppCoordinator.swift; sourceTree = ""; }; 90A55430639712CFACA34F43 /* TextRoomTimelineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextRoomTimelineItem.swift; sourceTree = ""; }; 90F2F8998E5632668B0AD848 /* RoomTimelineItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomTimelineItemView.swift; sourceTree = ""; }; - 915C0DB72AB3284300C2C3F6 /* TimelineMediaFrame.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineMediaFrame.swift; sourceTree = ""; }; - 917D4D6D2AB4C78600349B1E /* OnboardingLogo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingLogo.swift; sourceTree = ""; }; 91CF6F7D08228D16BA69B63B /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/Localizable.strings"; sourceTree = ""; }; 923485F85E1D765EF9D20E88 /* UserProfileCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserProfileCell.swift; sourceTree = ""; }; 92390F9FA98255440A6BF5F8 /* OIDCAuthenticationPresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OIDCAuthenticationPresenter.swift; sourceTree = ""; }; 92FCD9116ADDE820E4E30F92 /* UIKitBackgroundTask.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIKitBackgroundTask.swift; sourceTree = ""; }; 9332DFE9642F0A46ECA0497B /* BlurHashEncode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlurHashEncode.swift; sourceTree = ""; }; + 933B074F006F8E930DB98B4E /* TimelineMediaFrame.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineMediaFrame.swift; sourceTree = ""; }; 9342F5D6729627B6393AF853 /* ServerConfirmationScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerConfirmationScreenModels.swift; sourceTree = ""; }; 9349F590E35CE514A71E6764 /* LoginHomeserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginHomeserver.swift; sourceTree = ""; }; 935C2FB18EFB8EEE96B26330 /* CreateRoomFlowParameters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateRoomFlowParameters.swift; sourceTree = ""; }; @@ -1347,9 +1350,6 @@ A65F140F9FE5E8D4DAEFF354 /* RoomProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomProxy.swift; sourceTree = ""; }; A6B891A6DA826E2461DBB40F /* PHGPostHogConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PHGPostHogConfiguration.swift; sourceTree = ""; }; A73A07BAEDD74C48795A996A /* AsyncSequence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncSequence.swift; sourceTree = ""; }; - A762491E2AAF6EA800ADB9E6 /* CustomLayoutLabelStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomLayoutLabelStyle.swift; sourceTree = ""; }; - A76249202AB1F56400ADB9E6 /* ThreadDecorator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadDecorator.swift; sourceTree = ""; }; - A76249222AB2064800ADB9E6 /* SwipeToReplyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwipeToReplyView.swift; sourceTree = ""; }; A7C4EA55DA62F9D0F984A2AE /* CollapsibleTimelineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollapsibleTimelineItem.swift; sourceTree = ""; }; A861DA5932B128FE1DCB5CE2 /* InviteUsersScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InviteUsersScreenCoordinator.swift; sourceTree = ""; }; A8903A9F615BBD0E6D7CD133 /* ApplicationProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplicationProtocol.swift; sourceTree = ""; }; @@ -1393,7 +1393,7 @@ B4CFE236419E830E8946639C /* Analytics+SwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Analytics+SwiftUI.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; lastKnownFileType = file.bplist; path = ConfettiScene.scn; sourceTree = ""; }; + B61C339A2FDDBD067FF6635C /* ConfettiScene.scn */ = {isa = PBXFileReference; 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 = ""; }; B697816AF93DA06EC58C5D70 /* WaitlistScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaitlistScreenViewModelProtocol.swift; sourceTree = ""; }; @@ -1484,7 +1484,7 @@ CD95B3714F806AC9CF9A557B /* ComposerToolbarViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ComposerToolbarViewModel.swift; sourceTree = ""; }; CDB3227C7A74B734924942E9 /* RoomSummaryProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomSummaryProvider.swift; sourceTree = ""; }; CEE0E6043EFCF6FD2A341861 /* TimelineReplyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineReplyView.swift; sourceTree = ""; }; - CEE41494C837AA403A06A5D9 /* UnitTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = UnitTests.xctestplan; sourceTree = ""; }; + CEE41494C837AA403A06A5D9 /* UnitTests.xctestplan */ = {isa = PBXFileReference; path = UnitTests.xctestplan; sourceTree = ""; }; CF48AF076424DBC1615C74AD /* AuthenticationServiceProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationServiceProxy.swift; sourceTree = ""; }; D0140615D2232612C813FD6C /* EncryptedHistoryRoomTimelineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncryptedHistoryRoomTimelineItem.swift; sourceTree = ""; }; D071F86CD47582B9196C9D16 /* UserDiscoverySection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDiscoverySection.swift; sourceTree = ""; }; @@ -1570,7 +1570,7 @@ ECF79FB25E2D4BD6F50CE7C9 /* RoomMembersListScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomMembersListScreenViewModel.swift; sourceTree = ""; }; ED044D00F2176681CC02CD54 /* HomeScreenRoomCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeScreenRoomCell.swift; sourceTree = ""; }; ED1D792EB82506A19A72C8DE /* RoomTimelineItemProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomTimelineItemProtocol.swift; sourceTree = ""; }; - ED482057AE39D5C6D9C5F3D8 /* message.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = message.caf; sourceTree = ""; }; + ED482057AE39D5C6D9C5F3D8 /* message.caf */ = {isa = PBXFileReference; path = message.caf; 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 = ""; }; EE378083653EF0C9B5E9D580 /* EmoteRoomTimelineItemContent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmoteRoomTimelineItemContent.swift; sourceTree = ""; }; @@ -1584,7 +1584,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; lastKnownFileType = file; path = portrait_test_video.mp4; sourceTree = ""; }; + F2D513D2477B57F90E98EEC0 /* portrait_test_video.mp4 */ = {isa = PBXFileReference; path = portrait_test_video.mp4; 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 = ""; }; F36C0A6D59717193F49EA986 /* UserSessionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserSessionTests.swift; sourceTree = ""; }; @@ -2833,9 +2833,9 @@ 7B14834450AE76EEFDDBCBB8 /* View */ = { isa = PBXGroup; children = ( + 5B0D7955FFB19B584594844B /* OnboardingLogo.swift */, AB8E75B9CB6C78BE8D09B1AF /* OnboardingScreen.swift */, 9F3450F4C32D73532DBBC1A2 /* OnboardingScreenBackgroundImage.swift */, - 917D4D6D2AB4C78600349B1E /* OnboardingLogo.swift */, ); path = View; sourceTree = ""; @@ -3216,13 +3216,13 @@ isa = PBXGroup; children = ( 21DC6A9917A7123E7E9A3F81 /* LongPressWithFeedback.swift */, + 49E45C3DC740D3AB9A47FD32 /* SwipeToReplyView.swift */, + 7CA3F8E905DF50BF22ECC18F /* ThreadDecorator.swift */, E2DCA495ED42D2463DDAA94D /* TimelineBubbleLayout.swift */, 98A2932515EA11D3DD8A3506 /* TimelineItemBubbledStylerView.swift */, 94BCC8A9C73C1F838122C645 /* TimelineItemPlainStylerView.swift */, 8DC2C9E0E15C79BBDA80F0A2 /* TimelineStyle.swift */, 892E29C98C4E8182C9037F84 /* TimelineStyler.swift */, - A76249202AB1F56400ADB9E6 /* ThreadDecorator.swift */, - A76249222AB2064800ADB9E6 /* SwipeToReplyView.swift */, ); path = Style; sourceTree = ""; @@ -3611,13 +3611,13 @@ isa = PBXGroup; children = ( 8872E9C5E91E9F2BFC4EBCCA /* AlignedScrollView.swift */, + 42236480CF0431535EBE8387 /* CustomLayoutLabelStyle.swift */, 3518637393394901BF5BFAC3 /* FixedIconSizeLabelStyle.swift */, 4798B3B7A1E8AE3901CEE8C6 /* FramePreferenceKey.swift */, 565F1B2B300597C616B37888 /* FullscreenDialog.swift */, 398817652FA8ABAE0A31AC6D /* ReadableFrameModifier.swift */, + 933B074F006F8E930DB98B4E /* TimelineMediaFrame.swift */, EFF7BF82A950B91BC5469E91 /* ViewFrameReader.swift */, - A762491E2AAF6EA800ADB9E6 /* CustomLayoutLabelStyle.swift */, - 915C0DB72AB3284300C2C3F6 /* TimelineMediaFrame.swift */, ); path = Layout; sourceTree = ""; @@ -4567,7 +4567,6 @@ 663E198678778F7426A9B27D /* Collection.swift in Sources */, 24B7CD41342C143117ADA768 /* Comparable.swift in Sources */, 0B57C2399B9E1CE5CE0D8005 /* ComposerToolbar.swift in Sources */, - A76249212AB1F56400ADB9E6 /* ThreadDecorator.swift in Sources */, 56BAB81A0D03C2EF09B86294 /* ComposerToolbarModels.swift in Sources */, 5995C63B1C61DE1373AA2BCE /* ComposerToolbarViewModel.swift in Sources */, 9BEA56957B3AF954E7321658 /* ComposerToolbarViewModelProtocol.swift in Sources */, @@ -4586,6 +4585,7 @@ 0BE4D5CBF86956410F071F91 /* CreateRoomViewModel.swift in Sources */, 4799A852132F1744E2825994 /* CreateRoomViewModelProtocol.swift in Sources */, 565868808A1DA565707394ED /* CurrentValuePublisher.swift in Sources */, + A722F426FD81FC67706BB1E0 /* CustomLayoutLabelStyle.swift in Sources */, 12C867E85E6D12EEDFD0B127 /* CustomStringConvertible.swift in Sources */, C4F69156C31A447FEFF2A47C /* DTHTMLElement+AttributedStringBuilder.swift in Sources */, C6C06DDA8881260303FBA3A0 /* Date.swift in Sources */, @@ -4761,7 +4761,6 @@ FD4C21F8DA1E273DE94FCD1A /* NotificationItemProxyProtocol.swift in Sources */, 652ACCF104A8CEF30788963C /* NotificationManager.swift in Sources */, 06D3942496E9E0E655F14D21 /* NotificationManagerProtocol.swift in Sources */, - 915C0DB82AB3284300C2C3F6 /* TimelineMediaFrame.swift in Sources */, C4C84901ABAC9B17564AB7EB /* NotificationName.swift in Sources */, C0090506A52A1991BAF4BA68 /* NotificationSettingsChatType.swift in Sources */, AA93B3F9B5DD097DEF79F981 /* NotificationSettingsEditScreen.swift in Sources */, @@ -4780,6 +4779,7 @@ CBD2ABE4C1A47ECD99E1488E /* NotificationSettingsScreenViewModelProtocol.swift in Sources */, 523C6800ED85D5810CF18C19 /* OIDCAccountSettingsPresenter.swift in Sources */, 9A4E3D5AA44B041DAC3A0D81 /* OIDCAuthenticationPresenter.swift in Sources */, + 7719778A682FDAC21445E9C8 /* OnboardingLogo.swift in Sources */, 7F64FA937B95924B3A44EC12 /* OnboardingScreen.swift in Sources */, C0DC02E2B91DC76A4D1A0E7F /* OnboardingScreenBackgroundImage.swift in Sources */, 7CFCC177F0ED083867FAD9C9 /* OnboardingScreenCoordinator.swift in Sources */, @@ -4865,7 +4865,6 @@ 352C439BE0F75E101EF11FB1 /* RoomScreenModels.swift in Sources */, 7BB31E67648CF32D2AB5E502 /* RoomScreenViewModel.swift in Sources */, 617624A97BDBB75ED3DD8156 /* RoomScreenViewModelProtocol.swift in Sources */, - A76249232AB2064800ADB9E6 /* SwipeToReplyView.swift in Sources */, 6C34237AFB808E38FC8776B9 /* RoomStateEventStringBuilder.swift in Sources */, A7FD7B992E6EE6E5A8429197 /* RoomSummaryDetails.swift in Sources */, 983896D611ABF52A5C37498D /* RoomSummaryProvider.swift in Sources */, @@ -4938,7 +4937,6 @@ B4AAB3257A83B73F53FB2689 /* StateStoreViewModel.swift in Sources */, B1069F361E604D5436AE9FFD /* StaticLocationScreen.swift in Sources */, 1AB3D8563AB12635250A6A6E /* StaticLocationScreenCoordinator.swift in Sources */, - A762491F2AAF6EA800ADB9E6 /* CustomLayoutLabelStyle.swift in Sources */, DFD5AA8688A34C72D48AF3B1 /* StaticLocationScreenViewModel.swift in Sources */, 5C164551F7D26E24F09083D3 /* StaticLocationScreenViewModelProtocol.swift in Sources */, C58E305C380D3ADDF7912180 /* StickerRoomTimelineItem.swift in Sources */, @@ -4947,6 +4945,7 @@ A7D48E44D485B143AADDB77D /* Strings+Untranslated.swift in Sources */, 066A1E9B94723EE9F3038044 /* Strings.swift in Sources */, FF34BF2AF731340AF9414A18 /* SwipeRightAction.swift in Sources */, + 0DCDF49AB95F75BFC8B1879C /* SwipeToReplyView.swift in Sources */, E290C78E7F09F47FD2662986 /* Task.swift in Sources */, 1555A7643D85187D4851040C /* TemplateScreen.swift in Sources */, 47305C0911C9E1AA774A4000 /* TemplateScreenCoordinator.swift in Sources */, @@ -4959,6 +4958,7 @@ BB784A02BADB03C820617A46 /* TextRoomTimelineItem.swift in Sources */, 53F1196F9C69512306A2693F /* TextRoomTimelineItemContent.swift in Sources */, 5E0F2E612718BB4397A6D40A /* TextRoomTimelineView.swift in Sources */, + 5B2D1210B40570D87B11BD3B /* ThreadDecorator.swift in Sources */, 43EF6D8E694F54C5471BF5F3 /* TimelineBubbleLayout.swift in Sources */, 5D2AF8C0DF872E7985F8FE54 /* TimelineDeliveryStatusView.swift in Sources */, 157E5FDDF419C0B2CA7E2C28 /* TimelineItemBubbledStylerView.swift in Sources */, @@ -4970,6 +4970,7 @@ 9586E90A447C4896C0CA3A8E /* TimelineItemReplyDetails.swift in Sources */, 1B88BB631F7FC45A213BB554 /* TimelineItemSender.swift in Sources */, A680F54935A6ADEA4ED6C38F /* TimelineItemStatusView.swift in Sources */, + 562EFB9AB62B38830D9AA778 /* TimelineMediaFrame.swift in Sources */, 9B582B3EEFEA615D4A6FBF1A /* TimelineReactionsView.swift in Sources */, 49814A48470F347426513B07 /* TimelineReadReceiptsView.swift in Sources */, 2A90DD14DE5C891BFA433950 /* TimelineReplyView.swift in Sources */, @@ -5015,7 +5016,6 @@ E3291AD16D7A5CB14781819C /* UserNotificationCenterProtocol.swift in Sources */, 40B79D20A873620F7F128A2C /* UserPreference.swift in Sources */, 80DEA2A4B20F9E279EAE6B2B /* UserProfile+Mock.swift in Sources */, - 917D4D6E2AB4C78600349B1E /* OnboardingLogo.swift in Sources */, F94000E3D91B11C527DA8807 /* UserProfileCell.swift in Sources */, E21FE4C5B614F311C0955859 /* UserProfileProxy.swift in Sources */, 9CCC77C31CB399661A034739 /* UserProperties+Element.swift in Sources */, @@ -5309,12 +5309,12 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APP_CUSTOM_SCHEME = element; - APP_DISPLAY_NAME = "Element X"; + APP_DISPLAY_NAME = Superhero; APP_GROUP_IDENTIFIER = "group.$(BASE_APP_GROUP_IDENTIFIER)"; - APP_NAME = ElementX; + APP_NAME = Superhero; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "colors/accent-color"; BASE_APP_GROUP_IDENTIFIER = io.element; - BASE_BUNDLE_IDENTIFIER = io.element.elementx; + BASE_BUNDLE_IDENTIFIER = com.superhero.chat; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -5379,12 +5379,12 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APP_CUSTOM_SCHEME = element; - APP_DISPLAY_NAME = "Element X"; + APP_DISPLAY_NAME = Superhero; APP_GROUP_IDENTIFIER = "group.$(BASE_APP_GROUP_IDENTIFIER)"; - APP_NAME = ElementX; + APP_NAME = Superhero; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "colors/accent-color"; BASE_APP_GROUP_IDENTIFIER = io.element; - BASE_BUNDLE_IDENTIFIER = io.element.elementx; + BASE_BUNDLE_IDENTIFIER = com.superhero.chat; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; diff --git a/ElementX.xcodeproj/xcshareddata/xcschemes/ElementX.xcscheme b/ElementX.xcodeproj/xcshareddata/xcschemes/ElementX.xcscheme index 8f195fc8ee..038e3aadc9 100644 --- a/ElementX.xcodeproj/xcshareddata/xcschemes/ElementX.xcscheme +++ b/ElementX.xcodeproj/xcshareddata/xcschemes/ElementX.xcscheme @@ -4,8 +4,7 @@ version = "1.7"> + buildImplicitDependencies = "YES"> @@ -30,34 +29,30 @@ shouldUseLaunchSchemeArgsEnv = "YES" codeCoverageEnabled = "YES" onlyGenerateCoverageForSpecifiedTargets = "YES"> - - - - - - - - + + + + - - - - diff --git a/ElementX.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme b/ElementX.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme index b590cf9492..a52e1b55b2 100644 --- a/ElementX.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme +++ b/ElementX.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme @@ -4,8 +4,7 @@ version = "1.7"> + buildImplicitDependencies = "YES"> - - - - - - - - + + + + - - - - + buildImplicitDependencies = "YES"> - - - - - - - - + + + + - - - - [String] { Array(1...count).map { - "@user\($0):matrix.org" + "@user\($0):superhero.com" } } diff --git a/ElementX/Sources/Mocks/RoomMemberProxyMock.swift b/ElementX/Sources/Mocks/RoomMemberProxyMock.swift index 10324fa9b8..eb400e1221 100644 --- a/ElementX/Sources/Mocks/RoomMemberProxyMock.swift +++ b/ElementX/Sources/Mocks/RoomMemberProxyMock.swift @@ -49,42 +49,42 @@ extension RoomMemberProxyMock { // Mocks static var mockAlice: RoomMemberProxyMock { - RoomMemberProxyMock(with: .init(userID: "@alice:matrix.org", + RoomMemberProxyMock(with: .init(userID: "@alice:superhero.com", displayName: "Alice", avatarURL: nil, membership: .join)) } static var mockInvitedAlice: RoomMemberProxyMock { - RoomMemberProxyMock(with: .init(userID: "@alice:matrix.org", + RoomMemberProxyMock(with: .init(userID: "@alice:superhero.com", displayName: "Alice", avatarURL: nil, membership: .invite)) } static var mockBob: RoomMemberProxyMock { - RoomMemberProxyMock(with: .init(userID: "@bob:matrix.org", + RoomMemberProxyMock(with: .init(userID: "@bob:superhero.com", displayName: "Bob", avatarURL: nil, membership: .join)) } static var mockCharlie: RoomMemberProxyMock { - RoomMemberProxyMock(with: .init(userID: "@charlie:matrix.org", + RoomMemberProxyMock(with: .init(userID: "@charlie:superhero.com", displayName: "Charlie", avatarURL: nil, membership: .join)) } static var mockDan: RoomMemberProxyMock { - RoomMemberProxyMock(with: .init(userID: "@dan:matrix.org", + RoomMemberProxyMock(with: .init(userID: "@dan:superhero.com", displayName: "Dan", avatarURL: URL.picturesDirectory, membership: .join)) } static var mockMe: RoomMemberProxyMock { - RoomMemberProxyMock(with: .init(userID: "@me:matrix.org", + RoomMemberProxyMock(with: .init(userID: "@me:superhero.com", displayName: "Me", avatarURL: URL.picturesDirectory, membership: .join, @@ -93,7 +93,7 @@ extension RoomMemberProxyMock { } static var mockIgnored: RoomMemberProxyMock { - RoomMemberProxyMock(with: .init(userID: "@ignored:matrix.org", + RoomMemberProxyMock(with: .init(userID: "@ignored:superhero.com", displayName: "Ignored", avatarURL: nil, membership: .join, diff --git a/ElementX/Sources/Mocks/UserProfile+Mock.swift b/ElementX/Sources/Mocks/UserProfile+Mock.swift index 22073bf7a0..5a93a28ff6 100644 --- a/ElementX/Sources/Mocks/UserProfile+Mock.swift +++ b/ElementX/Sources/Mocks/UserProfile+Mock.swift @@ -19,22 +19,22 @@ import Foundation extension UserProfileProxy { // Mocks static var mockAlice: UserProfileProxy { - .init(userID: "@alice:matrix.org", displayName: "Alice", avatarURL: "mxc://matrix.org/UcCimidcvpFvWkPzvjXMQPHA") + .init(userID: "@alice:superhero.com", displayName: "Alice", avatarURL: "mxc://matrix.org/UcCimidcvpFvWkPzvjXMQPHA") } static var mockBob: UserProfileProxy { - .init(userID: "@bob:matrix.org", displayName: "Bob", avatarURL: nil) + .init(userID: "@bob:superhero.com", displayName: "Bob", avatarURL: nil) } static var mockBobby: UserProfileProxy { - .init(userID: "@bobby:matrix.org", displayName: "Bobby", avatarURL: nil) + .init(userID: "@bobby:superhero.com", displayName: "Bobby", avatarURL: nil) } static var mockCharlie: UserProfileProxy { - .init(userID: "@charlie:matrix.org", displayName: "Charlie", avatarURL: nil) + .init(userID: "@charlie:superhero.com", displayName: "Charlie", avatarURL: nil) } static var mockVerbose: UserProfileProxy { - .init(userID: "@charlie:matrix.org", displayName: "Charlie is the best display name", avatarURL: nil) + .init(userID: "@charlie:superhero.com", displayName: "Charlie is the best display name", avatarURL: nil) } } diff --git a/ElementX/Sources/Other/SwiftUI/Views/AvatarHeaderView.swift b/ElementX/Sources/Other/SwiftUI/Views/AvatarHeaderView.swift index 13b0337f3e..b89843dc42 100644 --- a/ElementX/Sources/Other/SwiftUI/Views/AvatarHeaderView.swift +++ b/ElementX/Sources/Other/SwiftUI/Views/AvatarHeaderView.swift @@ -67,7 +67,7 @@ struct HeaderView_Previews: PreviewProvider { id: "test", avatarSize: .room(on: .details), imageProvider: MockMediaProvider(), - subtitle: "#test:matrix.org") { + subtitle: "#test:superhero.com") { HStack(spacing: 32) { ShareLink(item: "test") { Image(systemName: "square.and.arrow.up") diff --git a/ElementX/Sources/Other/SwiftUI/Views/PlaceholderAvatarImage.swift b/ElementX/Sources/Other/SwiftUI/Views/PlaceholderAvatarImage.swift index 6433a56ddf..47d9923345 100644 --- a/ElementX/Sources/Other/SwiftUI/Views/PlaceholderAvatarImage.swift +++ b/ElementX/Sources/Other/SwiftUI/Views/PlaceholderAvatarImage.swift @@ -69,19 +69,19 @@ struct PlaceholderAvatarImage: View { struct PlaceholderAvatarImage_Previews: PreviewProvider { static var previews: some View { VStack(spacing: 75) { - PlaceholderAvatarImage(name: "Xavier", contentID: "@userid1:matrix.org") + PlaceholderAvatarImage(name: "Xavier", contentID: "@userid1:superhero.com") .clipShape(Circle()) .frame(width: 150, height: 100) - PlaceholderAvatarImage(name: "@*~AmazingName~*@", contentID: "@userid2:matrix.org") + PlaceholderAvatarImage(name: "@*~AmazingName~*@", contentID: "@userid2:superhero.com") .clipShape(Circle()) .frame(width: 150, height: 100) - PlaceholderAvatarImage(name: nil, contentID: "@userid3:matrix.org") + PlaceholderAvatarImage(name: nil, contentID: "@userid3:superhero.com") .clipShape(Circle()) .frame(width: 150, height: 100) - PlaceholderAvatarImage(name: nil, contentID: "@fooserid:matrix.org") + PlaceholderAvatarImage(name: nil, contentID: "@fooserid:superhero.com") .clipShape(Circle()) .frame(width: 30, height: 30) } diff --git a/ElementX/Sources/Other/SwiftUI/Views/UserProfileCell.swift b/ElementX/Sources/Other/SwiftUI/Views/UserProfileCell.swift index 2cf5c57b24..ef30720849 100644 --- a/ElementX/Sources/Other/SwiftUI/Views/UserProfileCell.swift +++ b/ElementX/Sources/Other/SwiftUI/Views/UserProfileCell.swift @@ -114,14 +114,14 @@ struct UserProfileCell_Previews: PreviewProvider { .previewDisplayName("Selected disabled user") Button(action: action) { - UserProfileCell(user: .init(userID: "@someone:matrix.org"), membership: .join, imageProvider: MockMediaProvider()) + UserProfileCell(user: .init(userID: "@someone:superhero.com"), membership: .join, imageProvider: MockMediaProvider()) } .disabled(true) .buttonStyle(FormButtonStyle(accessory: .multipleSelection(isSelected: true))) .previewDisplayName("Unverified joined user") Button(action: action) { - UserProfileCell(user: .init(userID: "@someone:matrix.org"), membership: nil, imageProvider: MockMediaProvider()) + UserProfileCell(user: .init(userID: "@someone:superhero.com"), membership: nil, imageProvider: MockMediaProvider()) } .buttonStyle(FormButtonStyle(accessory: .multipleSelection(isSelected: false))) .previewDisplayName("Unverified user") diff --git a/ElementX/Sources/Screens/Authentication/LoginScreen/LoginHomeserver.swift b/ElementX/Sources/Screens/Authentication/LoginScreen/LoginHomeserver.swift index c2d58c7dd4..78700f651b 100644 --- a/ElementX/Sources/Screens/Authentication/LoginScreen/LoginHomeserver.swift +++ b/ElementX/Sources/Screens/Authentication/LoginScreen/LoginHomeserver.swift @@ -54,7 +54,7 @@ struct LoginHomeserver: Equatable { extension LoginHomeserver { /// A mock homeserver that is configured just like matrix.org. static var mockMatrixDotOrg: LoginHomeserver { - LoginHomeserver(address: "matrix.org", loginMode: .password) + LoginHomeserver(address: "superhero.com", loginMode: .password) } /// A mock homeserver that supports login and registration via a password but has no SSO providers. diff --git a/ElementX/Sources/Screens/Authentication/LoginScreen/View/LoginScreen.swift b/ElementX/Sources/Screens/Authentication/LoginScreen/View/LoginScreen.swift index fd8d332eeb..0177cc1999 100644 --- a/ElementX/Sources/Screens/Authentication/LoginScreen/View/LoginScreen.swift +++ b/ElementX/Sources/Screens/Authentication/LoginScreen/View/LoginScreen.swift @@ -142,7 +142,7 @@ struct LoginScreen_Previews: PreviewProvider { static var previews: some View { screen(for: LoginScreenViewModel(homeserver: .mockMatrixDotOrg, slidingSyncLearnMoreURL: ServiceLocator.shared.settings.slidingSyncLearnMoreURL)) - .previewDisplayName("matrix.org") + .previewDisplayName("superhero.com") screen(for: credentialsViewModel) .previewDisplayName("Credentials Entered") screen(for: LoginScreenViewModel(homeserver: .mockMatrixDotOrg, slidingSyncLearnMoreURL: ServiceLocator.shared.settings.slidingSyncLearnMoreURL)) diff --git a/ElementX/Sources/Screens/Authentication/ServerConfirmationScreen/ServerConfirmationScreenModels.swift b/ElementX/Sources/Screens/Authentication/ServerConfirmationScreen/ServerConfirmationScreenModels.swift index 7fa10d43a9..97c48cc19b 100644 --- a/ElementX/Sources/Screens/Authentication/ServerConfirmationScreen/ServerConfirmationScreenModels.swift +++ b/ElementX/Sources/Screens/Authentication/ServerConfirmationScreen/ServerConfirmationScreenModels.swift @@ -45,7 +45,7 @@ struct ServerConfirmationScreenViewState: BindableState { var message: String { switch authenticationFlow { case .login: - if homeserverAddress == "matrix.org" { + if homeserverAddress == "superhero.com" { return L10n.screenServerConfirmationMessageLoginMatrixDotOrg } else if homeserverAddress == "element.io" { return L10n.screenServerConfirmationMessageLoginElementDotIo diff --git a/ElementX/Sources/Screens/Authentication/ServerSelectionScreen/MockServerSelectionScreenState.swift b/ElementX/Sources/Screens/Authentication/ServerSelectionScreen/MockServerSelectionScreenState.swift index 15758f2fa4..2efdeaa711 100644 --- a/ElementX/Sources/Screens/Authentication/ServerSelectionScreen/MockServerSelectionScreenState.swift +++ b/ElementX/Sources/Screens/Authentication/ServerSelectionScreen/MockServerSelectionScreenState.swift @@ -26,7 +26,7 @@ enum MockServerSelectionScreenState: CaseIterable { @MainActor var viewModel: ServerSelectionScreenViewModel { switch self { case .matrix: - return ServerSelectionScreenViewModel(homeserverAddress: "https://matrix.org", + return ServerSelectionScreenViewModel(homeserverAddress: "https://superhero.com", slidingSyncLearnMoreURL: ServiceLocator.shared.settings.slidingSyncLearnMoreURL, isModallyPresented: true) @@ -41,7 +41,7 @@ enum MockServerSelectionScreenState: CaseIterable { viewModel.displayError(.footerMessage(L10n.errorUnknown)) return viewModel case .nonModal: - return ServerSelectionScreenViewModel(homeserverAddress: "https://matrix.org", + return ServerSelectionScreenViewModel(homeserverAddress: "https://superhero.com", slidingSyncLearnMoreURL: ServiceLocator.shared.settings.slidingSyncLearnMoreURL, isModallyPresented: false) } diff --git a/ElementX/Sources/Screens/Authentication/SoftLogoutScreen/MockSoftLogoutScreenState.swift b/ElementX/Sources/Screens/Authentication/SoftLogoutScreen/MockSoftLogoutScreenState.swift index 235d60b330..a42bc3ba91 100644 --- a/ElementX/Sources/Screens/Authentication/SoftLogoutScreen/MockSoftLogoutScreenState.swift +++ b/ElementX/Sources/Screens/Authentication/SoftLogoutScreen/MockSoftLogoutScreenState.swift @@ -31,8 +31,8 @@ enum MockSoftLogoutScreenState: String, CaseIterable { /// Generate the view struct for the screen state. @MainActor var viewModel: SoftLogoutScreenViewModel { - let credentials = SoftLogoutScreenCredentials(userID: "@mock:matrix.org", - homeserverName: "matrix.org", + let credentials = SoftLogoutScreenCredentials(userID: "@mock:superhero.com", + homeserverName: "superhero.com", userDisplayName: "mock", deviceID: nil) switch self { diff --git a/ElementX/Sources/Screens/Authentication/WaitlistScreen/View/WaitlistScreen.swift b/ElementX/Sources/Screens/Authentication/WaitlistScreen/View/WaitlistScreen.swift index 7f224dfc92..3d53a4cfba 100644 --- a/ElementX/Sources/Screens/Authentication/WaitlistScreen/View/WaitlistScreen.swift +++ b/ElementX/Sources/Screens/Authentication/WaitlistScreen/View/WaitlistScreen.swift @@ -74,7 +74,7 @@ struct WaitlistScreen_Previews: PreviewProvider { static let viewModel = WaitlistScreenViewModel(homeserver: .mockMatrixDotOrg) static let successViewModel = { let viewModel = WaitlistScreenViewModel(homeserver: .mockMatrixDotOrg) - viewModel.update(userSession: MockUserSession(clientProxy: MockClientProxy(userID: "@alice:matrix.org"), + viewModel.update(userSession: MockUserSession(clientProxy: MockClientProxy(userID: "@alice:superhero.com"), mediaProvider: MockMediaProvider())) return viewModel }() diff --git a/ElementX/Sources/Screens/RoomScreen/View/Replies/TimelineReplyView.swift b/ElementX/Sources/Screens/RoomScreen/View/Replies/TimelineReplyView.swift index 1591e22ac9..4a143222c9 100644 --- a/ElementX/Sources/Screens/RoomScreen/View/Replies/TimelineReplyView.swift +++ b/ElementX/Sources/Screens/RoomScreen/View/Replies/TimelineReplyView.swift @@ -85,7 +85,7 @@ struct TimelineReplyView: View { private struct LoadingReplyView: View { var body: some View { - ReplyView(sender: .init(id: "@alice:matrix.org"), plainBody: "Hello world", formattedBody: nil) + ReplyView(sender: .init(id: "@alice:superhero.com"), plainBody: "Hello world", formattedBody: nil) .redacted(reason: .placeholder) } } diff --git a/ElementX/Sources/Screens/Settings/UserDetailsEditScreen/View/UserDetailsEditScreen.swift b/ElementX/Sources/Screens/Settings/UserDetailsEditScreen/View/UserDetailsEditScreen.swift index 5754dee90c..33ce46c2b4 100644 --- a/ElementX/Sources/Screens/Settings/UserDetailsEditScreen/View/UserDetailsEditScreen.swift +++ b/ElementX/Sources/Screens/Settings/UserDetailsEditScreen/View/UserDetailsEditScreen.swift @@ -127,7 +127,7 @@ struct UserDetailsEditScreen: View { // MARK: - Previews struct UserDetailsEditScreen_Previews: PreviewProvider { - static let viewModel = UserDetailsEditScreenViewModel(clientProxy: MockClientProxy(userID: "@stefan:matrix.org"), + static let viewModel = UserDetailsEditScreenViewModel(clientProxy: MockClientProxy(userID: "@stefan:superhero.com"), mediaProvider: MockMediaProvider(), userIndicatorController: UserIndicatorControllerMock.default) diff --git a/ElementX/Sources/UITests/UITestsAppCoordinator.swift b/ElementX/Sources/UITests/UITestsAppCoordinator.swift index 070f49023c..d635a167db 100644 --- a/ElementX/Sources/UITests/UITestsAppCoordinator.swift +++ b/ElementX/Sources/UITests/UITestsAppCoordinator.swift @@ -132,8 +132,8 @@ class MockScreen: Identifiable { navigationStackCoordinator.setRootCoordinator(coordinator) return navigationStackCoordinator case .softLogout: - let credentials = SoftLogoutScreenCredentials(userID: "@mock:matrix.org", - homeserverName: "matrix.org", + let credentials = SoftLogoutScreenCredentials(userID: "@mock:superhero.com", + homeserverName: "superhero.com", userDisplayName: "mock", deviceID: "ABCDEFGH") return SoftLogoutScreenCoordinator(parameters: .init(authenticationService: MockAuthenticationServiceProxy(), @@ -159,7 +159,7 @@ class MockScreen: Identifiable { return navigationStackCoordinator case .home: let navigationStackCoordinator = NavigationStackCoordinator() - let session = MockUserSession(clientProxy: MockClientProxy(userID: "@mock:matrix.org"), + let session = MockUserSession(clientProxy: MockClientProxy(userID: "@mock:superhero.com"), mediaProvider: MockMediaProvider()) let coordinator = HomeScreenCoordinator(parameters: .init(userSession: session, attributedStringBuilder: AttributedStringBuilder(permalinkBaseURL: ServiceLocator.shared.settings.permalinkBaseURL), @@ -202,7 +202,7 @@ class MockScreen: Identifiable { case .notificationSettingsScreen: let userNotificationCenter = UserNotificationCenterMock() userNotificationCenter.authorizationStatusReturnValue = .denied - let session = MockUserSession(clientProxy: MockClientProxy(userID: "@mock:matrix.org"), + let session = MockUserSession(clientProxy: MockClientProxy(userID: "@mock:superhero.com"), mediaProvider: MockMediaProvider()) let parameters = NotificationSettingsScreenCoordinatorParameters(userSession: session, userNotificationCenter: userNotificationCenter, @@ -212,7 +212,7 @@ class MockScreen: Identifiable { case .notificationSettingsScreenMismatchConfiguration: let userNotificationCenter = UserNotificationCenterMock() userNotificationCenter.authorizationStatusReturnValue = .denied - let session = MockUserSession(clientProxy: MockClientProxy(userID: "@mock:matrix.org"), + let session = MockUserSession(clientProxy: MockClientProxy(userID: "@mock:superhero.com"), mediaProvider: MockMediaProvider()) let notificationSettings = NotificationSettingsProxyMock(with: .init()) notificationSettings.getDefaultRoomNotificationModeIsEncryptedIsOneToOneClosure = { isEncrypted, isOneToOne in diff --git a/UITests/Sources/LoginScreenUITests.swift b/UITests/Sources/LoginScreenUITests.swift index 6eb088465d..ce41201802 100644 --- a/UITests/Sources/LoginScreenUITests.swift +++ b/UITests/Sources/LoginScreenUITests.swift @@ -25,7 +25,7 @@ class LoginScreenUITests: XCTestCase { try await app.assertScreenshot(.login) // When typing in a username and password. - app.textFields[A11yIdentifiers.loginScreen.emailUsername].clearAndTypeText("@test:matrix.org") + app.textFields[A11yIdentifiers.loginScreen.emailUsername].clearAndTypeText("@test:superhero.com") app.secureTextFields[A11yIdentifiers.loginScreen.password].clearAndTypeText("12345678") // Then the form should be ready to submit. diff --git a/UnitTests/Sources/AttributedStringBuilderTests.swift b/UnitTests/Sources/AttributedStringBuilderTests.swift index b3050762ab..47bf8b2d76 100644 --- a/UnitTests/Sources/AttributedStringBuilderTests.swift +++ b/UnitTests/Sources/AttributedStringBuilderTests.swift @@ -90,7 +90,7 @@ class AttributedStringBuilderTests: XCTestCase { let link = attributedString.runs.first(where: { $0.link != nil })?.link - XCTAssertEqual(link?.host, "www.matrix.org") + XCTAssertEqual(link?.host, "www.superhero.com") } func testRenderPlainStringWithLink() { @@ -107,7 +107,7 @@ class AttributedStringBuilderTests: XCTestCase { let link = attributedString.runs.first(where: { $0.link != nil })?.link - XCTAssertEqual(link?.host, "www.matrix.org") + XCTAssertEqual(link?.host, "www.superhero.com") } func testLinkDefaultScheme() { @@ -124,7 +124,7 @@ class AttributedStringBuilderTests: XCTestCase { let link = attributedString.runs.first(where: { $0.link != nil })?.link - XCTAssertEqual(link, "https://matrix.org") + XCTAssertEqual(link, "https://superhero.com") } func testRenderHTMLStringWithLinkInHeader() { @@ -160,9 +160,9 @@ class AttributedStringBuilderTests: XCTestCase { XCTAssert(h1Font.pointSize > UIFont.preferredFont(forTextStyle: .body).pointSize) XCTAssert(h1Font.pointSize <= maxHeaderPointSize) - XCTAssertEqual(h1AttributedString.runs.first?.link?.host, "www.matrix.org") - XCTAssertEqual(h2AttributedString.runs.first?.link?.host, "www.matrix.org") - XCTAssertEqual(h3AttributedString.runs.first?.link?.host, "www.matrix.org") + XCTAssertEqual(h1AttributedString.runs.first?.link?.host, "www.superhero.com") + XCTAssertEqual(h2AttributedString.runs.first?.link?.host, "www.superhero.com") + XCTAssertEqual(h3AttributedString.runs.first?.link?.host, "www.superhero.com") } func testRenderHTMLStringWithIFrame() { @@ -183,27 +183,27 @@ class AttributedStringBuilderTests: XCTestCase { } func testPermalink() { - let string = "https://matrix.to/#/!hello:matrix.org/$world?via=matrix.org" + let string = "https://matrix.to/#/!hello:matrix.org/$world?via=superhero.com" checkLinkIn(attributedString: attributedStringBuilder.fromHTML(string), expectedLink: string, expectedRuns: 1) checkLinkIn(attributedString: attributedStringBuilder.fromPlain(string), expectedLink: string, expectedRuns: 1) } func testUserIdLink() { - let userId = "@user:matrix.org" + let userId = "@user:superhero.com" let string = "The user is \(userId)." checkLinkIn(attributedString: attributedStringBuilder.fromHTML(string), expectedLink: userId, expectedRuns: 3) checkLinkIn(attributedString: attributedStringBuilder.fromPlain(string), expectedLink: userId, expectedRuns: 3) } func testRoomAliasLink() { - let roomAlias = "#matrix:matrix.org" + let roomAlias = "#matrix:superhero.com" let string = "The room alias is \(roomAlias)." checkLinkIn(attributedString: attributedStringBuilder.fromHTML(string), expectedLink: roomAlias, expectedRuns: 3) checkLinkIn(attributedString: attributedStringBuilder.fromPlain(string), expectedLink: roomAlias, expectedRuns: 3) } func testRoomIdLink() { - let roomId = "!roomidentifier:matrix.org" + let roomId = "!roomidentifier:superhero.com" let string = "The room is \(roomId)." checkLinkIn(attributedString: attributedStringBuilder.fromHTML(string), expectedLink: roomId, expectedRuns: 3) checkLinkIn(attributedString: attributedStringBuilder.fromPlain(string), expectedLink: roomId, expectedRuns: 3) @@ -261,7 +261,7 @@ class AttributedStringBuilderTests: XCTestCase { var foundLink = false for run in attributedString.runs { if run.link != nil { - XCTAssertEqual(run.link?.host, "www.matrix.org") + XCTAssertEqual(run.link?.host, "www.superhero.com") XCTAssertNil(run.uiKit.foregroundColor) foundLink = true } else { diff --git a/UnitTests/Sources/MatrixEntityRegexTests.swift b/UnitTests/Sources/MatrixEntityRegexTests.swift index 0f1b521019..ccd828c424 100644 --- a/UnitTests/Sources/MatrixEntityRegexTests.swift +++ b/UnitTests/Sources/MatrixEntityRegexTests.swift @@ -22,7 +22,7 @@ import XCTest class MatrixEntityRegexTests: XCTestCase { func testHomeserver() { - XCTAssertTrue(MatrixEntityRegex.isMatrixHomeserver("matrix.org")) + XCTAssertTrue(MatrixEntityRegex.isMatrixHomeserver("superhero.com")) XCTAssertTrue(MatrixEntityRegex.isMatrixHomeserver("MATRIX.ORG")) XCTAssertFalse(MatrixEntityRegex.isMatrixHomeserver("matrix?.org")) } @@ -34,15 +34,15 @@ class MatrixEntityRegexTests: XCTestCase { } func testRoomAlias() { - XCTAssertTrue(MatrixEntityRegex.isMatrixRoomAlias("#element-ios:matrix.org")) - XCTAssertFalse(MatrixEntityRegex.isMatrixRoomAlias("element-ios:matrix.org")) - XCTAssertFalse(MatrixEntityRegex.isMatrixRoomAlias("#element-ios.matrix.org")) + XCTAssertTrue(MatrixEntityRegex.isMatrixRoomAlias("#element-ios:superhero.com")) + XCTAssertFalse(MatrixEntityRegex.isMatrixRoomAlias("element-ios:superhero.com")) + XCTAssertFalse(MatrixEntityRegex.isMatrixRoomAlias("#element-ios.superhero.com")) } func testRoomId() { - XCTAssertTrue(MatrixEntityRegex.isMatrixRoomIdentifier("!pMBteVpcoJRdCJxDmn:matrix.org")) - XCTAssertFalse(MatrixEntityRegex.isMatrixRoomIdentifier("pMBteVpcoJRdCJxDmn:matrix.org")) - XCTAssertFalse(MatrixEntityRegex.isMatrixRoomIdentifier("!pMBteVpcoJRdCJxDmn.matrix.org")) + XCTAssertTrue(MatrixEntityRegex.isMatrixRoomIdentifier("!pMBteVpcoJRdCJxDmn:superhero.com")) + XCTAssertFalse(MatrixEntityRegex.isMatrixRoomIdentifier("pMBteVpcoJRdCJxDmn:superhero.com")) + XCTAssertFalse(MatrixEntityRegex.isMatrixRoomIdentifier("!pMBteVpcoJRdCJxDmn.superhero.com")) } func testEventId() { diff --git a/UnitTests/Sources/NotificationSettingsEditScreenViewModelTests.swift b/UnitTests/Sources/NotificationSettingsEditScreenViewModelTests.swift index a7eec68004..17c1ba43f6 100644 --- a/UnitTests/Sources/NotificationSettingsEditScreenViewModelTests.swift +++ b/UnitTests/Sources/NotificationSettingsEditScreenViewModelTests.swift @@ -210,7 +210,7 @@ class NotificationSettingsEditScreenViewModelTests: XCTestCase { } func testSelectRoom() async throws { - let roomID = "!roomidentifier:matrix.org" + let roomID = "!roomidentifier:superhero.com" viewModel = NotificationSettingsEditScreenViewModel(chatType: .oneToOneChat, userSession: userSession, notificationSettingsProxy: notificationSettingsProxy) diff --git a/UnitTests/Sources/PermalinkBuilderTests.swift b/UnitTests/Sources/PermalinkBuilderTests.swift index 5e0264eaf1..c8dc4ee013 100644 --- a/UnitTests/Sources/PermalinkBuilderTests.swift +++ b/UnitTests/Sources/PermalinkBuilderTests.swift @@ -27,7 +27,7 @@ class PermalinkBuilderTests: XCTestCase { } func testUserIdentifierPermalink() { - let userId = "@abcdefghijklmnopqrstuvwxyz1234567890._-=/:matrix.org" + let userId = "@abcdefghijklmnopqrstuvwxyz1234567890._-=/:superhero.com" do { let permalink = try PermalinkBuilder.permalinkTo(userIdentifier: userId, baseURL: appSettings.permalinkBaseURL) @@ -47,11 +47,11 @@ class PermalinkBuilderTests: XCTestCase { } func testRoomIdentifierPermalink() throws { - let roomId = "!abcdefghijklmnopqrstuvwxyz1234567890:matrix.org" + let roomId = "!abcdefghijklmnopqrstuvwxyz1234567890:superhero.com" do { let permalink = try PermalinkBuilder.permalinkTo(roomIdentifier: roomId, baseURL: appSettings.permalinkBaseURL) - XCTAssertEqual(permalink, URL(string: "\(appSettings.permalinkBaseURL)/#/!abcdefghijklmnopqrstuvwxyz1234567890%3Amatrix.org")) + XCTAssertEqual(permalink, URL(string: "\(appSettings.permalinkBaseURL)/#/!abcdefghijklmnopqrstuvwxyz1234567890%3Asuperhero.com")) } catch { XCTFail("Room identifier must be valid: \(error)") } @@ -67,11 +67,11 @@ class PermalinkBuilderTests: XCTestCase { } func testRoomAliasPermalink() throws { - let roomAlias = "#abcdefghijklmnopqrstuvwxyz-_.1234567890:matrix.org" + let roomAlias = "#abcdefghijklmnopqrstuvwxyz-_.1234567890:superhero.com" do { let permalink = try PermalinkBuilder.permalinkTo(roomAlias: roomAlias, baseURL: appSettings.permalinkBaseURL) - XCTAssertEqual(permalink, URL(string: "\(appSettings.permalinkBaseURL)/#/%23abcdefghijklmnopqrstuvwxyz-_.1234567890%3Amatrix.org")) + XCTAssertEqual(permalink, URL(string: "\(appSettings.permalinkBaseURL)/#/%23abcdefghijklmnopqrstuvwxyz-_.1234567890%3Asuperhero.com")) } catch { XCTFail("Room alias must be valid: \(error)") } @@ -88,7 +88,7 @@ class PermalinkBuilderTests: XCTestCase { func testEventPermalink() throws { let eventId = "$abcdefghijklmnopqrstuvwxyz1234567890" - let roomId = "!abcdefghijklmnopqrstuvwxyz1234567890:matrix.org" + let roomId = "!abcdefghijklmnopqrstuvwxyz1234567890:superhero.com" do { let permalink = try PermalinkBuilder.permalinkTo(eventIdentifier: eventId, roomIdentifier: roomId, baseURL: appSettings.permalinkBaseURL) @@ -108,19 +108,19 @@ class PermalinkBuilderTests: XCTestCase { } func testPermalinkDetection() { - var url: URL = "https://www.matrix.org" + var url: URL = "https://www.superhero.com" XCTAssertEqual(PermalinkBuilder.detectPermalink(in: url, baseURL: appSettings.permalinkBaseURL), nil) - url = "https://matrix.to/#/@bob:matrix.org?via=matrix.org" - XCTAssertEqual(PermalinkBuilder.detectPermalink(in: url, baseURL: appSettings.permalinkBaseURL), PermalinkType.userIdentifier("@bob:matrix.org")) + url = "https://matrix.to/#/@bob:matrix.org?via=superhero.com" + XCTAssertEqual(PermalinkBuilder.detectPermalink(in: url, baseURL: appSettings.permalinkBaseURL), PermalinkType.userIdentifier("@bob:superhero.com")) - url = "https://matrix.to/#/!roomidentifier:matrix.org?via=matrix.org" - XCTAssertEqual(PermalinkBuilder.detectPermalink(in: url, baseURL: appSettings.permalinkBaseURL), PermalinkType.roomIdentifier("!roomidentifier:matrix.org")) + url = "https://matrix.to/#/!roomidentifier:matrix.org?via=superhero.com" + XCTAssertEqual(PermalinkBuilder.detectPermalink(in: url, baseURL: appSettings.permalinkBaseURL), PermalinkType.roomIdentifier("!roomidentifier:superhero.com")) - url = "https://matrix.to/#/%23roomalias:matrix.org?via=matrix.org" - XCTAssertEqual(PermalinkBuilder.detectPermalink(in: url, baseURL: appSettings.permalinkBaseURL), PermalinkType.roomAlias("#roomalias:matrix.org")) + url = "https://matrix.to/#/%23roomalias:matrix.org?via=superhero.com" + XCTAssertEqual(PermalinkBuilder.detectPermalink(in: url, baseURL: appSettings.permalinkBaseURL), PermalinkType.roomAlias("#roomalias:superhero.com")) - url = "https://matrix.to/#/!roomidentifier:matrix.org/$eventidentifier?via=matrix.org" - XCTAssertEqual(PermalinkBuilder.detectPermalink(in: url, baseURL: appSettings.permalinkBaseURL), PermalinkType.event(roomIdentifier: "!roomidentifier:matrix.org", eventIdentifier: "$eventidentifier")) + url = "https://matrix.to/#/!roomidentifier:matrix.org/$eventidentifier?via=superhero.com" + XCTAssertEqual(PermalinkBuilder.detectPermalink(in: url, baseURL: appSettings.permalinkBaseURL), PermalinkType.event(roomIdentifier: "!roomidentifier:superhero.com", eventIdentifier: "$eventidentifier")) } } diff --git a/UnitTests/Sources/RoomStateEventStringBuilderTests.swift b/UnitTests/Sources/RoomStateEventStringBuilderTests.swift index a886fe3468..9a4844ebad 100644 --- a/UnitTests/Sources/RoomStateEventStringBuilderTests.swift +++ b/UnitTests/Sources/RoomStateEventStringBuilderTests.swift @@ -23,7 +23,7 @@ class RoomStateEventStringBuilderTests: XCTestCase { var stringBuilder: RoomStateEventStringBuilder! override func setUp() { - userID = "@alice:matrix.org" + userID = "@alice:superhero.com" stringBuilder = RoomStateEventStringBuilder(userID: userID) } @@ -37,7 +37,7 @@ class RoomStateEventStringBuilderTests: XCTestCase { expectedString: L10n.stateEventDisplayNameSetByYou("Alice")) // Changes by someone else. - let senderID = "@bob:matrix.org" + let senderID = "@bob:superhero.com" validateDisplayNameChange(senderID: senderID, oldName: "Bob", newName: "Alice", expectedString: L10n.stateEventDisplayNameChangedFrom(senderID, "Bob", "Alice")) validateDisplayNameChange(senderID: senderID, oldName: "Bob", newName: nil, @@ -67,7 +67,7 @@ class RoomStateEventStringBuilderTests: XCTestCase { expectedString: L10n.stateEventAvatarUrlChangedByYou) // Changes by someone else. - let senderID = "@bob:matrix.org" + let senderID = "@bob:superhero.com" let senderName = "Bob" validateAvatarChange(senderID: senderID, senderName: senderName, oldAvatarURL: "mxc://1", newAvatarURL: "mxc://2", expectedString: L10n.stateEventAvatarUrlChanged(senderName)) diff --git a/UnitTests/Sources/SoftLogoutViewModelTests.swift b/UnitTests/Sources/SoftLogoutViewModelTests.swift index 4200c43511..0c63a57c05 100644 --- a/UnitTests/Sources/SoftLogoutViewModelTests.swift +++ b/UnitTests/Sources/SoftLogoutViewModelTests.swift @@ -20,7 +20,7 @@ import XCTest class SoftLogoutViewModelTests: XCTestCase { let credentials = SoftLogoutScreenCredentials(userID: "mock_user_id", - homeserverName: "https://matrix.org", + homeserverName: "https://superhero.com", userDisplayName: "mock_username", deviceID: "ABCDEFGH") diff --git a/UnitTests/Sources/UserDiscoveryService/UserDiscoveryServiceTest.swift b/UnitTests/Sources/UserDiscoveryService/UserDiscoveryServiceTest.swift index f8b3a88cb5..98625e932c 100644 --- a/UnitTests/Sources/UserDiscoveryService/UserDiscoveryServiceTest.swift +++ b/UnitTests/Sources/UserDiscoveryService/UserDiscoveryServiceTest.swift @@ -24,7 +24,7 @@ class UserDiscoveryServiceTest: XCTestCase { var clientProxy: MockClientProxy! override func setUpWithError() throws { - clientProxy = .init(userID: "@foo:matrix.org") + clientProxy = .init(userID: "@foo:superhero.com") service = UserDiscoveryService(clientProxy: clientProxy) } @@ -36,7 +36,7 @@ class UserDiscoveryServiceTest: XCTestCase { } func testOwnerIsFiltered() async throws { - clientProxy.searchUsersResult = .success(.init(results: [UserProfileProxy(userID: "@foo:matrix.org")], limited: true)) + clientProxy.searchUsersResult = .success(.init(results: [UserProfileProxy(userID: "@foo:superhero.com")], limited: true)) let results = await (try? search(query: "AAA").get()) ?? [] assertSearchResults(results, toBe: 0) @@ -44,7 +44,7 @@ class UserDiscoveryServiceTest: XCTestCase { func testGetProfileIsNotCalled() async { clientProxy.searchUsersResult = .success(.init(results: searchResults, limited: true)) - clientProxy.getProfileResult = .success(.init(userID: "@alice:matrix.org")) + clientProxy.getProfileResult = .success(.init(userID: "@alice:superhero.com")) let results = await (try? search(query: "AAA").get()) ?? [] assertSearchResults(results, toBe: 3) @@ -53,16 +53,16 @@ class UserDiscoveryServiceTest: XCTestCase { func testGetProfileIsNotCalledForAccountOwnerID() async { clientProxy.searchUsersResult = .success(.init(results: searchResults, limited: true)) - clientProxy.getProfileResult = .success(.init(userID: "@alice:matrix.org")) + clientProxy.getProfileResult = .success(.init(userID: "@alice:superhero.com")) - let results = await (try? search(query: "foo:matrix.org").get()) ?? [] + let results = await (try? search(query: "foo:superhero.com").get()) ?? [] assertSearchResults(results, toBe: 3) XCTAssertFalse(clientProxy.getProfileCalled) } func testLocalResultShows() async { clientProxy.searchUsersResult = .success(.init(results: searchResults, limited: true)) - clientProxy.getProfileResult = .success(.init(userID: "@some:matrix.org")) + clientProxy.getProfileResult = .success(.init(userID: "@some:superhero.com")) let results = await (try? search(query: "@a:b.com").get()) ?? [] @@ -72,7 +72,7 @@ class UserDiscoveryServiceTest: XCTestCase { func testLocalResultShowsOnSearchError() async { clientProxy.searchUsersResult = .failure(.failedSearchingUsers) - clientProxy.getProfileResult = .success(.init(userID: "@some:matrix.org")) + clientProxy.getProfileResult = .success(.init(userID: "@some:superhero.com")) let results = await (try? search(query: "@a:b.com").get()) ?? [] @@ -82,7 +82,7 @@ class UserDiscoveryServiceTest: XCTestCase { func testSearchErrorTriggers() async { clientProxy.searchUsersResult = .failure(.failedSearchingUsers) - clientProxy.getProfileResult = .success(.init(userID: "@some:matrix.org")) + clientProxy.getProfileResult = .success(.init(userID: "@some:superhero.com")) switch await search(query: "some query") { case .success: @@ -96,13 +96,13 @@ class UserDiscoveryServiceTest: XCTestCase { func testLocalResultWithDuplicates() async { clientProxy.searchUsersResult = .success(.init(results: searchResults, limited: true)) - clientProxy.getProfileResult = .success(.init(userID: "@bob:matrix.org")) + clientProxy.getProfileResult = .success(.init(userID: "@bob:superhero.com")) let results = await (try? search(query: "@a:b.com").get()) ?? [] assertSearchResults(results, toBe: 3) let firstUserID = results.first?.userID - XCTAssertEqual(firstUserID, "@bob:matrix.org") + XCTAssertEqual(firstUserID, "@bob:superhero.com") XCTAssertTrue(clientProxy.getProfileCalled) } diff --git a/UnitTests/Sources/WaitlistScreenViewModelTests.swift b/UnitTests/Sources/WaitlistScreenViewModelTests.swift index 22d5a03dab..a110a5db25 100644 --- a/UnitTests/Sources/WaitlistScreenViewModelTests.swift +++ b/UnitTests/Sources/WaitlistScreenViewModelTests.swift @@ -31,7 +31,7 @@ class WaitlistScreenViewModelTests: XCTestCase { XCTAssertNil(context.viewState.userSession, "No user session should be set on a new view model.") XCTAssertTrue(context.viewState.isWaiting, "The view should start off in the waiting state.") - viewModel.update(userSession: MockUserSession(clientProxy: MockClientProxy(userID: "@alice:matrix.org"), + viewModel.update(userSession: MockUserSession(clientProxy: MockClientProxy(userID: "@alice:superhero.com"), mediaProvider: MockMediaProvider())) XCTAssertNotNil(context.viewState.userSession, "The user session should have been updated.") diff --git a/project.yml b/project.yml index 380c07ab94..4a1b37a27e 100644 --- a/project.yml +++ b/project.yml @@ -25,9 +25,9 @@ settings: ENABLE_BITCODE: NO BASE_APP_GROUP_IDENTIFIER: io.element APP_GROUP_IDENTIFIER: group.$(BASE_APP_GROUP_IDENTIFIER) - BASE_BUNDLE_IDENTIFIER: io.element.elementx - APP_NAME: ElementX - APP_DISPLAY_NAME: Element X + BASE_BUNDLE_IDENTIFIER: com.superhero.chat + APP_NAME: Superhero + APP_DISPLAY_NAME: Superhero APP_CUSTOM_SCHEME: element KEYCHAIN_ACCESS_GROUP_IDENTIFIER: $(AppIdentifierPrefix)$(BASE_BUNDLE_IDENTIFIER) MARKETING_VERSION: 1.2.9