Skip to content

Reaktiv DevTools 0.15.31

Choose a tag to compare

@github-actions github-actions released this 19 Jul 21:06
· 50 commits to main since this release

Reaktiv DevTools 0.15.31

Download

Choose the package for your platform. Each package includes the DevTools server and UI.

  • Linux x64: reaktiv-devtools-linux-x64-0.15.31.zip
  • Linux ARM64: reaktiv-devtools-linux-arm64-0.15.31.zip
  • macOS ARM64 (Apple Silicon): reaktiv-devtools-macos-arm64-0.15.31.zip
  • Windows x64: reaktiv-devtools-windows-x64-0.15.31.zip

Quick Start

  1. Download the package for your platform
  2. Extract the zip file
  3. Run the server:
    • Linux/macOS: ./reaktiv-devtools resources
    • Windows: reaktiv-devtools.exe resources
  4. Open your browser to the URL shown in the console

Package Contents

Each package contains:

  • DevTools server executable
  • WASM UI in resources/ folder
  • README with usage instructions

Library Release

The Reaktiv libraries for this version are available on Maven Central:

dependencies {
    implementation("io.github.syrou:reaktiv-core:0.15.31")
    implementation("io.github.syrou:reaktiv-compose:0.15.31")
    implementation("io.github.syrou:reaktiv-navigation:0.15.31")
}

Integration

Attach tooling behind a debug-only seam so no tooling code ships in release.

Add the artifacts to a debug/staging build only:

debugImplementation("io.github.syrou:reaktiv-introspection:0.15.31")
debugImplementation("io.github.syrou:reaktiv-devtools:0.15.31")

Define toolingModule(...) in your debug source set. Crash capture only
(no server, writes a crash session file to import here):

// src/debug/.../ToolingAttachment.kt
fun toolingModule(context: Context): Module<*, *>? = createToolingModule(
    config = IntrospectionConfig(clientName = "My App", platform = "Android 14"),
    platformContext = PlatformContext(context)
)

For the full setup (also streams live to this server) add an install block:

fun toolingModule(context: Context): Module<*, *>? = createToolingModule(
    config = IntrospectionConfig(clientName = "My App", platform = "Android 14"),
    platformContext = PlatformContext(context)
) {
    install(
        DevToolsService(
            DevToolsConfig(
                serverUrl = "ws://10.0.2.2:8080/ws",
                defaultRole = ClientRole.PUBLISHER
            )
        )
    )
}

Add a release stub returning null, then wire the seam into the store:

// src/release/.../ToolingAttachment.kt
fun toolingModule(context: Context): Module<*, *>? = null

// main source set
val store = createStore {
    module(navigationModule)
    toolingModule(context)?.let { module(it) }
}

See the README inside each package for imports and the crash-file export API.

Full Changelog: 0.15.30...0.15.31