From dda8221364948efa2132c8a48eac3d7dab0110ed Mon Sep 17 00:00:00 2001 From: Bill Leoutsakos Date: Tue, 21 Jul 2026 20:55:03 -0700 Subject: [PATCH 1/2] Add settings navigation acceptance contracts Co-authored-by: Cursor --- .../settings-sidebar/settings-sidebar.tsx | 17 +- .../components/settings/settings-sidebar.tsx | 9 + apps/sim/e2e/README.md | 32 + .../navigation/canonical-navigation.spec.ts | 99 ++ .../navigation/contract-integrity.spec.ts | 215 ++++ .../settings/navigation/contract-resolver.ts | 83 ++ apps/sim/e2e/settings/navigation/contracts.ts | 1060 +++++++++++++++++ .../e2e/settings/navigation/history.spec.ts | 122 ++ .../navigation/persona-visibility.spec.ts | 124 ++ .../settings/navigation/route-cases.spec.ts | 80 ++ .../settings/smoke/unauthenticated.spec.ts | 16 +- .../components/custom-blocks.tsx | 8 +- apps/sim/lib/auth/auth.ts | 14 +- .../lib/billing/stripe-client-config.test.ts | 9 + apps/sim/lib/billing/stripe-client-config.ts | 9 + apps/sim/playwright.config.ts | 2 +- 16 files changed, 1888 insertions(+), 11 deletions(-) create mode 100644 apps/sim/e2e/settings/navigation/canonical-navigation.spec.ts create mode 100644 apps/sim/e2e/settings/navigation/contract-integrity.spec.ts create mode 100644 apps/sim/e2e/settings/navigation/contract-resolver.ts create mode 100644 apps/sim/e2e/settings/navigation/contracts.ts create mode 100644 apps/sim/e2e/settings/navigation/history.spec.ts create mode 100644 apps/sim/e2e/settings/navigation/persona-visibility.spec.ts create mode 100644 apps/sim/e2e/settings/navigation/route-cases.spec.ts diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx index 3519b23a036..0d8669e6fb1 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx @@ -57,6 +57,11 @@ export function SettingsSidebar({ const showDiscardDialog = pendingLeave !== null const [hasOverflowTop, setHasOverflowTop] = useState(false) + const [isHydrated, setIsHydrated] = useState(false) + + useEffect(() => { + setIsHydrated(true) + }, []) const { data: session } = useSession() const hostContext = useWorkspaceHostContext() @@ -265,7 +270,12 @@ export function SettingsSidebar({ )} > -