Package-level declarations

Types

Link copied to clipboard
@Serializable
data class ClientMetadata(val appVersion: String? = null, val osVersion: String? = null, val reaktivVersion: String? = null, val locale: String? = null)
Link copied to clipboard
actual class CrashHandler(platformContext: PlatformContext, sessionCapture: SessionCapture)

Platform-specific crash handler that captures session data on uncaught exceptions.

expect class CrashHandler(platformContext: PlatformContext, sessionCapture: SessionCapture)

Platform-specific crash handler that captures session data on uncaught exceptions.

actual class CrashHandler(platformContext: PlatformContext, sessionCapture: SessionCapture)

Platform-specific crash handler that captures session data on uncaught exceptions.

actual class CrashHandler(platformContext: PlatformContext, sessionCapture: SessionCapture)

Platform-specific crash handler that captures session data on uncaught exceptions.

actual class CrashHandler(platformContext: PlatformContext, sessionCapture: SessionCapture)

Platform-specific crash handler that captures session data on uncaught exceptions.

actual class CrashHandler(platformContext: PlatformContext, sessionCapture: SessionCapture)

Platform-specific crash handler that captures session data on uncaught exceptions.

actual class CrashHandler(platformContext: PlatformContext, sessionCapture: SessionCapture)

Platform-specific crash handler that captures session data on uncaught exceptions.

actual class CrashHandler(platformContext: PlatformContext, sessionCapture: SessionCapture)

Platform-specific crash handler that captures session data on uncaught exceptions.

Link copied to clipboard
data class IntrospectionConfig(val clientId: String = Uuid.random().toString(), val clientName: String = "Client-", val platform: String, val enabled: Boolean = true, val autoStart: Boolean = true, val installCrashHandler: Boolean = true, val installStallWatchdog: Boolean = true, val stallThresholdMs: Long = 300, val clientMetadata: ClientMetadata? = null, val redactor: StateRedactor? = null, val maxActions: Int? = null, val maxLogicEvents: Int? = null, val redactSensitiveKeys: Boolean = true, val installLogicTracing: Boolean = true, val sensitiveKeys: Set<String> = DEFAULT_SENSITIVE_KEYS)

Configuration for introspection identity and behavior.

Link copied to clipboard
actual class PlatformContext

Platform-specific context wrapper.

expect class PlatformContext

Platform-specific context wrapper.

actual class PlatformContext

Platform-specific context wrapper.

actual class PlatformContext

Platform-specific context wrapper.

actual class PlatformContext

Platform-specific context wrapper.

Link copied to clipboard
Link copied to clipboard
actual class SessionFileExport(platformContext: PlatformContext)

Platform-specific session file export.

expect class SessionFileExport(platformContext: PlatformContext)

Platform-specific session file export.

actual class SessionFileExport(platformContext: PlatformContext)

Platform-specific session file export.

actual class SessionFileExport(platformContext: PlatformContext)

Platform-specific session file export.

actual class SessionFileExport(platformContext: PlatformContext)

Platform-specific session file export.

actual class SessionFileExport(platformContext: PlatformContext)

Platform-specific session file export.

actual class SessionFileExport(platformContext: PlatformContext)

Platform-specific session file export.

actual class SessionFileExport(platformContext: PlatformContext)

Platform-specific session file export.

Link copied to clipboard
class StallWatchdog(scope: CoroutineScope, thresholdMs: Long = 300, heartbeatMs: Long = 100, monitoredDispatcher: CoroutineDispatcher? = null, stackCapturer: () -> String?? = null)
Link copied to clipboard
fun interface StateRedactor
Link copied to clipboard
object WireBudget

Size budgets for anything assembled into a single DevTools message.

Properties

Link copied to clipboard

The key kotlinx.serialization writes the concrete type into for polymorphic values.

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard

Rough serialized size of this exchange, used to decide where to cut a batch.

Link copied to clipboard
Link copied to clipboard
suspend fun decodeSessionBytes(data: ByteArray): String

Returns the session JSON held in data, inflating it first when it is gzipped.

Link copied to clipboard
suspend fun decodeSessionPayload(payload: String): String

Reverses encodeSessionPayload, passing plain JSON through untouched.

Link copied to clipboard
suspend fun encodeSessionPayload(json: String): String

Encodes session JSON for transport as base64 of its gzipped bytes.

Link copied to clipboard
expect suspend fun gzipCompress(data: ByteArray): ByteArray

Gzip codec used for session exports.

actual suspend fun gzipCompress(data: ByteArray): ByteArray

Gzip codec used for session exports.

actual suspend fun gzipCompress(data: ByteArray): ByteArray

Gzip codec used for session exports.

actual suspend fun gzipCompress(data: ByteArray): ByteArray

Gzip codec used for session exports.

Link copied to clipboard
expect suspend fun gzipDecompress(data: ByteArray): ByteArray

Inflates bytes produced by gzipCompress.

actual suspend fun gzipDecompress(data: ByteArray): ByteArray

Inflates bytes produced by gzipCompress.

actual suspend fun gzipDecompress(data: ByteArray): ByteArray

Inflates bytes produced by gzipCompress.

actual suspend fun gzipDecompress(data: ByteArray): ByteArray

Inflates bytes produced by gzipCompress.

Link copied to clipboard

True when data starts with the gzip magic number.

Link copied to clipboard

True when payload looks like plain JSON rather than an encoded session.

Link copied to clipboard
fun restoreRedactedModuleElement(json: Json, element: JsonObject): JsonObject
Link copied to clipboard
fun sensitiveKeyRedactor(keys: Set<String> = CoreSensitiveKeys, mask: String = REDACTED_PLACEHOLDER, discriminator: String = CLASS_DISCRIMINATOR_KEY): StateRedactor