mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-29 07:42:40 +00:00
Merge pull request #5700 from vector-im/release/1.8.3/release
Release 1.8.3
This commit is contained in:
commit
6bffc764d1
9 changed files with 69 additions and 39 deletions
14
CHANGES.md
14
CHANGES.md
|
@ -1,3 +1,17 @@
|
|||
## Changes in 1.8.3 (2022-02-25)
|
||||
|
||||
🙌 Improvements
|
||||
|
||||
- Upgrade MatrixSDK version ([v0.22.4](https://github.com/matrix-org/matrix-ios-sdk/releases/tag/v0.22.4)).
|
||||
|
||||
🐛 Bugfixes
|
||||
|
||||
- Unified Search: Fix a bug where the room directory wasn't working. ([#5672](https://github.com/vector-im/element-ios/issues/5672))
|
||||
- Fixed crashes on implicitly unwrapped optionals in the PlainRoomTimelineCellDecorator. ([#5673](https://github.com/vector-im/element-ios/issues/5673))
|
||||
- L10n: Fix defaulting to English language ([#5674](https://github.com/vector-im/element-ios/issues/5674))
|
||||
- RoomDataSource: Do not reload room data source on back pagination for new threads. ([#5694](https://github.com/vector-im/element-ios/issues/5694))
|
||||
|
||||
|
||||
## Changes in 1.8.2 (2022-02-22)
|
||||
|
||||
✨ Features
|
||||
|
|
|
@ -15,5 +15,5 @@
|
|||
//
|
||||
|
||||
// Version
|
||||
MARKETING_VERSION = 1.8.2
|
||||
CURRENT_PROJECT_VERSION = 1.8.2
|
||||
MARKETING_VERSION = 1.8.3
|
||||
CURRENT_PROJECT_VERSION = 1.8.3
|
||||
|
|
2
Podfile
2
Podfile
|
@ -13,7 +13,7 @@ use_frameworks!
|
|||
# - `{ :specHash => {sdk spec hash}` to depend on specific pod options (:git => …, :podspec => …) for MatrixSDK repo. Used by Fastfile during CI
|
||||
#
|
||||
# Warning: our internal tooling depends on the name of this variable name, so be sure not to change it
|
||||
$matrixSDKVersion = '= 0.22.2'
|
||||
$matrixSDKVersion = '= 0.22.4'
|
||||
# $matrixSDKVersion = :local
|
||||
# $matrixSDKVersion = { :branch => 'develop'}
|
||||
# $matrixSDKVersion = { :specHash => { git: 'https://git.io/fork123', branch: 'fix' } }
|
||||
|
|
|
@ -369,6 +369,24 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
|
|||
// Create message sound
|
||||
NSURL *messageSoundURL = [[NSBundle mainBundle] URLForResource:@"message" withExtension:@"caf"];
|
||||
AudioServicesCreateSystemSoundID((__bridge CFURLRef)messageSoundURL, &_messageSound);
|
||||
|
||||
// Set up runtime language and fallback by considering the userDefaults object shared within the application group.
|
||||
NSUserDefaults *sharedUserDefaults = [MXKAppSettings standardAppSettings].sharedUserDefaults;
|
||||
NSString *language = [sharedUserDefaults objectForKey:@"appLanguage"];
|
||||
if (!language)
|
||||
{
|
||||
// Check whether a langage was only defined at the Riot application level.
|
||||
language = [[NSUserDefaults standardUserDefaults] objectForKey:@"appLanguage"];
|
||||
if (language)
|
||||
{
|
||||
// Move this setting into the shared userDefaults object to apply it to the extensions.
|
||||
[sharedUserDefaults setObject:language forKey:@"appLanguage"];
|
||||
|
||||
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"appLanguage"];
|
||||
}
|
||||
}
|
||||
[NSBundle mxk_setLanguage:language];
|
||||
[NSBundle mxk_setFallbackLanguage:@"en"];
|
||||
|
||||
// Set app info now as Mac (Designed for iPad) accesses it before didFinishLaunching is called
|
||||
self.appInfo = AppInfo.current;
|
||||
|
@ -411,24 +429,6 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
|
|||
// Set up theme
|
||||
ThemeService.shared.themeId = RiotSettings.shared.userInterfaceTheme;
|
||||
|
||||
// Set up runtime language and fallback by considering the userDefaults object shared within the application group.
|
||||
NSUserDefaults *sharedUserDefaults = [MXKAppSettings standardAppSettings].sharedUserDefaults;
|
||||
NSString *language = [sharedUserDefaults objectForKey:@"appLanguage"];
|
||||
if (!language)
|
||||
{
|
||||
// Check whether a langage was only defined at the Riot application level.
|
||||
language = [[NSUserDefaults standardUserDefaults] objectForKey:@"appLanguage"];
|
||||
if (language)
|
||||
{
|
||||
// Move this setting into the shared userDefaults object to apply it to the extensions.
|
||||
[sharedUserDefaults setObject:language forKey:@"appLanguage"];
|
||||
|
||||
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"appLanguage"];
|
||||
}
|
||||
}
|
||||
[NSBundle mxk_setLanguage:language];
|
||||
[NSBundle mxk_setFallbackLanguage:@"en"];
|
||||
|
||||
mxSessionArray = [NSMutableArray array];
|
||||
callEventsListeners = [NSMutableDictionary dictionary];
|
||||
|
||||
|
|
|
@ -35,6 +35,18 @@
|
|||
|
||||
@implementation UnifiedSearchRecentsDataSource
|
||||
|
||||
- (instancetype)initWithMatrixSession:(MXSession *)mxSession recentsListService:(id<RecentsListServiceProtocol>)recentsListService
|
||||
{
|
||||
self = [super initWithMatrixSession:mxSession recentsListService:recentsListService];
|
||||
if (self)
|
||||
{
|
||||
searchedRoomIdOrAliasSection = -1;
|
||||
|
||||
_hideRecents = NO;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)setPublicRoomsDirectoryDataSource:(PublicRoomsDirectoryDataSource *)publicRoomsDirectoryDataSource
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
const CGFloat kTypingCellHeight = 24;
|
||||
|
||||
@interface RoomDataSource() <BubbleReactionsViewModelDelegate, URLPreviewViewDelegate, ThreadSummaryViewDelegate>
|
||||
@interface RoomDataSource() <BubbleReactionsViewModelDelegate, URLPreviewViewDelegate, ThreadSummaryViewDelegate, MXThreadingServiceDelegate>
|
||||
{
|
||||
// Observe kThemeServiceDidChangeThemeNotification to handle user interface theme change.
|
||||
id kThemeServiceDidChangeThemeNotificationObserver;
|
||||
|
@ -92,12 +92,9 @@ const CGFloat kTypingCellHeight = 24;
|
|||
[self reload];
|
||||
|
||||
}];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(newThreadCreated:)
|
||||
name:MXThreadingService.newThreadCreated
|
||||
object:nil];
|
||||
|
||||
|
||||
[matrixSession.threadingService addDelegate:self];
|
||||
|
||||
[self registerKeyVerificationRequestNotification];
|
||||
[self registerKeyVerificationTransactionNotification];
|
||||
[self registerTrustLevelDidChangeNotifications];
|
||||
|
@ -177,6 +174,8 @@ const CGFloat kTypingCellHeight = 24;
|
|||
{
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self.keyVerificationTransactionDidChangeNotificationObserver];
|
||||
}
|
||||
|
||||
[self.mxSession.threadingService removeDelegate:self];
|
||||
|
||||
[super destroy];
|
||||
}
|
||||
|
@ -973,15 +972,20 @@ const CGFloat kTypingCellHeight = 24;
|
|||
cell.attachmentView.accessibilityLabel = nil;
|
||||
}
|
||||
|
||||
#pragma mark - Threads
|
||||
#pragma mark - MXThreadingServiceDelegate
|
||||
|
||||
- (void)newThreadCreated:(NSNotification *)notification
|
||||
- (void)threadingService:(MXThreadingService *)service didCreateNewThread:(MXThread *)thread direction:(MXTimelineDirection)direction
|
||||
{
|
||||
if (self.threadId)
|
||||
{
|
||||
// no need to reload the thread screen
|
||||
return;
|
||||
}
|
||||
if (direction == MXTimelineDirectionBackwards)
|
||||
{
|
||||
// no need to reload when paginating back
|
||||
return;
|
||||
}
|
||||
NSUInteger count = 0;
|
||||
@synchronized (bubbles)
|
||||
{
|
||||
|
|
|
@ -124,7 +124,7 @@ class BaseRoomCell: MXKRoomBubbleTableViewCell, BaseRoomCellProtocol {
|
|||
}
|
||||
}
|
||||
|
||||
override var readMarkerViewLeadingConstraint: NSLayoutConstraint! {
|
||||
override var readMarkerViewLeadingConstraint: NSLayoutConstraint? {
|
||||
get {
|
||||
if self is RoomCellReadMarkerDisplayable {
|
||||
return self.roomCellContentView?.readMarkerViewLeadingConstraint
|
||||
|
@ -141,7 +141,7 @@ class BaseRoomCell: MXKRoomBubbleTableViewCell, BaseRoomCellProtocol {
|
|||
}
|
||||
}
|
||||
|
||||
override var readMarkerViewTrailingConstraint: NSLayoutConstraint! {
|
||||
override var readMarkerViewTrailingConstraint: NSLayoutConstraint? {
|
||||
get {
|
||||
if self is RoomCellReadMarkerDisplayable {
|
||||
return self.roomCellContentView?.readMarkerViewTrailingConstraint
|
||||
|
|
|
@ -228,11 +228,11 @@ extern NSString *const kMXKRoomBubbleCellUrlItemInteraction;
|
|||
/**
|
||||
The read marker view and its layout constraints (nil by default).
|
||||
*/
|
||||
@property (nonatomic) UIView *readMarkerView;
|
||||
@property (nonatomic) NSLayoutConstraint *readMarkerViewTopConstraint;
|
||||
@property (nonatomic) NSLayoutConstraint *readMarkerViewLeadingConstraint;
|
||||
@property (nonatomic) NSLayoutConstraint *readMarkerViewTrailingConstraint;
|
||||
@property (nonatomic) NSLayoutConstraint *readMarkerViewHeightConstraint;
|
||||
@property (nonatomic, nullable) UIView *readMarkerView;
|
||||
@property (nonatomic, nullable) NSLayoutConstraint *readMarkerViewTopConstraint;
|
||||
@property (nonatomic, nullable) NSLayoutConstraint *readMarkerViewLeadingConstraint;
|
||||
@property (nonatomic, nullable) NSLayoutConstraint *readMarkerViewTrailingConstraint;
|
||||
@property (nonatomic, nullable) NSLayoutConstraint *readMarkerViewHeightConstraint;
|
||||
|
||||
/**
|
||||
The potential webview used to render an attachment (for example an animated gif).
|
||||
|
|
|
@ -273,8 +273,8 @@ class PlainRoomTimelineCellDecorator: RoomTimelineCellDecorator {
|
|||
|
||||
let readMarkerContainerViewHalfWidth = readMarkerContainerView.frame.size.width/2
|
||||
|
||||
cell.readMarkerViewLeadingConstraint.constant = readMarkerContainerViewHalfWidth
|
||||
cell.readMarkerViewTrailingConstraint.constant = -readMarkerContainerViewHalfWidth
|
||||
cell.readMarkerViewLeadingConstraint?.constant = readMarkerContainerViewHalfWidth
|
||||
cell.readMarkerViewTrailingConstraint?.constant = -readMarkerContainerViewHalfWidth
|
||||
|
||||
UIView.animate(withDuration: 1.5,
|
||||
delay: 0.3,
|
||||
|
|
Loading…
Reference in a new issue