diff --git a/apps/next/src/app/(app)/spoons/[spoonId]/agent/[jobId]/page.tsx b/apps/next/src/app/(app)/spoons/[spoonId]/agent/[jobId]/page.tsx
index 06a8883..93fdbfe 100644
--- a/apps/next/src/app/(app)/spoons/[spoonId]/agent/[jobId]/page.tsx
+++ b/apps/next/src/app/(app)/spoons/[spoonId]/agent/[jobId]/page.tsx
@@ -37,7 +37,7 @@ const AgentWorkspacePage = () => {
Back to Spoon
-
+
);
};
diff --git a/apps/next/src/app/(app)/threads/[threadId]/page.tsx b/apps/next/src/app/(app)/threads/[threadId]/page.tsx
index f471c58..add0be8 100644
--- a/apps/next/src/app/(app)/threads/[threadId]/page.tsx
+++ b/apps/next/src/app/(app)/threads/[threadId]/page.tsx
@@ -53,7 +53,7 @@ const ThreadDetailPage = () => {
Back to Spoon
-
+
);
}
diff --git a/apps/next/tests/component/agent-workspace-shell-key.test.tsx b/apps/next/tests/component/agent-workspace-shell-key.test.tsx
new file mode 100644
index 0000000..b6e1178
--- /dev/null
+++ b/apps/next/tests/component/agent-workspace-shell-key.test.tsx
@@ -0,0 +1,28 @@
+import { useEffect } from 'react';
+import { render } from '@testing-library/react';
+import { describe, expect, test } from 'vitest';
+
+let mounts = 0;
+
+const Child = ({ jobId }: { jobId: string }) => {
+ useEffect(() => {
+ mounts += 1;
+ }, []);
+
+ return {jobId};
+};
+
+const Shell = ({ jobId }: { jobId: string }) => (
+
+);
+
+describe('workspace shell keyed by job', () => {
+ test('remounts when jobId changes', () => {
+ mounts = 0;
+ const { rerender } = render();
+ expect(mounts).toBe(1);
+
+ rerender();
+ expect(mounts).toBe(2);
+ });
+});