Skip to content

Commit 6f117bb

Browse files
authored
fix: NullPointerException on first feature flag retrieval (#6)
1 parent 438feef commit 6f117bb

File tree

5 files changed

+15
-10
lines changed

5 files changed

+15
-10
lines changed

.github/workflows/pr.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ jobs:
99
uses: actions/checkout@v4
1010
- name: Validate Gradle Wrapper
1111
uses: gradle/wrapper-validation-action@v3
12-
- name: Setup Java
12+
- name: Set up JDK 21
1313
uses: actions/setup-java@v4
1414
with:
15-
distribution: temurin
16-
java-version: 21
15+
distribution: 'graalvm'
16+
java-version: '21'
1717
- name: Setup Gradle
1818
uses: gradle/gradle-build-action@v2
1919
- name: Build

.github/workflows/release.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ jobs:
1616
steps:
1717
- uses: actions/checkout@v4
1818
- name: Set up JDK 21
19-
uses: actions/setup-java@v2
19+
uses: actions/setup-java@v4
2020
with:
21+
distribution: 'graalvm'
2122
java-version: '21'
22-
distribution: 'temurin'
2323
- name: Setup Gradle
2424
uses: gradle/gradle-build-action@v2
2525
- name: Publish to Sonatype

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ java {
3030

3131
toolchain {
3232
languageVersion = JavaLanguageVersion.of(21)
33+
vendor.set(JvmVendorSpec.GRAAL_VM)
3334
nativeImageCapable = true
3435
}
3536
}

settings.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
rootProject.name = "posthog-java"
22

3+
plugins {
4+
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
5+
}

src/main/java/net/hollowcube/posthog/PostHogClientImpl.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,17 +86,18 @@ public final class PostHogClientImpl implements PostHogClient {
8686
this.setPropertyIfAbsent(this.defaultEventProperties, LIB_VERSION, DEFAULT_LIBRARY_VERSION);
8787
this.eventBatchTimeout = eventBatchTimeout;
8888

89+
this.allowRemoteFeatureFlagEvaluation = allowRemoteFeatureFlagEvaluation;
90+
this.sendFeatureFlagEvents = sendFeatureFlagEvents;
91+
this.featureFlagsRequestTimeout = featureFlagsRequestTimeout;
92+
93+
this.exceptionMiddleware = exceptionMiddleware;
94+
8995
// Always enable local evaluation with personal api key.
9096
if (this.personalApiKey != null) {
9197
this.featureFlagFetchTimer = new Timer(this::loadRemoteFeatureFlags, featureFlagsPollingInterval);
9298
} else if (!allowRemoteFeatureFlagEvaluation) {
9399
throw new IllegalArgumentException("Personal API key is required when remote feature flag evaluation is disabled");
94100
} else this.featureFlagFetchTimer = null;
95-
this.allowRemoteFeatureFlagEvaluation = allowRemoteFeatureFlagEvaluation;
96-
this.sendFeatureFlagEvents = sendFeatureFlagEvents;
97-
this.featureFlagsRequestTimeout = featureFlagsRequestTimeout;
98-
99-
this.exceptionMiddleware = exceptionMiddleware;
100101
}
101102

102103
@Override

0 commit comments

Comments
 (0)