From 249ccab466fcf71eaa62931893a421d8e77bf5ed Mon Sep 17 00:00:00 2001 From: Ryan Zhao Date: Mon, 8 May 2023 16:05:56 +1000 Subject: [PATCH] fix link preview not working --- Session/Conversations/ConversationVC.swift | 6 ++++++ SessionMessagingKit/Database/Models/Interaction.swift | 7 +++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Session/Conversations/ConversationVC.swift b/Session/Conversations/ConversationVC.swift index 10c6922b6..da46957df 100644 --- a/Session/Conversations/ConversationVC.swift +++ b/Session/Conversations/ConversationVC.swift @@ -1285,6 +1285,12 @@ final class ConversationVC: BaseVC, ConversationSearchControllerDelegate, UITabl func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let section: ConversationViewModel.SectionModel = viewModel.interactionData[indexPath.section] + Storage.shared.read { db in + let interaction = try? Interaction.fetchOne(db, id: 8) + print(interaction) + print(try? interaction?.linkPreview.fetchOne(db)) + } + switch section.model { case .messages: let cellViewModel: MessageViewModel = section.elements[indexPath.row] diff --git a/SessionMessagingKit/Database/Models/Interaction.swift b/SessionMessagingKit/Database/Models/Interaction.swift index a26b052ac..1330ec721 100644 --- a/SessionMessagingKit/Database/Models/Interaction.swift +++ b/SessionMessagingKit/Database/Models/Interaction.swift @@ -34,7 +34,7 @@ public struct Interaction: Codable, Identifiable, Equatable, FetchableRecord, Mu let linkPreview: TypedTableAlias = TypedTableAlias() let halfResolution: Double = LinkPreview.timstampResolution - return "(\(interaction[.timestampMs]) BETWEEN (\(linkPreview[.timestamp]) - \(halfResolution)) AND (\(linkPreview[.timestamp]) + \(halfResolution)))" + return "(\(interaction[.timestampMs]) BETWEEN (\(linkPreview[.timestamp]) - \(halfResolution)) * 1000 AND (\(linkPreview[.timestamp]) + \(halfResolution)) * 1000)" }() public static let recipientStates = hasMany(RecipientState.self, using: RecipientState.interactionForeignKey) @@ -247,12 +247,11 @@ public struct Interaction: Codable, Identifiable, Equatable, FetchableRecord, Mu public var linkPreview: QueryInterfaceRequest { /// **Note:** This equation **MUST** match the `linkPreviewFilterLiteral` logic let halfResolution: Double = LinkPreview.timstampResolution - let roundedTimestamp: Double = (round(((Double(timestampMs) / 1000) / 100000) - 0.5) * 100000) return request(for: Interaction.linkPreview) .filter( - (Interaction.Columns.timestampMs >= (LinkPreview.Columns.timestamp - halfResolution)) && - (Interaction.Columns.timestampMs <= (LinkPreview.Columns.timestamp + halfResolution)) + (timestampMs >= (LinkPreview.Columns.timestamp - halfResolution) * 1000) && + (timestampMs <= (LinkPreview.Columns.timestamp + halfResolution) * 1000) ) }