Package-level declarations

Types

Link copied to clipboard
internal object ExclusionRanges

Computes ranges to exclude from link preview detection (mentions and markdown links).

Link copied to clipboard
internal data class ImageMetadata(val width: Int, val height: Int, val mimeType: String)
Link copied to clipboard
internal interface LinkPreviewRepository

Fetches preview content, interprets OpenGraph metadata, and prepares image assets.

Link copied to clipboard
internal class LinkPreviewRepositoryImpl(kaliumFileSystem: KaliumFileSystem, fetchHtmlHead: suspend (String) -> String? = ::fetchLinkPreviewHtmlHead, fetchImageData: suspend (String) -> FetchedPreviewImage? = ::fetchLinkPreviewImage) : LinkPreviewRepository
Link copied to clipboard
internal data class OpenGraphData(val title: String?, val type: String = "website", val url: String?, val description: String?, val imageUrls: List<String> = emptyList(), val siteName: String?)

Internal parsed Open Graph data structure.

Link copied to clipboard
internal object OpenGraphScanner

Scans HTML head for Open Graph metadata using DOM-based parsing (Ksoup).

Link copied to clipboard
internal object PreviewBlacklist

Blocks link previews for URLs from certain hosts (e.g., video/music streaming services). Uses substring matching for simplicity and to catch variations (e.g., youtu.be, youtube.com).

Link copied to clipboard
internal object UrlDetector

Extracts complete URL candidates with original UTF-16 spans. Fetching enforces network policy separately.

Properties

Link copied to clipboard
internal const val MAX_PREVIEW_ASSET_NAME_LENGTH: Int = 255
Link copied to clipboard
internal const val MAX_PREVIEW_DESCRIPTION_LENGTH: Int
Link copied to clipboard
internal const val MAX_PREVIEW_SITE_NAME_LENGTH: Int = 120
Link copied to clipboard
internal const val MAX_PREVIEW_TITLE_LENGTH: Int = 300
Link copied to clipboard
internal const val MAX_PREVIEW_URL_LENGTH: Int

Functions

Link copied to clipboard
internal actual fun normalizePreviewUnicode(input: String): String
internal actual fun normalizePreviewUnicode(input: String): String
internal expect fun normalizePreviewUnicode(input: String): String
internal actual fun normalizePreviewUnicode(input: String): String
Link copied to clipboard
internal actual fun readImageMetadata(bytes: ByteArray, fallbackMimeType: String): ImageMetadata?
internal actual fun readImageMetadata(bytes: ByteArray, fallbackMimeType: String): ImageMetadata?
internal expect fun readImageMetadata(bytes: ByteArray, fallbackMimeType: String): ImageMetadata?
internal actual fun readImageMetadata(bytes: ByteArray, fallbackMimeType: String): ImageMetadata?
Link copied to clipboard
internal fun sanitizePreviewText(input: String?, maxLength: Int, collapseWhitespace: Boolean = true): String?