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,
});
}