From b7da28f69bf62cbe54d8c572da84e7ea2440d89f Mon Sep 17 00:00:00 2001 From: loongyh Date: Sat, 15 Feb 2020 23:10:38 +0800 Subject: [PATCH] Fix null errors Managed to come up with a fix for the null errors, inspired from the comment by [@Mc-muffin](https://github.com/residentsummer/watoi/issues/22#issuecomment-560014659). All chats including group chats transferred over intact, however group chats with members who quit have blank senders. Fixes #22 --- watoi/main.m | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/watoi/main.m b/watoi/main.m index 9010808..8e2ff3f 100644 --- a/watoi/main.m +++ b/watoi/main.m @@ -254,7 +254,11 @@ - (NSManagedObject *) addMissingMember:(NSString *)memberJID toChat:(NSString *) NSMutableDictionary * members = [self.chatMembers objectForKey:chatJID]; NSManagedObject *chat = [self.chats objectForKey:chatJID]; - [member setValue:memberJID forKey:@"memberJID"]; + if (![memberJID isKindOfClass:[NSNull class]]) { + [member setValue:memberJID forKey:@"memberJID"]; + } else { + [member setValue:@"null" forKey:@"memberJID"]; + } if (![isAdmin isKindOfClass:[NSNull class]]) { [member setValue:isAdmin forKey:@"isAdmin"]; } @@ -458,10 +462,6 @@ - (void) importMessages { if (isGroup) { NSString *senderJID = [amsg objectForKey:@"remote_resource"]; NSManagedObject *member = [members objectForKey:senderJID]; - if (member == nil) { - NSLog(@"\tmissing sender %@", senderJID); - member = [self addMissingMember:senderJID toChat:chatJID asAdmin:@NO]; - } [msg setValue:member forKey:@"groupMember"]; } @@ -521,6 +521,7 @@ - (void) importMessages { [msg setValue:text forKey:@"text"]; } else { NSLog(@"null text detected: %@", amsg); + [msg setValue:@"" forKey:@"text"]; } [msg setValue:chat forKey:@"chatSession"];