diff --git a/apps/marketing/src/lib/site-flags.ts b/apps/marketing/src/lib/site-flags.ts index 0a7aaf26e3c..6b2f2aa653c 100644 --- a/apps/marketing/src/lib/site-flags.ts +++ b/apps/marketing/src/lib/site-flags.ts @@ -1,27 +1,22 @@ import "server-only"; import { FEATURE_FLAGS } from "@superset/shared/constants"; -import { unstable_cache } from "next/cache"; +import { cacheLife } from "next/cache"; import { posthogServer } from "./posthog-server"; const SITE_DISTINCT_ID = "marketing-site"; const REVALIDATE_SECONDS = 60; -const evaluateSiteFlag = unstable_cache( - async (flag: string) => - Boolean( - await posthogServer.getFeatureFlag(flag, SITE_DISTINCT_ID, { - sendFeatureFlagEvents: false, - }), - ), - ["site-flag"], - { revalidate: REVALIDATE_SECONDS }, -); - /** A flag evaluated once for the whole site. Any failure reads as off. */ export async function getSiteFlag(flag: string): Promise { + "use cache"; + cacheLife({ revalidate: REVALIDATE_SECONDS }); try { - return await evaluateSiteFlag(flag); + return Boolean( + await posthogServer.getFeatureFlag(flag, SITE_DISTINCT_ID, { + sendFeatureFlagEvents: false, + }), + ); } catch (error) { console.error(`[site-flags] Failed to load ${flag}`, error); return false;