feat: gate pulse behind experimental feature flag

Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
This commit is contained in:
Taylor Ho
2026-06-08 13:02:58 -07:00
parent cef9fbde0a
commit 8af3aa17e3
3 changed files with 30 additions and 18 deletions
+9 -6
View File
@@ -1,6 +1,7 @@
import * as React from "react";
import { createFileRoute } from "@tanstack/react-router";
import { createFileRoute, Navigate } from "@tanstack/react-router";
import { FeatureGate } from "@/shared/features";
import { ViewLoadingFallback } from "@/shared/ui/ViewLoadingFallback";
const PulseScreen = React.lazy(async () => {
@@ -14,10 +15,12 @@ export const Route = createFileRoute("/pulse")({
function PulseRouteComponent() {
return (
<React.Suspense
fallback={<ViewLoadingFallback includeHeader kind="pulse" />}
>
<PulseScreen />
</React.Suspense>
<FeatureGate feature="pulse" fallback={<Navigate to="/" />}>
<React.Suspense
fallback={<ViewLoadingFallback includeHeader kind="pulse" />}
>
<PulseScreen />
</React.Suspense>
</FeatureGate>
);
}
+14 -12
View File
@@ -444,18 +444,20 @@ export function AppSidebar({
</SidebarMenuBadge>
) : null}
</SidebarMenuItem>
<SidebarMenuItem>
<SidebarMenuButton
data-testid="open-pulse-view"
isActive={selectedView === "pulse"}
onClick={onSelectPulse}
tooltip="Pulse"
type="button"
>
<Activity className="h-4 w-4" />
<span>Pulse</span>
</SidebarMenuButton>
</SidebarMenuItem>
<FeatureGate feature="pulse">
<SidebarMenuItem>
<SidebarMenuButton
data-testid="open-pulse-view"
isActive={selectedView === "pulse"}
onClick={onSelectPulse}
tooltip="Pulse"
type="button"
>
<Activity className="h-4 w-4" />
<span>Pulse</span>
</SidebarMenuButton>
</SidebarMenuItem>
</FeatureGate>
<FeatureGate feature="projects">
<SidebarMenuItem>
<SidebarMenuButton
+7
View File
@@ -64,6 +64,13 @@
"tier": "dev",
"platforms": ["desktop"]
},
{
"id": "pulse",
"name": "Pulse",
"description": "Activity feed with notes, social posts, and agent activity",
"tier": "experimental",
"platforms": ["desktop"]
},
{
"id": "forum",
"name": "Forum Channels",