@posthog/convex 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -41,7 +41,7 @@ const app = defineApp({
41
41
  POSTHOG_PROJECT_TOKEN: v.string(),
42
42
  // Optional. PostHog host. Defaults to `https://us.i.posthog.com`; use `https://eu.i.posthog.com` for EU Cloud or your self-hosted URL.
43
43
  POSTHOG_HOST: v.optional(v.string()),
44
- // Optional. A feature flags secure API key (`phs_…`, recommended) or personal API key (`phx_…`). Setting it enables local feature flag evaluation and starts the refresh cron.
44
+ // Optional. A feature flags secure API key (`phs_…`, recommended) or personal API key (`phx_…`). Setting it enables local feature flag evaluation.
45
45
  POSTHOG_PERSONAL_API_KEY: v.optional(v.string()),
46
46
  // Optional. Cron interval (seconds) for refreshing flag definitions. Defaults to 60. Raise it on free-tier dev deployments to reduce function-call usage.
47
47
  POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS: v.optional(v.string()),
@@ -73,7 +73,7 @@ To enable local feature flag evaluation, also set a [feature flags secure API ke
73
73
  npx convex env set POSTHOG_PERSONAL_API_KEY phs_your_feature_flags_secure_api_key
74
74
  ```
75
75
 
76
- > Personal API keys (`phx_…`) also still work for local evaluation, but PostHog recommends the project-scoped feature flags secure API key going forward. This env var also gates the component's built-in refresh cron: when it's set the cron is registered at deploy time and refreshes flag definitions once a minute; when it isn't, the cron isn't registered at all so idle dev deployments don't burn function calls. The gate is evaluated at module-load (i.e. deploy) time — `npx convex dev` redeploys automatically when you set the env var, but production deployments need a manual redeploy for the cron to start.
76
+ > Personal API keys (`phx_…`) also still work for local evaluation, but PostHog recommends the project-scoped feature flags secure API key going forward. Setting this env var is what flips on local evaluation — the component's built-in refresh cron starts populating flag definitions on the next tick, no redeploy needed.
77
77
 
78
78
  Create a `convex/posthog.ts` file to initialize the client. Credentials live on the component, so this file is just for callbacks (identify, beforeSend):
79
79
 
@@ -85,7 +85,7 @@ import { components } from "./_generated/api";
85
85
  export const posthog = new PostHog(components.posthog);
86
86
  ```
87
87
 
88
- That's the whole setup — feature flag methods will start returning live values on the next cron tick. The component refreshes flag definitions every minute when `POSTHOG_PERSONAL_API_KEY` is set. To tune the cadence (e.g. raise it to `300` for a free-tier dev deployment), set `POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS` and redeploy:
88
+ That's the whole setup — feature flag methods will start returning live values on the next cron tick. The component refreshes flag definitions once a minute by default when `POSTHOG_PERSONAL_API_KEY` is set. To tune the cadence (e.g. raise it to `300` for a free-tier dev deployment), set `POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS` and redeploy:
89
89
 
90
90
  ```sh
91
91
  npx convex env set POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS 300
@@ -1,12 +1,5 @@
1
1
  declare const crons: import("convex/server").Crons;
2
2
  export declare const DEFAULT_INTERVAL_SECONDS = 60;
3
- /**
4
- * Parse the optional `POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS` env var into a positive integer.
5
- *
6
- * Convex component env vars are string-typed, so we coerce here. Invalid values fall back to
7
- * the default rather than failing the deploy — flags will still refresh on the default cadence
8
- * and the operator gets a warning to act on. Exported for unit testing.
9
- */
10
3
  export declare function readPollingIntervalSeconds(): number;
11
4
  export default crons;
12
5
  //# sourceMappingURL=crons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crons.d.ts","sourceRoot":"","sources":["../../src/component/crons.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,KAAK,+BAAa,CAAA;AAExB,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAE1C;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAYnD;AAwBD,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"crons.d.ts","sourceRoot":"","sources":["../../src/component/crons.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,KAAK,+BAAa,CAAA;AAGxB,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAI1C,wBAAgB,0BAA0B,IAAI,MAAM,CAYnD;AAYD,eAAe,KAAK,CAAA"}
@@ -2,14 +2,10 @@ import { cronJobs } from 'convex/server';
2
2
  import { api } from './_generated/api.js';
3
3
  import { env } from './_generated/server.js';
4
4
  const crons = cronJobs();
5
+ // Override via `POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS`.
5
6
  export const DEFAULT_INTERVAL_SECONDS = 60;
6
- /**
7
- * Parse the optional `POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS` env var into a positive integer.
8
- *
9
- * Convex component env vars are string-typed, so we coerce here. Invalid values fall back to
10
- * the default rather than failing the deploy — flags will still refresh on the default cadence
11
- * and the operator gets a warning to act on. Exported for unit testing.
12
- */
7
+ // Convex component env vars are string-typed. Invalid values warn and fall back rather than
8
+ // failing the deploy. Exported for unit testing.
13
9
  export function readPollingIntervalSeconds() {
14
10
  const raw = (env.POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS ?? '').trim();
15
11
  if (!raw)
@@ -22,21 +18,9 @@ export function readPollingIntervalSeconds() {
22
18
  }
23
19
  return parsed;
24
20
  }
25
- /**
26
- * The refresh cron is registered only when `POSTHOG_PERSONAL_API_KEY` is configured for the
27
- * component. Without it, local evaluation can't run, so there's no reason to pay the per-tick
28
- * resource cost particularly on idle dev deployments on the free tier.
29
- *
30
- * Toggling local evaluation on or off therefore requires redeploying the component, which
31
- * `npx convex env set` triggers automatically in `npx convex dev`. The cron handler itself also
32
- * guards against a stale registration where the env var was cleared after deploy.
33
- */
34
- // Trim before checking, matching how `readConfig()` in `lib.ts` interprets the env var.
35
- // `npx convex env set` can leave trailing whitespace; without the trim, a value like `" "` would
36
- // register the cron but then no-op every tick once `readConfig()` rejects the trimmed-to-empty
37
- // PAK — wasted function calls, especially painful on free-tier deployments.
38
- if ((env.POSTHOG_PERSONAL_API_KEY ?? '').trim()) {
39
- crons.interval('Refresh PostHog feature flag definitions', { seconds: readPollingIntervalSeconds() }, api.lib.refreshFlagDefinitions, {});
40
- }
21
+ // Registered unconditionally — Convex forwards component env vars only at runtime, so a
22
+ // load-time gate on `POSTHOG_PERSONAL_API_KEY` sees an empty value at deploy-time module
23
+ // analysis and silently drops the cron. The handler in `lib.ts` gates at runtime instead.
24
+ crons.interval('Refresh PostHog feature flag definitions', { seconds: readPollingIntervalSeconds() }, api.lib.refreshFlagDefinitions, {});
41
25
  export default crons;
42
26
  //# sourceMappingURL=crons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crons.js","sourceRoot":"","sources":["../../src/component/crons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAE5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,CAAC,GAAG;QAAE,OAAO,wBAAwB,CAAA;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,IAAI,CACV,qDAAqD,GAAG,+BAA+B;YACrF,mBAAmB,wBAAwB,IAAI,CAClD,CAAA;QACD,OAAO,wBAAwB,CAAA;IACjC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,wFAAwF;AACxF,iGAAiG;AACjG,+FAA+F;AAC/F,4EAA4E;AAC5E,IAAI,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAChD,KAAK,CAAC,QAAQ,CACZ,0CAA0C,EAC1C,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,EACzC,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAC9B,EAAE,CACH,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"crons.js","sourceRoot":"","sources":["../../src/component/crons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAE5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;AAExB,yDAAyD;AACzD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA;AAE1C,4FAA4F;AAC5F,iDAAiD;AACjD,MAAM,UAAU,0BAA0B;IACxC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,CAAC,GAAG;QAAE,OAAO,wBAAwB,CAAA;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,IAAI,CACV,qDAAqD,GAAG,+BAA+B;YACrF,mBAAmB,wBAAwB,IAAI,CAClD,CAAA;QACD,OAAO,wBAAwB,CAAA;IACjC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,wFAAwF;AACxF,yFAAyF;AACzF,0FAA0F;AAC1F,KAAK,CAAC,QAAQ,CACZ,0CAA0C,EAC1C,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,EACzC,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAC9B,EAAE,CACH,CAAA;AAED,eAAe,KAAK,CAAA"}
@@ -63,16 +63,6 @@ export declare const evaluateAllFlags: import("convex/server").RegisteredAction<
63
63
  featureFlags: Record<string, unknown>;
64
64
  featureFlagPayloads: Record<string, unknown>;
65
65
  }>>;
66
- /**
67
- * Returns the cached flag definitions plus whether local evaluation is configured at all.
68
- *
69
- * `localEvalConfigured` reflects whether `POSTHOG_PERSONAL_API_KEY` is set on the component —
70
- * the client uses this to distinguish "you haven't set up local eval" (throw, point the user
71
- * at the remote `evaluateFlag` methods) from "PAK is set but the cron hasn't fetched yet"
72
- * (return `undefined` gracefully). `data` is null until the first successful refresh.
73
- *
74
- * `data` is a JSON-stringified `FlagDefinitions` object (see `client/feature-flags/types.ts`).
75
- */
76
66
  export declare const getFlagDefinitions: import("convex/server").RegisteredQuery<"public", {}, Promise<{
77
67
  localEvalConfigured: boolean;
78
68
  data: null;
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"AAgFA,eAAO,MAAM,OAAO;;;;;;;;;iBA0BlB,CAAA;AAEF,eAAO,MAAM,QAAQ;;;;iBA+BnB,CAAA;AAEF,eAAO,MAAM,aAAa;;;;;;iBA0BxB,CAAA;AAEF,eAAO,MAAM,KAAK;;;;iBAgBhB,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;iBAiB3B,CAAA;AAmCF,eAAO,MAAM,YAAY;;;;;;;;4DAevB,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;+CAa9B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;GAiB3B,CAAA;AASF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;GAU7B,CAAA;AAOF,eAAO,MAAM,mBAAmB;;;iBAW9B,CAAA;AAEF,eAAO,MAAM,eAAe,sFAM1B,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8JjC,CAAA"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"AAgFA,eAAO,MAAM,OAAO;;;;;;;;;iBA0BlB,CAAA;AAEF,eAAO,MAAM,QAAQ;;;;iBA+BnB,CAAA;AAEF,eAAO,MAAM,aAAa;;;;;;iBA0BxB,CAAA;AAEF,eAAO,MAAM,KAAK;;;;iBAgBhB,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;iBAiB3B,CAAA;AAmCF,eAAO,MAAM,YAAY;;;;;;;;4DAevB,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;+CAa9B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;GAiB3B,CAAA;AAYF,eAAO,MAAM,kBAAkB;;;;;;;;;;GAU7B,CAAA;AAOF,eAAO,MAAM,mBAAmB;;;iBAW9B,CAAA;AAEF,eAAO,MAAM,eAAe,sFAM1B,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4JjC,CAAA"}
@@ -274,20 +274,13 @@ export const evaluateAllFlags = action({
274
274
  });
275
275
  // --- Feature flag local evaluation ---
276
276
  //
277
- // Flag definitions are fetched on a cron registered inside this component (only when
278
- // `POSTHOG_PERSONAL_API_KEY` is set see `crons.ts`) and stored in the `flagDefinitions`
279
- // table. Clients read them via `getFlagDefinitions` and evaluate flags locally — there is
280
- // no per-call action for flag evaluation.
281
- /**
282
- * Returns the cached flag definitions plus whether local evaluation is configured at all.
283
- *
284
- * `localEvalConfigured` reflects whether `POSTHOG_PERSONAL_API_KEY` is set on the component —
285
- * the client uses this to distinguish "you haven't set up local eval" (throw, point the user
286
- * at the remote `evaluateFlag` methods) from "PAK is set but the cron hasn't fetched yet"
287
- * (return `undefined` gracefully). `data` is null until the first successful refresh.
288
- *
289
- * `data` is a JSON-stringified `FlagDefinitions` object (see `client/feature-flags/types.ts`).
290
- */
277
+ // Flag definitions are fetched on the cron in `crons.ts` and stored in `flagDefinitions`.
278
+ // Clients read them via `getFlagDefinitions` and evaluate flags locally — there is no
279
+ // per-call action for flag evaluation.
280
+ // `localEvalConfigured` lets the client distinguish "PAK not set" (throw, point at the
281
+ // remote `evaluateFlag` methods) from "PAK set but cron hasn't fetched yet" (return
282
+ // `undefined`). `data` is a JSON-stringified `FlagDefinitions` (see
283
+ // `client/feature-flags/types.ts`), null until the first successful refresh.
291
284
  export const getFlagDefinitions = query({
292
285
  args: {},
293
286
  handler: async (ctx) => {
@@ -334,9 +327,7 @@ export const refreshFlagDefinitions = action({
334
327
  handler: async (ctx) => {
335
328
  const { projectToken, host, personalApiKey } = readConfig();
336
329
  if (!projectToken || !personalApiKey) {
337
- // The cron is conditionally registered on `POSTHOG_PERSONAL_API_KEY`, so reaching this branch
338
- // means either env vars were cleared after deploy (cron still scheduled) or the project token wasn't
339
- // configured. Return a status rather than throwing so the cron doesn't churn on errors.
330
+ // The cron registers unconditionally (see `crons.ts`); this is its runtime gate.
340
331
  return { status: 'skipped', reason: 'missing-keys' };
341
332
  }
342
333
  const etag = await ctx.runQuery(internal.lib._getCurrentEtag, {});
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "2.0.0";
1
+ export declare const version = "2.0.2";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const version = '2.0.0';
1
+ export const version = '2.0.2';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "url": "https://github.com/PostHog/posthog-js/issues"
12
12
  },
13
13
  "author": "PostHog Inc.",
14
- "version": "2.0.0",
14
+ "version": "2.0.2",
15
15
  "license": "MIT",
16
16
  "keywords": [
17
17
  "convex",
@@ -48,8 +48,8 @@
48
48
  "types": "./dist/client/index.d.ts",
49
49
  "module": "./dist/client/index.js",
50
50
  "dependencies": {
51
- "@posthog/core": "1.29.12",
52
- "posthog-node": "5.35.5"
51
+ "posthog-node": "5.35.7",
52
+ "@posthog/core": "1.29.14"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@edge-runtime/vm": "^5.0.0",
@@ -1,6 +1,40 @@
1
1
  import { describe, expect, test, beforeEach, afterEach, jest } from '@jest/globals'
2
+ import type { Crons } from 'convex/server'
2
3
  import { DEFAULT_INTERVAL_SECONDS, readPollingIntervalSeconds } from './crons.js'
3
4
 
5
+ describe('cron registration', () => {
6
+ let originalPak: string | undefined
7
+
8
+ beforeEach(() => {
9
+ originalPak = process.env.POSTHOG_PERSONAL_API_KEY
10
+ jest.resetModules()
11
+ })
12
+
13
+ afterEach(() => {
14
+ if (originalPak === undefined) {
15
+ delete process.env.POSTHOG_PERSONAL_API_KEY
16
+ } else {
17
+ process.env.POSTHOG_PERSONAL_API_KEY = originalPak
18
+ }
19
+ })
20
+
21
+ // Convex forwards component env vars only at runtime, so deploy-time module analysis sees
22
+ // `process.env.POSTHOG_PERSONAL_API_KEY` empty even when the installing app has set it.
23
+ // A load-time gate would silently drop the cron — see #3683.
24
+ test.each<[string, string | undefined]>([
25
+ ['unset', undefined],
26
+ ['set', 'phx_test'],
27
+ ])('registers the refresh cron when POSTHOG_PERSONAL_API_KEY is %s at module load', async (_label, pakValue) => {
28
+ if (pakValue === undefined) {
29
+ delete process.env.POSTHOG_PERSONAL_API_KEY
30
+ } else {
31
+ process.env.POSTHOG_PERSONAL_API_KEY = pakValue
32
+ }
33
+ const mod = (await import('./crons.js')) as { default: Crons }
34
+ expect(Object.keys(mod.default.crons)).toContain('Refresh PostHog feature flag definitions')
35
+ })
36
+ })
37
+
4
38
  describe('readPollingIntervalSeconds', () => {
5
39
  let warnSpy: ReturnType<typeof jest.spyOn>
6
40
 
@@ -4,15 +4,11 @@ import { env } from './_generated/server.js'
4
4
 
5
5
  const crons = cronJobs()
6
6
 
7
+ // Override via `POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS`.
7
8
  export const DEFAULT_INTERVAL_SECONDS = 60
8
9
 
9
- /**
10
- * Parse the optional `POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS` env var into a positive integer.
11
- *
12
- * Convex component env vars are string-typed, so we coerce here. Invalid values fall back to
13
- * the default rather than failing the deploy — flags will still refresh on the default cadence
14
- * and the operator gets a warning to act on. Exported for unit testing.
15
- */
10
+ // Convex component env vars are string-typed. Invalid values warn and fall back rather than
11
+ // failing the deploy. Exported for unit testing.
16
12
  export function readPollingIntervalSeconds(): number {
17
13
  const raw = (env.POSTHOG_FLAGS_POLLING_INTERVAL_SECONDS ?? '').trim()
18
14
  if (!raw) return DEFAULT_INTERVAL_SECONDS
@@ -27,26 +23,14 @@ export function readPollingIntervalSeconds(): number {
27
23
  return parsed
28
24
  }
29
25
 
30
- /**
31
- * The refresh cron is registered only when `POSTHOG_PERSONAL_API_KEY` is configured for the
32
- * component. Without it, local evaluation can't run, so there's no reason to pay the per-tick
33
- * resource cost — particularly on idle dev deployments on the free tier.
34
- *
35
- * Toggling local evaluation on or off therefore requires redeploying the component, which
36
- * `npx convex env set` triggers automatically in `npx convex dev`. The cron handler itself also
37
- * guards against a stale registration where the env var was cleared after deploy.
38
- */
39
- // Trim before checking, matching how `readConfig()` in `lib.ts` interprets the env var.
40
- // `npx convex env set` can leave trailing whitespace; without the trim, a value like `" "` would
41
- // register the cron but then no-op every tick once `readConfig()` rejects the trimmed-to-empty
42
- // PAK — wasted function calls, especially painful on free-tier deployments.
43
- if ((env.POSTHOG_PERSONAL_API_KEY ?? '').trim()) {
44
- crons.interval(
45
- 'Refresh PostHog feature flag definitions',
46
- { seconds: readPollingIntervalSeconds() },
47
- api.lib.refreshFlagDefinitions,
48
- {}
49
- )
50
- }
26
+ // Registered unconditionally — Convex forwards component env vars only at runtime, so a
27
+ // load-time gate on `POSTHOG_PERSONAL_API_KEY` sees an empty value at deploy-time module
28
+ // analysis and silently drops the cron. The handler in `lib.ts` gates at runtime instead.
29
+ crons.interval(
30
+ 'Refresh PostHog feature flag definitions',
31
+ { seconds: readPollingIntervalSeconds() },
32
+ api.lib.refreshFlagDefinitions,
33
+ {}
34
+ )
51
35
 
52
36
  export default crons
@@ -290,21 +290,14 @@ export const evaluateAllFlags = action({
290
290
 
291
291
  // --- Feature flag local evaluation ---
292
292
  //
293
- // Flag definitions are fetched on a cron registered inside this component (only when
294
- // `POSTHOG_PERSONAL_API_KEY` is set see `crons.ts`) and stored in the `flagDefinitions`
295
- // table. Clients read them via `getFlagDefinitions` and evaluate flags locally — there is
296
- // no per-call action for flag evaluation.
297
-
298
- /**
299
- * Returns the cached flag definitions plus whether local evaluation is configured at all.
300
- *
301
- * `localEvalConfigured` reflects whether `POSTHOG_PERSONAL_API_KEY` is set on the component —
302
- * the client uses this to distinguish "you haven't set up local eval" (throw, point the user
303
- * at the remote `evaluateFlag` methods) from "PAK is set but the cron hasn't fetched yet"
304
- * (return `undefined` gracefully). `data` is null until the first successful refresh.
305
- *
306
- * `data` is a JSON-stringified `FlagDefinitions` object (see `client/feature-flags/types.ts`).
307
- */
293
+ // Flag definitions are fetched on the cron in `crons.ts` and stored in `flagDefinitions`.
294
+ // Clients read them via `getFlagDefinitions` and evaluate flags locally — there is no
295
+ // per-call action for flag evaluation.
296
+
297
+ // `localEvalConfigured` lets the client distinguish "PAK not set" (throw, point at the
298
+ // remote `evaluateFlag` methods) from "PAK set but cron hasn't fetched yet" (return
299
+ // `undefined`). `data` is a JSON-stringified `FlagDefinitions` (see
300
+ // `client/feature-flags/types.ts`), null until the first successful refresh.
308
301
  export const getFlagDefinitions = query({
309
302
  args: {},
310
303
  handler: async (ctx) => {
@@ -355,9 +348,7 @@ export const refreshFlagDefinitions = action({
355
348
  const { projectToken, host, personalApiKey } = readConfig()
356
349
 
357
350
  if (!projectToken || !personalApiKey) {
358
- // The cron is conditionally registered on `POSTHOG_PERSONAL_API_KEY`, so reaching this branch
359
- // means either env vars were cleared after deploy (cron still scheduled) or the project token wasn't
360
- // configured. Return a status rather than throwing so the cron doesn't churn on errors.
351
+ // The cron registers unconditionally (see `crons.ts`); this is its runtime gate.
361
352
  return { status: 'skipped' as const, reason: 'missing-keys' as const }
362
353
  }
363
354
 
@@ -1 +1 @@
1
- export const version = '2.0.0'
1
+ export const version = '2.0.2'