mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-29 07:42:40 +00:00
Bug fix: reset recents on logout
This commit is contained in:
parent
bed78a0215
commit
6422f1bb11
3 changed files with 20 additions and 6 deletions
|
@ -89,11 +89,11 @@
|
|||
- (void)logout {
|
||||
// Clear cache
|
||||
[MediaManager clearCache];
|
||||
// Reset App settings
|
||||
[[AppSettings sharedSettings] reset];
|
||||
// Logout Matrix
|
||||
[[MatrixHandler sharedHandler] logout];
|
||||
[self.masterTabBarController showLoginScreen];
|
||||
// Reset App settings
|
||||
[[AppSettings sharedSettings] reset];
|
||||
// By default the "Home" tab is focussed
|
||||
[self.masterTabBarController setSelectedIndex:TABBAR_HOME_INDEX];
|
||||
}
|
||||
|
|
|
@ -196,6 +196,9 @@
|
|||
if (_preSelectedRoomId) {
|
||||
self.preSelectedRoomId = _preSelectedRoomId;
|
||||
}
|
||||
} else {
|
||||
recents = nil;
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -205,10 +208,8 @@
|
|||
|
||||
#pragma mark - KVO
|
||||
|
||||
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
|
||||
{
|
||||
if ([@"isInitialSyncDone" isEqualToString:keyPath])
|
||||
{
|
||||
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
|
||||
if ([@"isInitialSyncDone" isEqualToString:keyPath]) {
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[self configureView];
|
||||
});
|
||||
|
|
|
@ -127,6 +127,7 @@ NSString *const kCmdResetUserPowerLevel = @"/deop";
|
|||
if (messagesListener) {
|
||||
[mxRoom removeListener:messagesListener];
|
||||
messagesListener = nil;
|
||||
[[AppSettings sharedSettings] removeObserver:self forKeyPath:@"hideUnsupportedMessages"];
|
||||
}
|
||||
mxRoom = nil;
|
||||
|
||||
|
@ -236,6 +237,7 @@ NSString *const kCmdResetUserPowerLevel = @"/deop";
|
|||
if (messagesListener && mxRoom) {
|
||||
[mxRoom removeListener:messagesListener];
|
||||
messagesListener = nil;
|
||||
[[AppSettings sharedSettings] removeObserver:self forKeyPath:@"hideUnsupportedMessages"];
|
||||
}
|
||||
// The whole room history is flushed here to rebuild it from the current instant (live)
|
||||
messages = nil;
|
||||
|
@ -274,6 +276,7 @@ NSString *const kCmdResetUserPowerLevel = @"/deop";
|
|||
self.roomNameTextField.enabled = YES;
|
||||
|
||||
messages = [NSMutableArray array];
|
||||
[[AppSettings sharedSettings] addObserver:self forKeyPath:@"hideUnsupportedMessages" options:0 context:nil];
|
||||
// Register a listener to handle messages
|
||||
messagesListener = [mxRoom listenToEventsOfTypes:mxHandler.mxSession.eventsFilterForMessages onEvent:^(MXEvent *event, MXEventDirection direction, MXRoomState *roomState) {
|
||||
BOOL shouldScrollToBottom = NO;
|
||||
|
@ -490,6 +493,16 @@ NSString *const kCmdResetUserPowerLevel = @"/deop";
|
|||
}
|
||||
}
|
||||
|
||||
#pragma mark - KVO
|
||||
|
||||
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
|
||||
if ([@"hideUnsupportedMessages" isEqualToString:keyPath]) {
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[self configureView];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
# pragma mark - Room members
|
||||
|
||||
- (void)showHideRoomMembers:(id)sender {
|
||||
|
|
Loading…
Reference in a new issue