From 317c198a8c6f616882617115501b4aa67cbbd1f7 Mon Sep 17 00:00:00 2001 From: tore-statsig <74584483+tore-statsig@users.noreply.github.com> Date: Mon, 24 Apr 2023 16:24:57 -0700 Subject: [PATCH 1/2] Expose getClientInitializeResponse to java, handle number exception in evaluator --- gradle.properties | 2 +- src/main/kotlin/com/statsig/sdk/StatsigMetadata.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8e70f19..3bd17fd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ RELEASE_SIGNING_ENABLED=true GROUP=com.statsig.serversdk POM_ARTIFACT_ID=serversdk -VERSION_NAME=1.4.0 +VERSION_NAME=1.4.1 POM_NAME=Statsig Server SDK POM_DESCRIPTION=A feature gating and a/b testing library for statsig diff --git a/src/main/kotlin/com/statsig/sdk/StatsigMetadata.kt b/src/main/kotlin/com/statsig/sdk/StatsigMetadata.kt index aa2aac2..47af9ad 100644 --- a/src/main/kotlin/com/statsig/sdk/StatsigMetadata.kt +++ b/src/main/kotlin/com/statsig/sdk/StatsigMetadata.kt @@ -2,7 +2,7 @@ package com.statsig.sdk import java.util.Properties -private const val VERSION = "1.4.0" +private const val VERSION = "1.4.1" internal class StatsigMetadata { companion object { From dc55f44ba593f0d3cf781b36a02b77633c7cbd9f Mon Sep 17 00:00:00 2001 From: tore-statsig <74584483+tore-statsig@users.noreply.github.com> Date: Mon, 24 Apr 2023 16:25:38 -0700 Subject: [PATCH 2/2] Fix number parsing in evaluator and expose api to java --- src/main/kotlin/com/statsig/sdk/Evaluator.kt | 3 +++ src/main/kotlin/com/statsig/sdk/StatsigServer.kt | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/com/statsig/sdk/Evaluator.kt b/src/main/kotlin/com/statsig/sdk/Evaluator.kt index 3200adc..8b78ba1 100644 --- a/src/main/kotlin/com/statsig/sdk/Evaluator.kt +++ b/src/main/kotlin/com/statsig/sdk/Evaluator.kt @@ -5,6 +5,7 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import ua_parser.Parser import java.lang.Long.parseLong +import java.lang.NumberFormatException import java.nio.ByteBuffer import java.security.MessageDigest import java.time.Instant @@ -849,6 +850,8 @@ internal class Evaluator( return try { compare(version1Str, version2Str) + } catch (e: NumberFormatException) { + false } catch (e: Exception) { errorBoundary.logException("versionCompareHelper", e) println("[Statsig]: An exception was caught: $e") diff --git a/src/main/kotlin/com/statsig/sdk/StatsigServer.kt b/src/main/kotlin/com/statsig/sdk/StatsigServer.kt index 57cfdda..041ffb3 100644 --- a/src/main/kotlin/com/statsig/sdk/StatsigServer.kt +++ b/src/main/kotlin/com/statsig/sdk/StatsigServer.kt @@ -68,7 +68,7 @@ sealed class StatsigServer { @JvmSynthetic abstract fun removeConfigOverride(configName: String) - @JvmSynthetic abstract fun getClientInitializeResponse(user: StatsigUser): Map + abstract fun getClientInitializeResponse(user: StatsigUser): Map fun logEvent(user: StatsigUser?, eventName: String) { logEvent(user, eventName, null)