diff --git a/app/(app)/(published)/lish/[did]/[publication]/PaginatedPublicationPostsList.tsx b/app/(app)/(published)/lish/[did]/[publication]/PaginatedPublicationPostsList.tsx index 738c7143..b6a6ac20 100644 --- a/app/(app)/(published)/lish/[did]/[publication]/PaginatedPublicationPostsList.tsx +++ b/app/(app)/(published)/lish/[did]/[publication]/PaginatedPublicationPostsList.tsx @@ -72,6 +72,9 @@ export function PaginatedPublicationPostsList({ const loadMoreRef = useRef(null); const hasMore = cappedUris.length > size * POSTS_LIST_PAGE_SIZE; + // Posts this list won't reach: either still windowed off by pagination, or + // cut off entirely by `limit`. + const hasUnshownPosts = hasMore || cappedUris.length < uris.length; useEffect(() => { const observer = new IntersectionObserver( (entries) => { @@ -111,9 +114,10 @@ export function PaginatedPublicationPostsList({ Loading more posts... )} - {/* Always in the SSR HTML: only the first batch of posts is served, so - crawlers need a plain anchor to the archive to reach the rest. */} - {!disableLinks && ( + {/* In the SSR HTML whenever posts are missing from it: only the first + batch is served, so crawlers need a plain anchor to the archive to + reach the rest. */} + {!disableLinks && hasUnshownPosts && (