- Service Worker blocking external scripts — SW now only caches same-origin assets, preventing hCaptcha and Cloudflare from being blocked. Version bump to v2 forces cache bust.
- hCaptcha loading — Script loaded via Next.js
Script strategy="beforeInteractive". SDK readiness check with loading spinner.key={pathname}forces remount on navigation. - CSP updated — Added
cloudflareinsights.comto script-src and connect-src. - Premium effects site-wide — Avatar frames, nickname styles, and fonts now display in Navbar, PostGrid, PostDetails, Comment, UserList, UserProfile, NotificationBell.
- Admin/moderator premium access — All admin and moderator users automatically get premium effects everywhere.
- Premium settings persistence — Settings now save maxGifSize, keepOriginalVideoQuality to backend. Load from backend on mount.
- Premium page avatar frames — Now use PremiumAvatar component for consistent rendering with actual effects.
- Nickname preview — Uses inline CSS styles instead of dynamic Tailwind classes (JIT-safe).
- Tag editing — PostTagEditor immediately saves to backend on add/remove. Tags API admin/mod role check fixed.
- API keys — Admin/mod get enterprise tier. DELETE uses proper ObjectId validation. Key display shows only first 8 + last 4 chars.
- Theme flash — Inline script in
<head>sets dark class before first paint. - Homepage stats — Compact inline display instead of bulky cards.
- Ad banner — Admin-editable via Settings page (text, URL, image).
- User model — Added
fontfield to Mongoose premium schema. - Posts API — Populate author with
rolefield for proper premium detection. - Users API —
premiumboolean includes admin/moderator users. - Blog rendering — Custom image/link renderers with lazy loading.
- Footer text — ShareX link restored to "Free ShareX & Flameshot Host", ZNC link fixed, added /f0ck/* page links.
- Content rating filter — Removed from URL, stored in localStorage only.
- Pool filter persistence — safe/sketchy/unsafe filter survives page refresh via URL params.
- Manifest extended — Added shortcuts, categories, scope, apple-touch-icon.
- Page title — Fixed to "f0ck.org".
- Registration text — Increased font size for mobile readability.
- Pool lightbox — Detect video/animated from URL extension.
- Comment GIFs — Removed
loading="lazy"for reliable loading. - Stripe prices — Created 4 live price IDs (monthly $2.99, quarterly $7.99, half-yearly $14.99, yearly $24.99).
- Stripe webhook — Created webhook endpoint with all necessary events.
- GitHub Actions runner — Self-hosted runner "mohican" online as systemd service.
- Version bumped to 5.7.0
- Premium pricing — Monthly $2.99, Quarterly $7.99, Half-Yearly $14.99, Yearly $24.99.
- JetBrains Mono font — Replaced Google Fonts import with system monospace fallback (build reliability).
- SafeHCaptcha removed — Restored original
@hcaptcha/react-hcaptchalibrary. - Migration plan — Created
projekt/MIGRATION_v6.mdfor old szurubooru data import.
- Service Worker — Only caches same-origin assets, preventing external script interception.
- CSP — Added Cloudflare Insights to allowed sources.
- Secret scripts removed — Deleted
create-stripe-prices.jswith hardcoded API key from repo.