- Post not found regression -- Restored two-step post lookup: prefers
idfield (URL convention), falls back tonumericId. The 5.3.3 commit incorrectly removed these, causing posts to not be found when navigating via URL. Adjacent post navigation usesidfor deterministic ordering. - ThemeProvider crash on settings page -- Removed the
if (!mounted) return <>{children}</>guard fromThemeContextthat rendered children outside the provider during SSR/initial render, causinguseTheme()to throw. The provider now always wraps children with the default "dark" theme until client hydration. - Post navigation bug -- Fixed ambiguous query in
getAdjacentPosts()that matched across bothidandnumericIdfields (which can diverge). Now performs a two-step lookup (preferid, fallback tonumericId) and sorts exclusively byidfor deterministic post resolution. Pressing A/D keys no longer jumps to unrelated posts. - Tags not displaying -- Added
tags: 1to the post listing API.select()projection and added tag rendering to the PostGrid component. Tags saved during upload now appear as purple pills on post cards (up to 3, with "+N" overflow indicator). - Comment formatting broken -- Implemented
parseCommentFormatting()utility that converts markdown syntax (**bold**,*italic*,__underline__,~~strikethrough~~) to React elements. Added Underline and Strikethrough buttons to both Comment.tsx and CommentList.tsx formatting toolbars. Updated DOMPurify allowed tags to include<u>and<s>. Fixed CommentList preview to render formatted text instead of raw string. - Sitemap not updating -- Added missing
revalidatePath()calls to moderation post deletion (/sitemap_uploads.xml), tag deletion (/sitemap_tags.xml), comment deletion by author/mod (/sitemap_comments.xml), and ban/unban actions (/sitemap_users.xml). Reduced sitemap cache headers from 3600s to 300s. Removed/moderation/publicfrom sitemap index (it's a page, not a sub-sitemap). - Meta tags duplication -- Fixed title duplication (
f0ck.org | f0ck.org) by using{ absolute: title }ingenerateMetadata()and all page-level metadata exports. The layout template"%s | f0ck.org"now only applies to pages without explicit metadata. - robots.txt blocking public pages -- Consolidated robots.txt into Next.js
robots.tsMetadata API./moderation/publicis now allowed for crawling; only private routes (/api/,/account/,/admin/,/settings/, auth routes,/upload) are blocked. Removed staticpublic/robots.txtwhich was ignored by Next.js App Router.
- Footer links -- Added "Free ShareX & Flameshot host" (https://sx.f0ck.org) and "f0ck TeamSpeak" (teamspeak://ts.f0ck.org) to the site footer.
- Ko-fi / Support Us links -- Removed all Ko-fi donation links from Footer, Help page, and Terms page. Crypto donation addresses on Help page preserved.