fix link preview not working

pull/847/head
Ryan Zhao 1 year ago
parent 4dfe243965
commit 249ccab466

@ -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]

@ -34,7 +34,7 @@ public struct Interaction: Codable, Identifiable, Equatable, FetchableRecord, Mu
let linkPreview: TypedTableAlias<LinkPreview> = 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<LinkPreview> {
/// **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)
)
}

Loading…
Cancel
Save