From a63c769ab6130dca079a7b0dde54de1d9c924284 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 26 May 2026 15:57:00 -0700 Subject: [PATCH] fix error messaging. --- .../websites/[websiteId]/(reports)/heatmaps/Heatmap.tsx | 5 +++-- src/queries/sql/heatmap/ensureHeatmapSnapshot.ts | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/app/(main)/websites/[websiteId]/(reports)/heatmaps/Heatmap.tsx b/src/app/(main)/websites/[websiteId]/(reports)/heatmaps/Heatmap.tsx index 01622e2a0..b71c8f438 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/heatmaps/Heatmap.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/heatmaps/Heatmap.tsx @@ -5,6 +5,7 @@ import { LoadingPanel } from '@/components/common/LoadingPanel'; import { useResultQuery } from '@/components/hooks'; import { getClientAuthToken } from '@/lib/client'; import { formatLongNumber } from '@/lib/format'; +import { SNAPSHOT_UNAVAILABLE_ERROR } from '@/queries/sql/heatmap/ensureHeatmapSnapshot'; import type { HeatmapMode, HeatmapPoint, HeatmapResult, HeatmapSnapshot } from '@/queries/sql'; import styles from './Heatmap.module.css'; @@ -299,7 +300,7 @@ function ClickHeatmapView({ {showPage && snapshot?.status === 'failed' && ( - {snapshot.error || 'Page screenshot unavailable.'} + {SNAPSHOT_UNAVAILABLE_ERROR} )} @@ -447,7 +448,7 @@ function ScrollHeatmapView({ {showPage && snapshot?.status === 'failed' && ( - {snapshot.error || 'Page screenshot unavailable.'} + {SNAPSHOT_UNAVAILABLE_ERROR} )} diff --git a/src/queries/sql/heatmap/ensureHeatmapSnapshot.ts b/src/queries/sql/heatmap/ensureHeatmapSnapshot.ts index 62095c1a1..5b6ef71f0 100644 --- a/src/queries/sql/heatmap/ensureHeatmapSnapshot.ts +++ b/src/queries/sql/heatmap/ensureHeatmapSnapshot.ts @@ -13,6 +13,7 @@ const SNAPSHOT_STATUS = { const SNAPSHOT_RETRY_DELAY_MS = 15 * 60 * 1000; const SNAPSHOT_PENDING_WINDOW_MS = 30 * 1000; const SNAPSHOT_DEVICE_SCALE_FACTOR = 1; +export const SNAPSHOT_UNAVAILABLE_ERROR = 'Page screenshot unavailable.'; export type HeatmapSnapshotStatus = (typeof SNAPSHOT_STATUS)[keyof typeof SNAPSHOT_STATUS]; export interface HeatmapSnapshotImage { @@ -682,7 +683,7 @@ export async function ensureHeatmapSnapshot({ status: SNAPSHOT_STATUS.failed, mimeType: null, imageData: null, - error: 'Website domain is not configured for screenshot capture.', + error: SNAPSHOT_UNAVAILABLE_ERROR, }); const failed = await findSnapshot(websiteId, urlPath, viewportW, viewportH); @@ -741,7 +742,7 @@ export async function ensureHeatmapSnapshot({ status: SNAPSHOT_STATUS.failed, mimeType: null, imageData: null, - error: error instanceof Error ? error.message.slice(0, 500) : 'Screenshot capture failed.', + error: SNAPSHOT_UNAVAILABLE_ERROR, }); }