From c7d04a704ade97b0e04a95383eefaa020c547c76 Mon Sep 17 00:00:00 2001 From: waleed Date: Wed, 24 Jun 2026 20:05:19 -0700 Subject: [PATCH] fix(workspace): add granular error boundaries to 7 more workspace segments Adds error.tsx (reusing the shared ErrorState) to home, integrations, knowledge/[id], skills, settings, scheduled-tasks, and chat/[chatId] so a crash in any of these panels stays scoped to the panel and offers a retry, instead of bubbling to the generic workspace-level boundary. --- .../[workspaceId]/chat/[chatId]/error.tsx | 15 +++++++++++++++ .../app/workspace/[workspaceId]/home/error.tsx | 15 +++++++++++++++ .../[workspaceId]/integrations/error.tsx | 15 +++++++++++++++ .../[workspaceId]/knowledge/[id]/error.tsx | 15 +++++++++++++++ .../[workspaceId]/scheduled-tasks/error.tsx | 15 +++++++++++++++ .../workspace/[workspaceId]/settings/error.tsx | 15 +++++++++++++++ .../app/workspace/[workspaceId]/skills/error.tsx | 15 +++++++++++++++ 7 files changed, 105 insertions(+) create mode 100644 apps/sim/app/workspace/[workspaceId]/chat/[chatId]/error.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/home/error.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/integrations/error.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/knowledge/[id]/error.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/scheduled-tasks/error.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/settings/error.tsx create mode 100644 apps/sim/app/workspace/[workspaceId]/skills/error.tsx diff --git a/apps/sim/app/workspace/[workspaceId]/chat/[chatId]/error.tsx b/apps/sim/app/workspace/[workspaceId]/chat/[chatId]/error.tsx new file mode 100644 index 00000000000..1ebfc47facb --- /dev/null +++ b/apps/sim/app/workspace/[workspaceId]/chat/[chatId]/error.tsx @@ -0,0 +1,15 @@ +'use client' + +import { type ErrorBoundaryProps, ErrorState } from '@/app/workspace/[workspaceId]/components' + +export default function ChatError({ error, reset }: ErrorBoundaryProps) { + return ( + + ) +} diff --git a/apps/sim/app/workspace/[workspaceId]/home/error.tsx b/apps/sim/app/workspace/[workspaceId]/home/error.tsx new file mode 100644 index 00000000000..03d205fdcd0 --- /dev/null +++ b/apps/sim/app/workspace/[workspaceId]/home/error.tsx @@ -0,0 +1,15 @@ +'use client' + +import { type ErrorBoundaryProps, ErrorState } from '@/app/workspace/[workspaceId]/components' + +export default function HomeError({ error, reset }: ErrorBoundaryProps) { + return ( + + ) +} diff --git a/apps/sim/app/workspace/[workspaceId]/integrations/error.tsx b/apps/sim/app/workspace/[workspaceId]/integrations/error.tsx new file mode 100644 index 00000000000..706d7eea055 --- /dev/null +++ b/apps/sim/app/workspace/[workspaceId]/integrations/error.tsx @@ -0,0 +1,15 @@ +'use client' + +import { type ErrorBoundaryProps, ErrorState } from '@/app/workspace/[workspaceId]/components' + +export default function IntegrationsError({ error, reset }: ErrorBoundaryProps) { + return ( + + ) +} diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/error.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/error.tsx new file mode 100644 index 00000000000..91dbaadb2c5 --- /dev/null +++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/error.tsx @@ -0,0 +1,15 @@ +'use client' + +import { type ErrorBoundaryProps, ErrorState } from '@/app/workspace/[workspaceId]/components' + +export default function KnowledgeBaseError({ error, reset }: ErrorBoundaryProps) { + return ( + + ) +} diff --git a/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/error.tsx b/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/error.tsx new file mode 100644 index 00000000000..4fc75c7b937 --- /dev/null +++ b/apps/sim/app/workspace/[workspaceId]/scheduled-tasks/error.tsx @@ -0,0 +1,15 @@ +'use client' + +import { type ErrorBoundaryProps, ErrorState } from '@/app/workspace/[workspaceId]/components' + +export default function ScheduledTasksError({ error, reset }: ErrorBoundaryProps) { + return ( + + ) +} diff --git a/apps/sim/app/workspace/[workspaceId]/settings/error.tsx b/apps/sim/app/workspace/[workspaceId]/settings/error.tsx new file mode 100644 index 00000000000..02a18fd3362 --- /dev/null +++ b/apps/sim/app/workspace/[workspaceId]/settings/error.tsx @@ -0,0 +1,15 @@ +'use client' + +import { type ErrorBoundaryProps, ErrorState } from '@/app/workspace/[workspaceId]/components' + +export default function SettingsError({ error, reset }: ErrorBoundaryProps) { + return ( + + ) +} diff --git a/apps/sim/app/workspace/[workspaceId]/skills/error.tsx b/apps/sim/app/workspace/[workspaceId]/skills/error.tsx new file mode 100644 index 00000000000..9a860682257 --- /dev/null +++ b/apps/sim/app/workspace/[workspaceId]/skills/error.tsx @@ -0,0 +1,15 @@ +'use client' + +import { type ErrorBoundaryProps, ErrorState } from '@/app/workspace/[workspaceId]/components' + +export default function SkillsError({ error, reset }: ErrorBoundaryProps) { + return ( + + ) +}