diff --git a/apps/app/src/app/(app)/[orgId]/frameworks/[frameworkInstanceId]/components/FrameworkDetailContent.tsx b/apps/app/src/app/(app)/[orgId]/frameworks/[frameworkInstanceId]/components/FrameworkDetailContent.tsx
index 9e9db0f39f..2542cdef17 100644
--- a/apps/app/src/app/(app)/[orgId]/frameworks/[frameworkInstanceId]/components/FrameworkDetailContent.tsx
+++ b/apps/app/src/app/(app)/[orgId]/frameworks/[frameworkInstanceId]/components/FrameworkDetailContent.tsx
@@ -53,7 +53,6 @@ export function FrameworkDetailContent({
const pathname = usePathname();
const searchParams = useSearchParams();
const { hasPermission, permissions } = usePermissions();
- const versioningEnabled = useFeatureFlag('is-framework-versioning-enabled');
const complianceTimelineEnabled = useFeatureFlag('is-timeline-enabled');
const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);
const [dropdownOpen, setDropdownOpen] = useState(false);
@@ -82,7 +81,7 @@ export function FrameworkDetailContent({
const validTabsList: string[] = [];
if (complianceTimelineEnabled) validTabsList.push('progress');
validTabsList.push('requirements');
- if (versioningEnabled) validTabsList.push('history');
+ validTabsList.push('history');
const validTabs = new Set(validTabsList);
const activeTab = tabParam && validTabs.has(tabParam) ? tabParam : DEFAULT_TAB;
@@ -158,7 +157,7 @@ export function FrameworkDetailContent({
Requirements {requirementsCount}
- {versioningEnabled && History}
+ History
}
>
@@ -197,14 +196,12 @@ export function FrameworkDetailContent({
/>
- {versioningEnabled && (
-
-
-
- )}
+
+
+
();
- if (!enabled) return null;
-
const canUpdate = hasPermission('framework', 'update');
return (
diff --git a/apps/app/src/hooks/use-framework-update-status.ts b/apps/app/src/hooks/use-framework-update-status.ts
index 3305db8e50..478a0d5623 100644
--- a/apps/app/src/hooks/use-framework-update-status.ts
+++ b/apps/app/src/hooks/use-framework-update-status.ts
@@ -6,17 +6,15 @@ import type { FrameworkUpdateStatus } from '@/types/framework-versioning';
interface UseFrameworkUpdateStatusOptions {
fallbackData?: FrameworkUpdateStatus;
- enabled?: boolean;
}
export function useFrameworkUpdateStatus(
frameworkInstanceId: string,
options?: UseFrameworkUpdateStatusOptions,
) {
- const key =
- frameworkInstanceId && options?.enabled !== false
- ? `/v1/frameworks/${frameworkInstanceId}/update-status`
- : null;
+ const key = frameworkInstanceId
+ ? `/v1/frameworks/${frameworkInstanceId}/update-status`
+ : null;
return useSWR(
key,
@@ -30,10 +28,9 @@ export function useFrameworkUpdateStatus(
// Always revalidate on mount, even when fallbackData is provided.
// fallbackData is only a fast first paint — without this, SWR treats
// the server-rendered snapshot as authoritative forever and skips the
- // client fetch, so users don't see newly-available upgrades after the
- // feature flag is flipped, after a sync on a sibling framework, or
- // whenever the Next.js router cache serves a stale RSC. Short of
- // signing out and back in.
+ // client fetch, so users don't see newly-available upgrades after a
+ // sync on a sibling framework or whenever the Next.js router cache
+ // serves a stale RSC.
revalidateOnMount: true,
revalidateOnFocus: true,
},