fix link preview not working

pull/847/head
Ryan Zhao 2 years ago
parent 4dfe243965
commit 249ccab466

@ -1285,6 +1285,12 @@ final class ConversationVC: BaseVC, ConversationSearchControllerDelegate, UITabl
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let section: ConversationViewModel.SectionModel = viewModel.interactionData[indexPath.section] 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 { switch section.model {
case .messages: case .messages:
let cellViewModel: MessageViewModel = section.elements[indexPath.row] 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 linkPreview: TypedTableAlias<LinkPreview> = TypedTableAlias()
let halfResolution: Double = LinkPreview.timstampResolution 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) 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> { public var linkPreview: QueryInterfaceRequest<LinkPreview> {
/// **Note:** This equation **MUST** match the `linkPreviewFilterLiteral` logic /// **Note:** This equation **MUST** match the `linkPreviewFilterLiteral` logic
let halfResolution: Double = LinkPreview.timstampResolution let halfResolution: Double = LinkPreview.timstampResolution
let roundedTimestamp: Double = (round(((Double(timestampMs) / 1000) / 100000) - 0.5) * 100000)
return request(for: Interaction.linkPreview) return request(for: Interaction.linkPreview)
.filter( .filter(
(Interaction.Columns.timestampMs >= (LinkPreview.Columns.timestamp - halfResolution)) && (timestampMs >= (LinkPreview.Columns.timestamp - halfResolution) * 1000) &&
(Interaction.Columns.timestampMs <= (LinkPreview.Columns.timestamp + halfResolution)) (timestampMs <= (LinkPreview.Columns.timestamp + halfResolution) * 1000)
) )
} }

Loading…
Cancel
Save