From 6724f91c795cb8e1d3c4e63861464712fcebc12a Mon Sep 17 00:00:00 2001 From: plebeius Date: Wed, 31 Dec 2025 20:14:51 +0100 Subject: [PATCH] fix(post): redirect to 404 when thread URL specifies wrong board --- src/views/post/post.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/views/post/post.tsx b/src/views/post/post.tsx index dec15532..0e25cd99 100644 --- a/src/views/post/post.tsx +++ b/src/views/post/post.tsx @@ -2,7 +2,7 @@ import { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { Comment, Role, useComment, useEditedComment, useSubplebbit } from '@plebbit/plebbit-react-hooks'; import useSubplebbitsStore from '@plebbit/plebbit-react-hooks/dist/stores/subplebbits'; -import { useLocation, useParams } from 'react-router-dom'; +import { useLocation, useNavigate, useParams } from 'react-router-dom'; import { isAllView } from '../../lib/utils/view-utils'; import { useResolvedSubplebbitAddress } from '../../hooks/use-resolved-subplebbit-address'; import { useDefaultSubplebbits } from '../../hooks/use-default-subplebbits'; @@ -60,6 +60,14 @@ const PostPage = () => { const isInAllView = isAllView(location.pathname); const comment = useComment({ commentCid }); + + const navigate = useNavigate(); + useEffect(() => { + if (comment?.subplebbitAddress && subplebbitAddress && comment.subplebbitAddress !== subplebbitAddress) { + navigate('/not-found', { replace: true }); + } + }, [comment?.subplebbitAddress, subplebbitAddress, navigate]); + const subplebbit = useSubplebbit({ subplebbitAddress }); const { shortAddress, title } = subplebbit || {}; const defaultSubplebbits = useDefaultSubplebbits();