diff --git a/CHANGES.rst b/CHANGES.rst index 3349c7ebf..9d1be71c4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,12 @@ +Changes in 0.10.5 (2020-04-01) +=============================================== + +Bug fix: + * Fix error when joining some public rooms, thanks to @chrismoos (PR #2888). + * Fix crash due to malformed widget (#2997). + * Push notifications: Avoid any automatic deactivation (vector-im/riot-ios#3017). + * Fix links breaking user out of SSO flow. + Changes in 0.10.4 (2019-12-11) =============================================== diff --git a/Podfile b/Podfile index 08e25c09e..ee2ceb707 100644 --- a/Podfile +++ b/Podfile @@ -7,7 +7,7 @@ use_frameworks! # Different flavours of pods to MatrixKit # The current MatrixKit pod version -$matrixKitVersion = '0.11.3' +$matrixKitVersion = '0.11.4' # The develop branch version #$matrixKitVersion = 'develop' diff --git a/Podfile.lock b/Podfile.lock index bc0650dba..506e78114 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -49,15 +49,15 @@ PODS: - MatomoTracker (7.2.0): - MatomoTracker/Core (= 7.2.0) - MatomoTracker/Core (7.2.0) - - MatrixKit (0.11.3): + - MatrixKit (0.11.4): - cmark (~> 0.24.1) - DTCoreText (~> 1.6.21) - HPGrowingTextView (~> 1.1) - libPhoneNumber-iOS (~> 0.9.13) - - MatrixKit/Core (= 0.11.3) + - MatrixKit/Core (= 0.11.4) - MatrixSDK (= 0.15.2) - SwiftUTI (~> 1.0.6) - - MatrixKit/AppExtension (0.11.3): + - MatrixKit/AppExtension (0.11.4): - cmark (~> 0.24.1) - DTCoreText (~> 1.6.21) - DTCoreText/Extension @@ -65,7 +65,7 @@ PODS: - libPhoneNumber-iOS (~> 0.9.13) - MatrixSDK (= 0.15.2) - SwiftUTI (~> 1.0.6) - - MatrixKit/Core (0.11.3): + - MatrixKit/Core (0.11.4): - cmark (~> 0.24.1) - DTCoreText (~> 1.6.21) - HPGrowingTextView (~> 1.1) @@ -108,8 +108,8 @@ DEPENDENCIES: - DGCollectionViewLeftAlignFlowLayout (~> 1.0.4) - GBDeviceInfo (~> 6.3.0) - MatomoTracker (~> 7.2.0) - - MatrixKit (= 0.11.3) - - MatrixKit/AppExtension (= 0.11.3) + - MatrixKit (= 0.11.4) + - MatrixKit/AppExtension (= 0.11.4) - MatrixSDK/JingleCallStack - MatrixSDK/SwiftSupport - OLMKit @@ -165,7 +165,7 @@ SPEC CHECKSUMS: libbase58: 7c040313537b8c44b6e2d15586af8e21f7354efd libPhoneNumber-iOS: 0a32a9525cf8744fe02c5206eb30d571e38f7d75 MatomoTracker: 6f89e2561083685a360e223fb663e9ccd57c1d1a - MatrixKit: 5a20025b05490a70694b701e607ec75e0988af21 + MatrixKit: 3db15f216e2de4d53b1405434028d44f42d4af22 MatrixSDK: f83bd3c5519c1cb9ac3998f6423574cf528f0250 OLMKit: 4ee0159d63feeb86d836fdcfefe418e163511639 Realm: 5a1d9d47bfc101dd597668b1a8af4288a2557f6d @@ -175,6 +175,6 @@ SPEC CHECKSUMS: SwiftUTI: 917993c124f8eac25e88ced0202fc58d7eb50fa8 zxcvbn-ios: fef98b7c80f1512ff0eec47ac1fa399fc00f7e3c -PODFILE CHECKSUM: 881048fb17d68dd834b18e23929482600daca7f3 +PODFILE CHECKSUM: c7b37d248a316ae786328d88148e3155fea6bee3 COCOAPODS: 1.8.4 diff --git a/Riot/AppDelegate.m b/Riot/AppDelegate.m index 517395fb0..a126f8f7e 100644 --- a/Riot/AppDelegate.m +++ b/Riot/AppDelegate.m @@ -2069,9 +2069,13 @@ NSString *const AppDelegateDidValidateEmailNotificationClientSecretKey = @"AppDe { NSLog(@"[AppDelegate][Push] clearPushNotificationToken: Clear existing token"); + // XXX: The following code has been commented to avoid automatic deactivation of push notifications + // There may be a race condition here where the clear happens after the update of the new push token. + // We have no evidence of this. This is a safety measure. + // Clear existing token - MXKAccountManager* accountManager = [MXKAccountManager sharedManager]; - [accountManager setPushDeviceToken:nil withPushOptions:nil]; + //MXKAccountManager* accountManager = [MXKAccountManager sharedManager]; + //[accountManager setPushDeviceToken:nil withPushOptions:nil]; } // Remove delivred notifications for a given room id except call notifications diff --git a/Riot/Managers/Widgets/WidgetManager.m b/Riot/Managers/Widgets/WidgetManager.m index e7b4704b5..843dec06a 100644 --- a/Riot/Managers/Widgets/WidgetManager.m +++ b/Riot/Managers/Widgets/WidgetManager.m @@ -391,6 +391,11 @@ NSString *const WidgetManagerErrorDomain = @"WidgetManagerErrorDomain"; { // stateKey = widgetId NSString *widgetId = event.stateKey; + if (!widgetId) + { + NSLog(@"[WidgetManager] Error: New widget detected with no id in %@: %@", event.roomId, event.JSONDictionary); + return; + } NSLog(@"[WidgetManager] New widget detected: %@ in %@", widgetId, event.roomId); diff --git a/Riot/Model/Room/RoomPreviewData.m b/Riot/Model/Room/RoomPreviewData.m index a55c0eae2..b86f1b7ef 100644 --- a/Riot/Model/Room/RoomPreviewData.m +++ b/Riot/Model/Room/RoomPreviewData.m @@ -51,12 +51,17 @@ if (self) { // Report public room data - _roomName = publicRoom.name; + _roomName = publicRoom.displayname; _roomAvatarUrl = publicRoom.avatarUrl; _roomTopic = publicRoom.topic; _roomAliases = publicRoom.aliases; _numJoinedMembers = publicRoom.numJoinedMembers; + // First try to fallback to the name if displayname isn't present + if (!_roomName.length) { + _roomName = publicRoom.name; + } + if (!_roomName.length) { // Consider the room aliases to define a default room name. @@ -109,7 +114,9 @@ } failure:^(NSError *error) { MXStrongifyAndReturnIfNil(self); - self->_roomName = self->_roomId; + if(self->_roomName == nil || self->_roomName.length == 0) { + self->_roomName = self->_roomId; + } completion(NO); }]; } diff --git a/Riot/Modules/Home/Fallback/AuthFallBackViewController.m b/Riot/Modules/Home/Fallback/AuthFallBackViewController.m index b61b6361b..1955779af 100644 --- a/Riot/Modules/Home/Fallback/AuthFallBackViewController.m +++ b/Riot/Modules/Home/Fallback/AuthFallBackViewController.m @@ -203,14 +203,6 @@ NSString *FallBackViewControllerJavascriptOnLogin = @"window.matrixLogin.onLogin return; } - if (navigationAction.navigationType == WKNavigationTypeLinkActivated) - { - // Open links outside the app - [[UIApplication sharedApplication] openURL:navigationAction.request.URL options:@{} completionHandler:nil]; - decisionHandler(WKNavigationActionPolicyCancel); - return; - } - decisionHandler(WKNavigationActionPolicyAllow); } diff --git a/Riot/Modules/Rooms/RoomsViewController.m b/Riot/Modules/Rooms/RoomsViewController.m index e7cab93b4..09f15cc14 100644 --- a/Riot/Modules/Rooms/RoomsViewController.m +++ b/Riot/Modules/Rooms/RoomsViewController.m @@ -267,13 +267,12 @@ // Preview the public room if (publicRoom.worldReadable) { - RoomPreviewData *roomPreviewData = [[RoomPreviewData alloc] initWithRoomId:publicRoom.roomId andSession:recentsDataSource.publicRoomsDirectoryDataSource.mxSession]; - + RoomPreviewData *roomPreviewData = [[RoomPreviewData alloc] initWithPublicRoom:publicRoom andSession:recentsDataSource.publicRoomsDirectoryDataSource.mxSession]; + [self startActivityIndicator]; // Try to get more information about the room before opening its preview [roomPreviewData peekInRoom:^(BOOL succeeded) { - [self stopActivityIndicator]; [[AppDelegate theDelegate].masterTabBarController showRoomPreview:roomPreviewData]; diff --git a/Riot/SupportingFiles/Info.plist b/Riot/SupportingFiles/Info.plist index d44b69a65..11f3d3859 100644 --- a/Riot/SupportingFiles/Info.plist +++ b/Riot/SupportingFiles/Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.10.4 + 0.10.5 CFBundleSignature ???? CFBundleVersion - 0.10.4 + 0.10.5 ITSAppUsesNonExemptEncryption ITSEncryptionExportComplianceCode diff --git a/RiotShareExtension/SupportingFiles/Info.plist b/RiotShareExtension/SupportingFiles/Info.plist index 3306a7f7b..c12a0cd5b 100644 --- a/RiotShareExtension/SupportingFiles/Info.plist +++ b/RiotShareExtension/SupportingFiles/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 0.10.4 + 0.10.5 CFBundleVersion - 0.10.4 + 0.10.5 NSExtension NSExtensionAttributes diff --git a/SiriIntents/Info.plist b/SiriIntents/Info.plist index 6d300ab1a..0df3b8d12 100644 --- a/SiriIntents/Info.plist +++ b/SiriIntents/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 0.10.4 + 0.10.5 CFBundleVersion - 0.10.4 + 0.10.5 NSExtension NSExtensionAttributes