diff --git a/src/app/chain/page.tsx b/src/app/chain/page.tsx index 7355797f..e32f006e 100644 --- a/src/app/chain/page.tsx +++ b/src/app/chain/page.tsx @@ -12,6 +12,7 @@ import { supabase, type Storyline } from "../../../lib/supabase"; import { STORY_FACTORY } from "../../../lib/contracts/constants"; import { useChainPlot } from "../../hooks/useChainPlot"; import type { PublishState } from "../../hooks/usePublish"; +import { PublishRecovery } from "../../components/PublishRecovery"; import Link from "next/link"; import { ConnectWallet } from "../../components/ConnectWallet"; import { Select } from "../../components/Select"; @@ -101,6 +102,9 @@ export default function ChainPlotPage() { return (
+ Previous publish needs indexing +
++ Your transaction was confirmed on-chain but indexing failed. + {maxRetriesExceeded + ? " Maximum retries reached — the backfill process will handle this automatically." + : " You can retry indexing or dismiss this notice."} +
+ + {/* Tx hash link */} + {pendingIntent.txHash && ( ++ TX: + + {pendingIntent.txHash.slice(0, 10)}... + {pendingIntent.txHash.slice(-8)} + +
+ )} + + {/* Last error */} + {pendingIntent.lastError && ( ++ {pendingIntent.lastError} + {pendingIntent.retryCount > 0 && ( + + {" "} + ({pendingIntent.retryCount}/{MAX_RETRY_COUNT} retries) + + )} +
+ )} + + {/* Actions */} +