From 70e313eff89c62f6d37b2080f4851c4c76f7a88c Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Thu, 24 Sep 2026 10:57:26 -0700 Subject: [PATCH 1/2] improvement(logs): refresh the table on demand --- .../resource-header/resource-header.tsx | 38 ++- .../logs/components/log-refresh-action.tsx | 41 +++ .../app/workspace/[workspaceId]/logs/logs.tsx | 114 +++---- apps/sim/hooks/queries/logs.test.tsx | 303 +++++++++++++++++- apps/sim/hooks/queries/logs.ts | 114 ++++++- apps/sim/lib/api/contracts/logs.ts | 12 +- apps/sim/lib/logs/list-logs.test.ts | 101 +++++- apps/sim/lib/logs/list-logs.ts | 140 ++++---- 8 files changed, 704 insertions(+), 159 deletions(-) create mode 100644 apps/sim/app/workspace/[workspaceId]/logs/components/log-refresh-action.tsx diff --git a/apps/sim/app/workspace/[workspaceId]/components/resource/components/resource-header/resource-header.tsx b/apps/sim/app/workspace/[workspaceId]/components/resource/components/resource-header/resource-header.tsx index 006271eb23a..f3727f1c99f 100644 --- a/apps/sim/app/workspace/[workspaceId]/components/resource/components/resource-header/resource-header.tsx +++ b/apps/sim/app/workspace/[workspaceId]/components/resource/components/resource-header/resource-header.tsx @@ -33,6 +33,7 @@ import { PopoverContent, PopoverItem, PopoverSection, + Tooltip, useFloatingTooltip, useIsOverflowing, } from '@sim/emcn' @@ -104,6 +105,7 @@ export interface ResourceAction { active?: boolean onSelect: () => void disabled?: boolean + tooltip?: string } /** @@ -259,16 +261,7 @@ export const ResourceHeader = memo(function ResourceHeader({
{aside} {orderHeaderActions(actions).map(({ action }) => ( - - {action.text} - + ))}
)} @@ -277,6 +270,31 @@ export const ResourceHeader = memo(function ResourceHeader({ ) }) +interface ResourceActionChipProps { + action: ResourceAction +} + +function ResourceActionChip({ action }: ResourceActionChipProps) { + const chip = ( + + {action.text} + + ) + if (!action.tooltip) return chip + return ( + + {chip} + {action.tooltip} + + ) +} + function getBreadcrumbSegmentClassName( index: number, total: number, diff --git a/apps/sim/app/workspace/[workspaceId]/logs/components/log-refresh-action.tsx b/apps/sim/app/workspace/[workspaceId]/logs/components/log-refresh-action.tsx new file mode 100644 index 00000000000..258cc52dee9 --- /dev/null +++ b/apps/sim/app/workspace/[workspaceId]/logs/components/log-refresh-action.tsx @@ -0,0 +1,41 @@ +import { cn } from '@sim/emcn' +import { RefreshCw } from '@sim/emcn/icons' +import type { ResourceAction } from '@/app/workspace/[workspaceId]/components/resource/components/resource-header' + +interface RefreshIconProps { + className?: string +} + +function SpinningRefreshIcon(props: RefreshIconProps) { + return +} + +function NewLogsIndicator({ className }: RefreshIconProps) { + return ( +