diff --git a/apps/frontend/app/delegations/page.tsx b/apps/frontend/app/delegations/page.tsx index 702f6f95..edc11783 100644 --- a/apps/frontend/app/delegations/page.tsx +++ b/apps/frontend/app/delegations/page.tsx @@ -56,7 +56,7 @@ export default function DelegationsPage() { const matchesSearch = term === "" || d.agentId.toLowerCase().includes(term) || - d.walletId.toLowerCase().includes(term); + (d.walletId ?? "").toLowerCase().includes(term); const matchesStatus = selectedStatuses.length === 0 || diff --git a/apps/frontend/components/ErrorBoundary.test.tsx b/apps/frontend/components/ErrorBoundary.test.tsx index 6c000e36..1b8ea705 100644 --- a/apps/frontend/components/ErrorBoundary.test.tsx +++ b/apps/frontend/components/ErrorBoundary.test.tsx @@ -28,11 +28,6 @@ function AlwaysThrows(): never { throw new Error("Intentional test error"); } -/** A component that can be toggled to throw. */ -function TogglableThrow({ shouldThrow }: { shouldThrow: boolean }) { - if (shouldThrow) throw new Error("Toggled error"); - return
{value}
; } +let resolveSlow: ((v: string) => void) | undefined; function SlowWidget() { const value = use( - delayedResource("widget-slow", () => Promise.resolve("slow-ready"), 60) + getResource( + "widget-slow", + () => + new Promise{value}
; } @@ -29,56 +35,63 @@ function BoomWidget(): ReactNode { describe("WidgetBoundary (#625)", () => { beforeEach(() => { clearResource(); + resolveSlow = undefined; }); it("lets a delayed widget stream in last without blocking siblings", async () => { - render( - <> -