koala73/worldmonitor · error · Error

Convex unavailable

Error message

Convex unavailable

What it means

Error thrown by claimProActivationPresentation when the lazily-initialized Convex client or its API module could not be obtained. It is an environment/precondition guard in the browser service: without a working Convex connection the activation claim mutation cannot run, so the call aborts before any server contact.

Source

Thrown at src/services/billing.ts:227

export type ProActivationClaimOutcome =
  | 'claimed'
  | 'not_eligible'
  | 'already_presented'
  | 'already_claimed';

/**
 * Atomically re-check server-side activation state and reserve one markerless
 * presentation across devices.
 */
export async function claimProActivationPresentation(
  activationKey: string,
  claimNonce: string,
): Promise<ProActivationClaimOutcome> {
  const userId = requireSignedInUserId('claim Pro activation');
  const client = await getConvexClient();
  const api = await getConvexApi();
  if (!client || !api) throw new Error('Convex unavailable');
  await requireCurrentConvexUser(userId, 'claiming Pro activation');
  const result = await settleAccountOperation(
    userId,
    'claiming Pro activation',
    () => client.mutation(
      (api as any).payments.billing.claimProActivationPresentation,
      { activationKey, claimNonce },
    ),
  ) as { status: ProActivationClaimOutcome };
  assertAccountStillCurrent(userId, 'claiming Pro activation');
  return result.status;
}

/** Mark a successful markerless claim as visibly presented. */
export async function confirmProActivationPresentation(
  activationKey: string,
  claimNonce: string,
): Promise<boolean> {

View on GitHub (pinned to 9361220cc0)

Solutions

  1. Verify the Convex deployment URL configuration is present in the app environment
  2. Re-initialize or reload so the lazy Convex client can be constructed
  3. Check for network/offline conditions preventing client bootstrap
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/services/billing.ts:215 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of koala73/worldmonitor@9361220cc0 (2026-08-21). Data as JSON: /api/errors/4b21cf35649f6604. Report an issue: GitHub.