From 9303f2543c7b573e513337cacafe76f984529175 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sza=C5=82owski?= Date: Thu, 24 Apr 2025 13:45:22 +0200 Subject: [PATCH] hotfix: randomly missing GAs metadata --- .../DashboardGovernanceActionDetails.tsx | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx b/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx index 17aab0727..caa1ee1df 100644 --- a/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx +++ b/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx @@ -40,7 +40,11 @@ export const DashboardGovernanceActionDetails = () => { const { isMobile } = useScreenDimension(); const { t } = useTranslation(); const { proposalId: txHash } = useParams(); - + const [isValidating, setIsValidating] = useState(true); + const [metadataStatus, setMetadataStatus] = useState< + MetadataValidationStatus | undefined + >(); + const [isMetadataValid, setIsMetadataValid] = useState(); const fullProposalId = txHash && getFullGovActionId(txHash, +index); const shortenedGovActionId = txHash && getShortenedGovActionId(txHash, +index); @@ -56,16 +60,12 @@ export const DashboardGovernanceActionDetails = () => { ); useEffect(() => { - if (data?.proposal) { + if (data?.proposal && typeof isMetadataValid !== "boolean") { setExtendedProposal(data.proposal); } - }, [data?.proposal]); + }, [data?.proposal, isMetadataValid]); const vote = (data ?? state)?.vote; - const [isValidating, setIsValidating] = useState(true); - const [metadataStatus, setMetadataStatus] = useState< - MetadataValidationStatus | undefined - >(); const { validateMetadata } = useValidateMutation(); useEffect(() => { @@ -74,7 +74,7 @@ export const DashboardGovernanceActionDetails = () => { const validate = async () => { setIsValidating(true); - const { status, metadata } = await validateMetadata({ + const { status, metadata, valid } = await validateMetadata({ standard: MetadataStandard.CIP108, url: extendedProposal?.url, hash: extendedProposal?.metadataHash ?? "", @@ -92,9 +92,10 @@ export const DashboardGovernanceActionDetails = () => { setMetadataStatus(status); setIsValidating(false); + setIsMetadataValid(valid); }; validate(); - }, [extendedProposal?.url]); + }, [extendedProposal?.url, extendedProposal?.metadataHash]); useEffect(() => { const isProposalNotFound =