diff --git a/Podfile b/Podfile index ac281a9b9..07d704c5a 100644 --- a/Podfile +++ b/Podfile @@ -43,7 +43,7 @@ when String # specific MatrixSDK released version $matrixSDKVersionSpec = $matrixSDKVersion end -$matrixSDKVersionSpec = { :git => 'https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk', :tag => 'v2.25.0' } +$matrixSDKVersionSpec = { :git => 'https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk', :tag => 'v2.25.1-RC01' } ######################################## diff --git a/Podfile.lock b/Podfile.lock index f9e91e62f..4e910861d 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -14,30 +14,39 @@ PODS: - AFNetworking/Serialization (4.0.1) - AFNetworking/UIKit (4.0.1): - AFNetworking/NSURLSession - - BlueCryptor (1.0.32) - - BlueECC (1.2.5) - - BlueRSA (1.0.200) - Down (0.11.0) - DSWaveformImage (6.1.1) - - FLEX (5.22.10) + - DTCoreText (1.6.26): + - DTCoreText/Core (= 1.6.26) + - DTFoundation/Core (~> 1.7.5) + - DTFoundation/DTAnimatedGIF (~> 1.7.5) + - DTFoundation/DTHTMLParser (~> 1.7.5) + - DTFoundation/UIKit (~> 1.7.5) + - DTCoreText/Core (1.6.26): + - DTFoundation/Core (~> 1.7.5) + - DTFoundation/DTAnimatedGIF (~> 1.7.5) + - DTFoundation/DTHTMLParser (~> 1.7.5) + - DTFoundation/UIKit (~> 1.7.5) + - DTFoundation/Core (1.7.19) + - DTFoundation/DTAnimatedGIF (1.7.19) + - DTFoundation/DTHTMLParser (1.7.19): + - DTFoundation/Core + - DTFoundation/UIKit (1.7.19): + - DTFoundation/Core + - DTTJailbreakDetection (0.4.0) - FlowCommoniOS (1.12.2) - GBDeviceInfo (7.1.0): - GBDeviceInfo/Core (= 7.1.0) - GBDeviceInfo/Core (7.1.0) - GZIP (1.3.2) - Introspect (0.12.0) - - JitsiMeetSDKLite (8.1.2-lite): - - JitsiWebRTC (~> 111.0) - - JitsiWebRTC (111.0.2) - KeychainAccess (4.2.2) - - KituraContracts (1.2.1): - - LoggerAPI (~> 1.7) - KTCenterFlowLayout (1.3.1) - libbase58 (0.1.4) - libPhoneNumber-iOS (0.9.15) - - LoggerAPI (1.9.200): - - Logging (~> 1.1) - - Logging (1.4.0) + - MatomoTracker (7.5.2): + - MatomoTracker/Core (= 7.5.2) + - MatomoTracker/Core (7.5.2) - MatrixSDK (0.27.17): - MatrixSDK/Core (= 0.27.17) - MatrixSDK/Core (0.27.17): @@ -47,9 +56,6 @@ PODS: - MatrixSDKCrypto (= 0.11.1) - Realm (= 10.27.0) - SwiftyBeaver (= 1.9.5) - - MatrixSDK/JingleCallStack (0.27.17): - - JitsiMeetSDKLite (= 8.1.2-lite) - - MatrixSDK/Core - MatrixSDKCrypto (0.11.1) - ReadMoreTextView (3.0.1) - Realm (10.27.0): @@ -60,19 +66,9 @@ PODS: - Reusable/View (= 4.1.2) - Reusable/Storyboard (4.1.2) - Reusable/View (4.1.2) - - Sentry (8.46.0): - - Sentry/Core (= 8.46.0) - - Sentry/Core (8.46.0) - SideMenu (6.5.0) - - SwiftBase32 (0.9.0) - SwiftFormat/CLI (0.54.5) - SwiftGen (6.6.3) - - SwiftJWT (3.6.200): - - BlueCryptor (~> 1.0) - - BlueECC (~> 1.1) - - BlueRSA (~> 1.0) - - KituraContracts (~> 1.2) - - LoggerAPI (~> 1.7) - SwiftLint (0.57.0) - SwiftyBeaver (1.9.5) - UICollectionViewLeftAlignedLayout (1.0.2) @@ -86,23 +82,21 @@ PODS: DEPENDENCIES: - Down (~> 0.11.0) - DSWaveformImage (~> 6.1.1) - - FLEX (~> 5.22.10) + - DTCoreText (= 1.6.26) + - DTTJailbreakDetection (~> 0.4.0) - FlowCommoniOS (~> 1.12.0) - GBDeviceInfo (~> 7.1.0) - Introspect (~> 0.1) - KeychainAccess (~> 4.2.2) - KTCenterFlowLayout (~> 1.3.1) - libPhoneNumber-iOS (~> 0.9.13) - - MatrixSDK (from `matrix-ios-sdk/MatrixSDK.podspec`) - - MatrixSDK/JingleCallStack (from `matrix-ios-sdk/MatrixSDK.podspec`) + - MatomoTracker (~> 7.5.2) + - MatrixSDK (from `https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk`, tag `v2.25.1-RC01`) - ReadMoreTextView (~> 3.0.1) - Reusable (~> 4.1) - - Sentry (~> 8.46.0) - SideMenu (~> 6.5) - - SwiftBase32 (~> 0.9.0) - SwiftFormat/CLI - SwiftGen - - SwiftJWT (~> 3.6.200) - SwiftLint - UICollectionViewLeftAlignedLayout (~> 1.0.2) - UICollectionViewRightAlignedLayout (~> 0.0.3) @@ -112,37 +106,28 @@ DEPENDENCIES: SPEC REPOS: https://github.com/CocoaPods/Specs.git: - - MatrixSDKCrypto - - Sentry - trunk: - AFNetworking - - BlueCryptor - - BlueECC - - BlueRSA - Down - DSWaveformImage - - FLEX + - DTCoreText + - DTFoundation + - DTTJailbreakDetection - FlowCommoniOS - GBDeviceInfo - GZIP - Introspect - - JitsiMeetSDKLite - - JitsiWebRTC - KeychainAccess - - KituraContracts - KTCenterFlowLayout - libbase58 - libPhoneNumber-iOS - - LoggerAPI - - Logging + - MatomoTracker + - MatrixSDKCrypto - ReadMoreTextView - Realm - Reusable - SideMenu - - SwiftBase32 - SwiftFormat - SwiftGen - - SwiftJWT - SwiftLint - SwiftyBeaver - UICollectionViewLeftAlignedLayout @@ -153,40 +138,38 @@ SPEC REPOS: EXTERNAL SOURCES: MatrixSDK: - :path: matrix-ios-sdk/MatrixSDK.podspec + :git: https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk + :tag: v2.25.1-RC01 + +CHECKOUT OPTIONS: + MatrixSDK: + :git: https://dl-gitlab.example.com/bwmessenger/bundesmessenger/bundesmessenger-ios-sdk + :tag: v2.25.1-RC01 SPEC CHECKSUMS: AFNetworking: 3bd23d814e976cd148d7d44c3ab78017b744cd58 - BlueCryptor: b0aee3d9b8f367b49b30de11cda90e1735571c24 - BlueECC: 0d18e93347d3ec6d41416de21c1ffa4d4cd3c2cc - BlueRSA: dfeef51db96bcc4edec654956c1581adbda4e6a3 Down: b6ba1bc985c9d2f4e15e3b293d2207766fa12612 DSWaveformImage: 3c718a0cf99291887ee70d1d0c18d80101d3d9ce - FLEX: f21ee4f498eed3f8a1eded66b21939fd3b7a22ce + DTCoreText: ec749e013f2e1f76de5e7c7634642e600a7467ce + DTFoundation: 76b624967cf5bcaae6bb057d622c536c36ef36d0 + DTTJailbreakDetection: 5e356c5badc17995f65a83ed9483f787a0057b71 FlowCommoniOS: ca92071ab526dc89905495a37844fd7e78d1a7f2 GBDeviceInfo: 5d62fa85bdcce3ed288d83c28789adf1173e4376 GZIP: 3c0abf794bfce8c7cb34ea05a1837752416c8868 Introspect: b66b675de8a85d9ef832f3a710d8e3c7db186884 - JitsiMeetSDKLite: 895213158cf62342069a10634a41d2f1c00057f7 - JitsiWebRTC: 80f62908fcf2a1160e0d14b584323fb6e6be630b KeychainAccess: c0c4f7f38f6fc7bbe58f5702e25f7bd2f65abf51 - KituraContracts: e845e60dc8627ad0a76fa55ef20a45451d8f830b KTCenterFlowLayout: 6e02b50ab2bd865025ae82fe266ed13b6d9eaf97 - libbase58: 7c040313537b8c44b6e2d15586af8e21f7354efd + libbase58: 8abc2a53ac38cd37720c0acbc53ef3660e9016c2 libPhoneNumber-iOS: 0a32a9525cf8744fe02c5206eb30d571e38f7d75 - LoggerAPI: ad9c4a6f1e32f518fdb43a1347ac14d765ab5e3d - Logging: beeb016c9c80cf77042d62e83495816847ef108b + MatomoTracker: 1d98ddc58322fd9d65e1a6886b8e41363047bd13 MatrixSDK: 45f9f97e7424e5d8731bf6b207c728a71caa8eb1 MatrixSDKCrypto: e44608012cae9befc52f13cd8e56c6f51ac83702 ReadMoreTextView: 19147adf93abce6d7271e14031a00303fe28720d Realm: 9ca328bd7e700cc19703799785e37f77d1a130f2 Reusable: 6bae6a5e8aa793c9c441db0213c863a64bce9136 - Sentry: da60d980b197a46db0b35ea12cb8f39af48d8854 SideMenu: f583187d21c5b1dd04c72002be544b555a2627a2 - SwiftBase32: 9399c25a80666dc66b51e10076bf591e3bbb8f17 SwiftFormat: 543a7b1ab4a6ce2d88bd5616a17903446ca3dc5c SwiftGen: 4993cbf71cbc4886f775e26f8d5c3a1188ec9f99 - SwiftJWT: 88c412708f58c169d431d344c87bc79a87c830ae SwiftLint: eb47480d47c982481592c195c221d11013a679cc SwiftyBeaver: 84069991dd5dca07d7069100985badaca7f0ce82 UICollectionViewLeftAlignedLayout: 830bf6fa5bab9f9b464f62e3384f9d2e00b3c0f6 @@ -195,6 +178,6 @@ SPEC CHECKSUMS: zxcvbn-ios: fef98b7c80f1512ff0eec47ac1fa399fc00f7e3c ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 -PODFILE CHECKSUM: 60f4fe3695f2304b9bba734acf38d59c79678ac1 +PODFILE CHECKSUM: 39e8f56c2134aa41ec33ec47c714f5ad0701735e COCOAPODS: 1.16.2 diff --git a/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved index 1932cc698..d4b165eca 100644 --- a/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "990424a81b986029a9135d7160faffa20b363bb30f1edd5be4a85e792551c893", + "originHash" : "a076b2f8f5d584ca7d9da77481d329ef792da391832f42c6e04caa42c69f5631", "pins" : [ { "identity" : "bluecryptor", @@ -24,8 +24,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Kitura/BlueRSA.git", "state" : { - "revision" : "440f78db26d8bb073f29590f1c7bd31004da09ae", - "version" : "1.0.201" + "revision" : "f40325520344a966523b214394aa350132a6af68", + "version" : "1.0.203" } }, { @@ -103,10 +103,10 @@ { "identity" : "matrix-rich-text-editor-swift", "kind" : "remoteSourceControl", - "location" : "https://github.com/matrix-org/matrix-rich-text-editor-swift", + "location" : "https://github.com/element-hq/matrix-rich-text-editor-swift", "state" : { - "revision" : "21c0dd6e9c0b38d19d97af8e3e99fe01df56825d", - "version" : "2.37.3" + "revision" : "b6583a47b5d14d2dc8405a0303ebd4041b877707", + "version" : "2.37.12" } }, { @@ -141,8 +141,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Kitura/Swift-JWT", "state" : { - "revision" : "08e02ff214c41df49bdd189ff837d68ba11c437b", - "version" : "4.0.0" + "revision" : "2cf7ef3eeb0df84318c75662c257651285f8289f", + "version" : "4.0.2" } }, { diff --git a/Riot/Modules/ContextMenu/Services/RoomContextActionService.swift b/Riot/Modules/ContextMenu/Services/RoomContextActionService.swift index e68e1cd86..7fe1abc1c 100644 --- a/Riot/Modules/ContextMenu/Services/RoomContextActionService.swift +++ b/Riot/Modules/ContextMenu/Services/RoomContextActionService.swift @@ -142,7 +142,8 @@ class RoomContextActionService: NSObject, RoomContextActionServiceProtocol { self.delegate?.roomContextActionService(self, presentAlert: self.getLeaveAlertController()) } else { self.delegate?.roomContextActionService(self, presentAlert: self.leaveAlertController) - + } + Task { if try await room.isLastOwner() { await MainActor.run { diff --git a/Riot/Modules/Room/Members/Detail/RoomMemberDetailsViewController.m b/Riot/Modules/Room/Members/Detail/RoomMemberDetailsViewController.m index 3f9699028..223e0e882 100644 --- a/Riot/Modules/Room/Members/Detail/RoomMemberDetailsViewController.m +++ b/Riot/Modules/Room/Members/Detail/RoomMemberDetailsViewController.m @@ -1427,13 +1427,13 @@ Please see LICENSE in the repository root for full details. - (bool)isLastAdmin:(NSString*) userId { __block NSInteger numOtherAdmins = 0; - if (!userId || [self.mxRoomLiveTimeline.state.powerLevels powerLevelOfUserWithUserID:userId] < RoomPowerLevelAdmin) + if (!userId || [self.mxRoomLiveTimeline.state powerLevelOfUserWithUserID:userId] < RoomPowerLevelAdmin) return FALSE; // Update member power level [self.mxRoom members:^(MXRoomMembers *roomMembers) { for (MXRoomMember* member in roomMembers.members) { - NSInteger powerLevel = [self.mxRoomLiveTimeline.state.powerLevels powerLevelOfUserWithUserID:member.userId]; + NSInteger powerLevel = [self.mxRoomLiveTimeline.state powerLevelOfUserWithUserID:member.userId]; if (member && ![member.userId isEqualToString:userId] && member.membership == MXMembershipJoin && powerLevel >= RoomPowerLevelAdmin) { numOtherAdmins++; } diff --git a/Riot/Modules/Room/Members/RoomParticipantsViewController.m b/Riot/Modules/Room/Members/RoomParticipantsViewController.m index 4e7a4beb8..414d17701 100644 --- a/Riot/Modules/Room/Members/RoomParticipantsViewController.m +++ b/Riot/Modules/Room/Members/RoomParticipantsViewController.m @@ -651,7 +651,7 @@ Please see LICENSE in the repository root for full details. // Update member power level MXRoomPowerLevels *powerLevels = [roomState powerLevels]; - NSInteger powerLevel = [powerLevels powerLevelOfUserWithUserID:mxMember.userId]; + NSInteger powerLevel = [roomState powerLevelOfUserWithUserID:mxMember.userId]; RoomPowerLevel roomPowerLevel = [RoomPowerLevelHelper roomPowerLevelFrom:powerLevel]; @@ -659,7 +659,7 @@ Please see LICENSE in the repository root for full details. { [invitedParticipants addObject:contact]; } - else if (roomPowerLevel == RoomPowerLevelAdmin) { + else if (roomPowerLevel == RoomPowerLevelAdmin || roomPowerLevel == RoomPowerLevelOwner) { [adminParticipants addObject:contact]; } else if (roomPowerLevel == RoomPowerLevelModerator) { @@ -1092,7 +1092,7 @@ Please see LICENSE in the repository root for full details. // Update member power level MXRoomPowerLevels *powerLevels = [roomState powerLevels]; - NSInteger powerLevel = [powerLevels powerLevelOfUserWithUserID:contact.mxMember.userId]; + NSInteger powerLevel = [roomState powerLevelOfUserWithUserID:contact.mxMember.userId]; RoomPowerLevel roomPowerLevel = [RoomPowerLevelHelper roomPowerLevelFrom:powerLevel]; diff --git a/Riot/Modules/Room/RoomViewController.m b/Riot/Modules/Room/RoomViewController.m index 71dadb1eb..7d5fe83bc 100644 --- a/Riot/Modules/Room/RoomViewController.m +++ b/Riot/Modules/Room/RoomViewController.m @@ -8461,7 +8461,7 @@ static CGSize kThreadListBarButtonItemImageSize; { // Do not show sheet if users power level is lower than admin MXRoomPowerLevels *powerLevels = self.roomDataSource.roomState.powerLevels; - if ([powerLevels powerLevelOfUserWithUserID:self.mainSession.myUser.userId] >= RoomPowerLevelAdmin) + if ([self.roomDataSource.roomState powerLevelOfUserWithUserID:self.mainSession.myUser.userId] >= RoomPowerLevelAdmin) { // Show sheet if no serverACL have been configured [self.roomDataSource.room getCurrentRoomServerACLSettingsWithCompletion:^(NSString *serverACL) diff --git a/Riot/Modules/Room/Settings/RoomSettingsViewController.m b/Riot/Modules/Room/Settings/RoomSettingsViewController.m index ea245c289..a9a10ff98 100644 --- a/Riot/Modules/Room/Settings/RoomSettingsViewController.m +++ b/Riot/Modules/Room/Settings/RoomSettingsViewController.m @@ -3013,7 +3013,7 @@ BOOL reloadToggleCell = false; // check users power level, only admins or moderators are allowed to change the federation MXRoomPowerLevels *powerLevels = [mxRoomState powerLevels]; - BOOL isToggleDisabled = ([powerLevels powerLevelOfUserWithUserID:self.mainSession.myUser.userId] != RoomPowerLevelAdmin); + BOOL isToggleDisabled = ([mxRoomState powerLevelOfUserWithUserID:self.mainSession.myUser.userId] < RoomPowerLevelAdmin); // reuse view on layout refresh if (reloadToggleCell || ![cell hasBeenInitialized]) { @@ -3960,7 +3960,7 @@ BOOL reloadToggleCell = false; MXRoomPowerLevels *powerLevels = [mxRoomState powerLevels]; - if ([powerLevels powerLevelOfUserWithUserID:self.mainSession.myUser.userId] != RoomPowerLevelAdmin) { + if ([mxRoomState powerLevelOfUserWithUserID:self.mainSession.myUser.userId] < RoomPowerLevelAdmin) { directoryVisibilitySwitch.enabled = NO; } diff --git a/bwi/LeaveRoom/LeaveRoomHelper.swift b/bwi/LeaveRoom/LeaveRoomHelper.swift index eb98f0f48..70bb68fef 100644 --- a/bwi/LeaveRoom/LeaveRoomHelper.swift +++ b/bwi/LeaveRoom/LeaveRoomHelper.swift @@ -57,7 +57,7 @@ final class LeaveRoomHelper { room.state { (state) in let powerLevels = state?.powerLevels - let userPowerLevel = powerLevels?.powerLevelOfUser(withUserID: userId) + let userPowerLevel = state?.powerLevelOfUser(withUserID: userId) let roomPowerLevel = RoomPowerLevelHelper.roomPowerLevel(from: userPowerLevel ?? RoomPowerLevel.user.rawValue) if roomPowerLevel == RoomPowerLevel.admin { diff --git a/bwi/MatomoAnalytics/BWIAnalyticsHelper.swift b/bwi/MatomoAnalytics/BWIAnalyticsHelper.swift index 4533761b8..1e09fd513 100644 --- a/bwi/MatomoAnalytics/BWIAnalyticsHelper.swift +++ b/bwi/MatomoAnalytics/BWIAnalyticsHelper.swift @@ -113,7 +113,7 @@ import MatrixSDK let powerLevels = state?.powerLevels for member in roomMembers?.joinedMembers ?? [MXRoomMember]() { - if let powerLevel = powerLevels?.powerLevelOfUser(withUserID: member.userId) { + if let powerLevel = state?.powerLevelOfUser(withUserID: member.userId) { if powerLevel >= 100 { noOfAdmins += 1 } diff --git a/bwi/RollsAndRights/RoomRollsAndRightsService.swift b/bwi/RollsAndRights/RoomRollsAndRightsService.swift index 392dc64c7..32c4d1d9a 100644 --- a/bwi/RollsAndRights/RoomRollsAndRightsService.swift +++ b/bwi/RollsAndRights/RoomRollsAndRightsService.swift @@ -79,7 +79,7 @@ final class RoomRollsAndRightsService: RoomRollsAndRightsServiceType { self.room.state { (state) in let userID = self.room.mxSession.myUser.userId let powerLevels = state?.powerLevels - let userPowerLevel = powerLevels?.powerLevelOfUser(withUserID: userID) + let userPowerLevel = state?.powerLevelOfUser(withUserID: userID) let roomPowerLevel = RoomPowerLevelHelper.roomPowerLevel(from: userPowerLevel ?? RoomPowerLevel.user.rawValue) if roomPowerLevel == RoomPowerLevel.admin {