FluxyChat

Reference

Feature flags (P12-J)

FluxyChat evaluates [Cloudflare Flagship](https://developers.cloudflare.com/flagship/) flags via `env.FLAGS` when bound, with legacy env fallbacks for local dev

FluxyChat evaluates Cloudflare Flagship flags via env.FLAGS when bound, with legacy env fallbacks for local dev.

Flags

KeyGatesEnv fallback
voice_messagesPOST /messages/voiceFEATURE_VOICE_MESSAGES / VOICE_MESSAGES_ENABLED (default on)
reply_suggestionsPOST /messages/suggest-repliesFEATURE_REPLY_SUGGESTIONS (default on)
embed_widget/embed.js, embed guest sessionsEMBED_WIDGET_ENABLED (default on)
reconnect_backoff_fluxySDK reconnect curve (1s/8s)FEATURE_RECONNECT_BACKOFF_FLUXY (default off)

Dashboard console (PL-5)

Incomplete lab and preview routes are hidden from console nav unless enabled via env:

KeyGatesEnv fallback
dashboard_labs“Labs & demos” nav group (stream, game, IoT, fleet showcase, …)NEXT_PUBLIC_DASHBOARD_LABS=1 (default off)
dashboard_previewPreview dev tools (marketplace, web3, cross-channel, agent platform, …)NEXT_PUBLIC_DASHBOARD_PREVIEW=1 (default off)

Routes remain reachable by direct URL for internal QA; only sidebar / command palette entries are filtered.

# .env.local — show all experimental console pages
NEXT_PUBLIC_DASHBOARD_LABS=1
NEXT_PUBLIC_DASHBOARD_PREVIEW=1

See apps/dashboard/lib/dashboard-feature-flags.ts.

API

GET /client/feature-flags — public; pass Authorization: Bearer … for user/project targeting.

{
  "flags": {
    "voice_messages": true,
    "reply_suggestions": true,
    "embed_widget": true,
    "reconnect_backoff_fluxy": false
  },
  "flagship": true,
  "reconnectBackoff": { "baseBackoffMs": 500, "maxBackoffMs": 20000 }
}

SDK: client.getFeatureFlags() — applied automatically on room session connect for backoff.

Wrangler

[[flagship]]
binding = "FLAGS"
app_id = "<FLAGSHIP_APP_ID>"

See apps/worker/.dev.vars.example for env-only fallbacks.

On this page