diff --git a/ios/Gekidou/Sources/Gekidou/Networking/Network+Mentions.swift b/ios/Gekidou/Sources/Gekidou/Networking/Network+Mentions.swift index 831d34b318..8dde16f76a 100644 --- a/ios/Gekidou/Sources/Gekidou/Networking/Network+Mentions.swift +++ b/ios/Gekidou/Sources/Gekidou/Networking/Network+Mentions.swift @@ -17,8 +17,8 @@ public struct ChannelMemberData: Codable { let container = try decoder.container(keyedBy: ChannelMemberKeys.self) channel_id = try container.decode(String.self, forKey: .channel_id) mention_count = try container.decode(Int.self, forKey: .mention_count) - let mentions_root = try? container.decode(Int?.self, forKey: .mention_count_root) ?? 0 - mention_count_root = mentions_root! + let mentions_root = try? container.decode(Int?.self, forKey: .mention_count_root) + mention_count_root = mentions_root ?? 0 user_id = try container.decode(String.self, forKey: .user_id) roles = try container.decode(String.self, forKey: .roles) last_update_at = try container.decode(Int64.self, forKey: .last_update_at) diff --git a/ios/Gekidou/Sources/Gekidou/Storage/Database+Posts.swift b/ios/Gekidou/Sources/Gekidou/Storage/Database+Posts.swift index cd4f46f43a..df1d2d8154 100644 --- a/ios/Gekidou/Sources/Gekidou/Storage/Database+Posts.swift +++ b/ios/Gekidou/Sources/Gekidou/Storage/Database+Posts.swift @@ -182,10 +182,13 @@ extension Database { let sortedChainedPosts = chainAndSortPosts(postData) try insertOrUpdatePosts(db, sortedChainedPosts, channelId) let sortedAndNotDeletedPosts = sortedChainedPosts.filter({$0.delete_at == 0}) - let earliest = sortedAndNotDeletedPosts.first!.create_at - let latest = sortedAndNotDeletedPosts.last!.create_at + if (!receivingThreads) { - try handlePostsInChannel(db, channelId, earliest, latest, usedSince) + if !sortedAndNotDeletedPosts.isEmpty { + let earliest = sortedAndNotDeletedPosts.first!.create_at + let latest = sortedAndNotDeletedPosts.last!.create_at + try handlePostsInChannel(db, channelId, earliest, latest, usedSince) + } let lastFetchedAt = postData.posts.map({max($0.create_at, $0.update_at, $0.delete_at)}).max() try updateMyChannelLastFetchedAt(db, channelId, lastFetchedAt ?? 0)