Skip to content

Commit bf4fff9

Browse files
authored
The tasks page shows an error rather than breaking the entire page (#2297)
1 parent ad1672d commit bf4fff9

File tree

1 file changed

+26
-4
lines changed
  • apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam._index

1 file changed

+26
-4
lines changed

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam._index/route.tsx

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
BookOpenIcon,
44
ChevronDownIcon,
55
ChevronUpIcon,
6+
ExclamationTriangleIcon,
67
LightBulbIcon,
78
MagnifyingGlassIcon,
89
UserPlusIcon,
@@ -299,7 +300,10 @@ export default function Page() {
299300
</>
300301
}
301302
>
302-
<TypedAwait resolve={runningStats}>
303+
<TypedAwait
304+
resolve={runningStats}
305+
errorElement={<FailedToLoadStats />}
306+
>
303307
{(data) => {
304308
const taskData = data[task.slug];
305309
return taskData?.running ?? "0";
@@ -309,7 +313,10 @@ export default function Page() {
309313
</TableCell>
310314
<TableCell to={path}>
311315
<Suspense fallback={<></>}>
312-
<TypedAwait resolve={runningStats}>
316+
<TypedAwait
317+
resolve={runningStats}
318+
errorElement={<FailedToLoadStats />}
319+
>
313320
{(data) => {
314321
const taskData = data[task.slug];
315322
return taskData?.queued ?? "0";
@@ -319,7 +326,10 @@ export default function Page() {
319326
</TableCell>
320327
<TableCell to={path} actionClassName="py-1.5">
321328
<Suspense fallback={<TaskActivityBlankState />}>
322-
<TypedAwait resolve={activity}>
329+
<TypedAwait
330+
resolve={activity}
331+
errorElement={<FailedToLoadStats />}
332+
>
323333
{(data) => {
324334
const taskData = data[task.slug];
325335
return (
@@ -339,7 +349,10 @@ export default function Page() {
339349
</TableCell>
340350
<TableCell to={path}>
341351
<Suspense fallback={<></>}>
342-
<TypedAwait resolve={durations}>
352+
<TypedAwait
353+
resolve={durations}
354+
errorElement={<FailedToLoadStats />}
355+
>
343356
{(data) => {
344357
const taskData = data[task.slug];
345358
return taskData
@@ -828,3 +841,12 @@ function LinkWithIcon({
828841
</Link>
829842
);
830843
}
844+
845+
function FailedToLoadStats() {
846+
return (
847+
<SimpleTooltip
848+
button={<ExclamationTriangleIcon className="size-4 text-warning" />}
849+
content="We were unable to load the task stats, please try again later."
850+
/>
851+
);
852+
}

0 commit comments

Comments
 (0)