📋

What's New

A running log of every feature, improvement, and fix shipped to Ewoks.com. We build in the open!

🆕

Village Population Boost

2026-04-08 10:00 EST

Latest
  • -Seeded 50 new community members with realistic names, bios, favorite Ewoks, favorite movies, and locations from around the world
  • -Each user has a varied join date spread across the last 90 days for a natural growth curve
  • -Member count on the homepage now reflects a more populated village (~70 regular members)
📦

Two New Blog Articles

2026-04-06 14:00 EST

  • -New lore article: "The Forest Moon Ecosystem: Life on Endor's Sanctuary Moon" — a deep dive into the great trees, the understory, and the other creatures the Ewoks share Endor with (Yuzzums, Duloks, Gorax, bordoks, and more)
  • -New media article: "The Future of Ewoks in Star Wars: What's Next for the Forest Moon" — a forward-looking piece on where Ewoks could appear next in Disney+ series, films, games, and animation, plus what the fan community is hoping for
  • -Both articles written in The Council of Elders voice, fully cross-linked with existing lore content, FAQ, and characters directory
📦

Loading Skeleton Screens

2026-04-06 09:00 EST

  • -Reusable skeleton primitives (SkeletonLine, SkeletonCircle, SkeletonBlock) with shimmer animation and dark mode support
  • -Content-specific skeletons matching real layouts: PostCardSkeleton, NotificationSkeleton, ConversationSkeleton
  • -Next.js loading.tsx files for 8 key routes: feed, explore, notifications, messages, profile, blog, characters, and villages
  • -Replaced plain text/spinner loading states in notifications, messages, and search pages with shimmer skeletons
  • -Zero layout shift — skeletons match the exact structure of the content they replace
📦

Ewok FAQ Page & Public Community Enhancements

2026-04-05 11:00 EST

  • -New /faq page with 21 questions across 6 categories: Basics, Language & Culture, Characters, Movies & Media, Behind the Scenes, and Ewoks.com
  • -Full FAQPage JSON-LD schema for featured snippet eligibility on Google (targets "Are Ewoks bears?", "How tall are Ewoks?", etc.)
  • -Expandable accordion UI with category jump-nav, dark mode support, and CTA section
  • -Enhanced logged-out CTA on /explore with member count, feature highlights, and FAQ link
  • -Improved logged-out CTA on /feed with gradient styling and clear value proposition
  • -FAQ added to Discover dropdown (desktop + mobile), footer, breadcrumbs, and sitemap (priority 0.8)
📦

SEO Audit Fixes

2026-04-05 10:00 EST

  • -Homepage stat counters: added retry logic with cache-busting to prevent showing 0s on cold starts or stale edge cache
  • -Blog index: title changed to "Ewok Blog: Lore, Guides & Collector Tips | Ewoks.com", H1 changed to "Ewok Blog"
  • -Ewokese dictionary: title shortened from 71 chars to under 60 ("Ewokese Dictionary — Learn the Ewok Language | Ewoks.com")
  • -Blog articles: markdown H1 headings now render as H2 to avoid duplicating the page hero H1
  • -Meta description expansion: character pages, village pages, and blog articles auto-padded to 140-160 chars when too short
  • -Village pages: emojis in H1 tags moved to decorative aria-hidden spans (villages index and village detail)
  • -Topic pillar pages: OG title simplified to avoid exceeding 60 chars
📦

Public Changelog Page

2026-04-04 23:00 EST

  • -Changelog is now publicly accessible at /changelog for all visitors — no login required
  • -"What's New" link added to the site footer
  • -Changelog data extracted to shared module (lib/changelog-data.ts) used by both public and admin views
  • -Added to sitemap and breadcrumb navigation
📦

Growth Features — RSS Feed, Daily Trivia Quiz & Dynamic OG Images

2026-04-04 22:00 EST

  • -RSS Feed: /feed.xml serves a valid RSS 2.0 feed of all published blog articles with auto-discovery link in <head>
  • -Daily Trivia Quiz: 5 deterministic daily questions drawn from Ewokese dictionary, lore facts, and character data
  • -Quiz tracks scores, streaks, and awards activity points (2 per correct answer)
  • -Quiz leaderboard API with weekly/monthly periods showing top 20 players
  • -Quiz results shareable via clipboard with OG image support for shared score URLs
  • -New quiz badges: Trivia Wokling (first quiz), Perfect Score (5/5), Quiz Streak (7 days)
  • -Dynamic OG Images: /api/og generates 1200x630 PNG images for blog posts, characters, profiles, and quiz scores
  • -Default site-wide OG image (app/opengraph-image.tsx) with Ewoks.com branding on forest gradient
  • -Blog articles, character profiles, and user profiles now include dynamic OG images in metadata
  • -Quiz added to Discover dropdown in header navigation, breadcrumbs, and sitemap
📦

Blog Visual Overhaul

2026-04-04 20:00 EST

  • -Blog listing: dark gradient hero banner with firefly effects and forest silhouette transition
  • -Featured article: latest post displayed as a full-width horizontal card above the grid with category gradient
  • -Article cards: category-themed gradient backgrounds replace blank image areas — every card now has a visual anchor
  • -Article cards: enhanced hover effects (scale, border color, "Read →" reveal), leaf icon on reading time
  • -Article detail: full-bleed gradient hero header with title, author avatar, date, and category badge overlaid
  • -Article detail: reading progress bar (ewok-orange) fixed at top of viewport while scrolling
  • -Article detail: author bio card with themed icon below article body
  • -Article detail: "Explore More" CTA section linking to blog and characters
  • -Markdown: decorative orange gradient underline on h2 headings with hover animation
  • -Markdown: styled callout boxes for Tip/Note/Lore blockquotes with icons and colored borders
  • -Markdown: enhanced blockquote styling with rounded corners and background tint
📦

Character Portrait Art

2026-04-04 19:00 EST

  • -Added AI-generated portrait artwork for all 15 Ewok characters
  • -Portraits display on character listing cards and individual profile pages
  • -Images served from /images/characters/ as static assets
📦

Global Breadcrumb Navigation

2026-04-04 18:00 EST

  • -Added route-based breadcrumb bar below the header on all pages (hidden on homepage and auth pages)
  • -Breadcrumbs show logical path: Home > Section > Page with clickable parent links
  • -Supports all routes including dynamic pages (villages, blog articles, character profiles, topics, messages)
  • -Dark mode support with ewok-themed styling
  • -Removed duplicate inline breadcrumbs from blog article and character profile pages
📦

Homepage Stickiness — Links & Blog Stats

2026-04-04 17:00 EST

  • -Stats bar numbers now link to their respective pages (Members → /users, Stories → /feed, Comments → /explore, Villages → /villages)
  • -Added Blog Posts count as a 5th stat in the stats bar, linking to /blog
  • -Feature cards ("Share Your Adventures", "Find Your Tribe", "Join a Village") are now clickable links to /feed, /users, and /villages
  • -Added "Discover More" section with cards linking to Blog, Characters, Ewokese Dictionary, and Explore pages
  • -Ewokese Word of the Day now includes a "Browse Full Dictionary" link to /ewokese
  • -Did You Know section now includes a "Read more Ewok lore on the Blog" link
  • -Stats counters scale up on hover for visual feedback
📦

Navigation Redesign — Dropdown Menu

2026-04-04 16:00 EST

  • -Reorganized header navigation from 14 flat links to grouped layout with a "Discover" dropdown
  • -Desktop: primary links (Home, Feed, Explore, Villages) plus hover-activated dropdown for Blog, Characters, Ewokese, Members, Sponsors
  • -Dropdown opens on hover with 150ms close delay for smooth UX, also toggleable on click
  • -Mobile drawer now uses grouped sections with "Discover" and "More" headers for cleaner organization
  • -Logged-out users see About and Contact inside the Discover dropdown; logged-in users see Tribe and Signals as top-level links
📦

Public Engagement Features — Blog, Characters, Dictionary, Topics, Explore

2026-04-04 15:00 EST

  • -Launched /blog with 7 seed articles covering Ewok lore, media, merchandise, and guides — Markdown rendered with react-markdown
  • -Added /blog/[slug] article pages with JSON-LD Article schema, breadcrumbs, related articles, and category filtering
  • -Created /characters with 15 Ewok character profile pages — bios, traits, appearances, related characters, and JSON-LD Person schema
  • -Built /ewokese interactive Ewokese dictionary with 100+ words — search, alphabetical browse, category filter, and Word of the Day
  • -Added /topics pillar pages (Ewok Lore, Ewok Media, Ewok Merchandise) linking to related articles and characters for SEO topic clusters
  • -Created /explore public discover page showing trending posts, fan art, active villages, and latest blog articles
  • -Updated navigation: Blog, Characters, Ewokese, and Explore added to header nav for both logged-in and logged-out users
  • -Updated footer with links to Blog, Ewok Characters, and Ewokese Dictionary
  • -Sitemap now dynamically includes all blog articles, character pages, and topic pillar pages
  • -Created blog_articles and characters database tables with full RLS enabled
📦

SEO Improvements Release

2026-04-04 12:00 EST

  • -Fixed canonical tags: every page now has its own canonical URL instead of inheriting the homepage canonical
  • -Added dynamic metadata (title, description, canonical, Open Graph) to profile and village detail pages via generateMetadata()
  • -Created metadata layout files for client component pages: contact, sponsors, search, and members directory
  • -Added visually hidden H1 to homepage for search engine heading structure
  • -Sitemap now dynamically includes all village pages and excludes /login and /register
  • -Expanded meta descriptions on About and Villages pages to 140-160 characters
  • -Added JSON-LD structured data: Organization + WebSite schema in root layout, BreadcrumbList on village and profile pages
  • -Added Google Search Console verification support via GOOGLE_SITE_VERIFICATION env var
  • -Fixed homepage stat counters potentially showing zeros from build-time cache (force-dynamic on API route)
📦

Admin Loading States

2026-03-31 01:30 EST

  • -Added loading animation with descriptive text to admin dashboard, activity stream, moderation queue, and ad manager pages
  • -Loading spinner now stays visible until data arrives from the API, not just until auth completes
📦

Landing Page Copy Refresh

2026-03-31 01:15 EST

  • -Updated hero subtitle to position Ewoks.com as "the first social network built for Ewok fans"
  • -Rewrote feature card descriptions to highlight polls, ranks, badges, analytics, and village count
  • -Updated SEO meta description and Open Graph tags across all social share surfaces
📦

Bug Fix: All Profile Pages Crashing

2026-03-31 00:50 EST

  • -Fixed all profile pages showing "Something Went Wrong" error: lib/ranks.ts imported Prisma at the top level, which got bundled into client components (RankBadge) causing a crash during hydration
  • -Moved Prisma import in awardPoints() to a dynamic import so rank utilities can safely be used in client components
📦

Bug Fixes: Analytics & Profile Cover Photo

2026-03-30 23:30 EST

  • -Fixed analytics page showing blank: raw SQL BigInt values could not be serialized to JSON (changed to int cast)
  • -Fixed profile page crashing when a cover photo is set: replaced next/image fill mode with standard img tag for cover photos to prevent server component errors
📦

Email-Based 2FA Option

2026-03-30 23:00 EST

  • -Users can now choose between authenticator app (TOTP) or email code for two-factor authentication
  • -Method selection screen when enabling 2FA in Settings > Security
  • -Email codes: 6-digit code sent to user's email, valid for 10 minutes
  • -Resend code option on login screen for email-based 2FA
  • -Current 2FA method displayed in Settings > Security
  • -Email code support for disabling 2FA (send code button in disable flow)
📦

Two-Factor Authentication (Opt-In)

2026-03-30 22:00 EST

  • -Optional TOTP-based two-factor authentication via authenticator apps (Google Authenticator, Authy, etc.)
  • -Enable/disable 2FA from Settings > Security with QR code setup flow
  • -8 single-use backup codes generated on setup with download option
  • -Two-step login: password first, then TOTP code prompt (only if 2FA enabled)
  • -Backup code login support with automatic single-use enforcement
  • -TOTP secrets encrypted at rest with AES-256-GCM
  • -Rate limiting on 2FA endpoints (5 attempts/minute)
📦

Personal Analytics Dashboard

2026-03-30 21:00 EST

  • -New /analytics page with personal engagement stats and trends
  • -Summary cards: total posts, likes/comments/reposts received, followers, following, activity points, current rank
  • -Top 5 posts ranked by total engagement (likes + comments + reposts)
  • -Daily engagement trends chart with pure CSS bar visualization (likes, comments, followers)
  • -Period selector: 7 days, 30 days, or all time
  • -Analytics link added to user dropdown menu and mobile drawer
📦

Dark Mode

2026-03-30 20:00 EST

  • -Full dark mode support with forest-at-night palette toggled via sun/moon button in header
  • -Anti-flash inline script prevents wrong-theme flash on page load
  • -Theme persisted to localStorage with system-preference fallback
  • -Dark variants for all cards, inputs, buttons, modals, dropdowns, and scrollbars
  • -Theme toggle added to Settings page under Appearance section
📦

EXIF Stripping & Image Processing

2026-03-30 19:30 EST

  • -All uploaded images are now auto-oriented, resized (max 2048px), stripped of EXIF metadata, and converted to WebP (quality 85) via Sharp
  • -Graceful fallback to raw upload if image processing fails
  • -Protects user privacy by removing GPS coordinates, camera info, and other metadata from photos
📦

Email Notification Preferences

2026-03-30 19:00 EST

  • -Notification emails now respect per-user preferences (likes, comments, follows, messages)
  • -Rate limiting: max 1 email notification per type per hour per user to prevent spam
  • -Repost notifications gated by the likes notification preference
  • -Badge earned and moderation notifications always sent regardless of preferences
  • -New centralized notification email template with unsubscribe link
📦

Group Signal Drums (Group Messaging)

2026-03-30 18:00 EST

  • -Multi-person group conversations ("Group Signals") alongside existing 1-on-1 Signal Drums
  • -Create groups with a name and 2+ friends via friend picker modal
  • -Group chat UI with sender avatars, message grouping, date dividers, and auto-scroll
  • -Real-time polling for new messages every 5 seconds
  • -Group member management: add members (creator), leave group, remove members
  • -Ownership transfer when creator leaves, auto-delete when last member leaves
  • -Unread group message counts included in real-time SSE notification badges
  • -Tab navigation between Direct Messages and Group Signals on the messages page
  • -Stacked member avatars and last message preview in group conversation list
📦

Polls & Voting, Post Reposting

2026-03-30 17:00 EST

  • -Polls: create multiple-choice polls in posts with 2-6 options and optional expiry
  • -Vote on polls with instant animated result bars showing percentages and vote counts
  • -"View results" toggle to peek at results before voting
  • -Poll composer integrated into post creation with validation
  • -Post Reposting: share posts to your followers with optional commentary
  • -Quick repost or repost with comment via dropdown menu
  • -Repost count displayed on every post, undo repost support
  • -"Reposted by @username" banner on reposted posts in the feed
  • -Original post author notified when their post is reposted
📦

Profile Enhancements, Ranks & Badges

2026-03-30 15:00 EST

  • -Cover photos: Twitter/LinkedIn-style banner on profiles with gradient fallback
  • -New profile fields: favorite movie, location, website link, and collection showcase
  • -Profile edit page updated with cover photo upload and all new fields
  • -User Ranks: Wokling → Scout → Warrior → Elder → Shaman based on activity points
  • -Points awarded for posts (5), comments (3), likes received (1)
  • -Rank badge displayed next to username on profiles with progress bar to next rank
  • -Achievement Badges: 12 earnable badges (First Post, Storyteller, Social Butterfly, Yub Nub!, rank promotions, and more)
  • -Badges auto-awarded on post, comment, and like actions (fire-and-forget)
  • -Badge grid displayed on user profiles with tooltips
  • -Badge earned notifications sent to users
📦

Bookmarks, Post Pinning & Online Status

2026-03-30 13:00 EST

  • -Bookmarks: save posts privately with a toggle icon on every post, view saved posts at /bookmarks
  • -"Saved" link added to navigation header for quick access
  • -Post Pinning: mods/admins can pin important posts to the top of the feed and village pages
  • -Pinned posts show an amber "Pinned by @username" banner and stay at the top when sorting by New
  • -Pin/Unpin option in the post menu for moderators and admins
  • -Online Status: green/yellow dots on avatars showing who is online or away
  • -Heartbeat system updates status every 60 seconds (online <5min, away <15min)
  • -Online status shown on profiles ("Online now", "Active Xm ago") and in message inbox
  • -Users can disable their online visibility via the existing showOnlineStatus privacy setting
📦

Pagination Across All List Pages

2026-03-30 11:00 EST

  • -Feed: "Load More" button loads additional posts via cursor-based pagination
  • -Discover: paginated user directory with "Load More" and "Showing X of Y members" count
  • -Notifications: "Load More" with running count of displayed vs total notifications
  • -Village posts: "Load More" for villages with 20+ posts using reusable LoadMorePosts component
  • -Profile posts: increased initial load to 20, "Load More" for users with many posts
  • -New API endpoint: /api/users/[username]/posts for paginated profile post history
  • -Admin Contact Messages: Previous/Next pagination (matching activity stream pattern)
  • -Reusable LoadMorePosts component for consistent pagination across post listings
📦

Real-Time Notifications via Server-Sent Events

2026-03-30 10:00 EST

  • -Live notification and message badges update every 10 seconds without page refresh
  • -SSE endpoint streams unread counts to connected clients with auto-reconnect
  • -Red badge counters on notification bell and Signal Drums (messages) link in header
  • -RealtimeProvider context makes counts available app-wide
  • -Exponential backoff reconnection (1s → 2s → 4s → max 30s) for reliability
  • -Graceful fallback for browsers without SSE support
📦

Page Caching & Performance (ISR)

2026-03-30 09:30 EST

  • -Incremental Static Regeneration (ISR) on all server component pages
  • -Feed revalidates every 30 seconds, profiles and village pages every 60 seconds
  • -Villages list and community page cached for 5 minutes, about page for 1 hour
  • -Legal pages (terms, privacy, cookies) cached for 24 hours
  • -Homepage API response cached with s-maxage=60, stale-while-revalidate=300
  • -Ad API responses cached for 5 minutes with stale-while-revalidate
  • -Static assets (/_next/static) set to immutable with 1-year max-age
  • -Logo and public assets cached for 1 week
📦

Email Template System & Retry Logic

2026-03-30 09:00 EST

  • -Centralized email templates in lib/email-templates.ts — consistent branding across all emails
  • -Shared base layout with Ewoks.com header, footer, and styling for all email types
  • -Unsubscribe link added to non-transactional emails (links to notification settings)
  • -Transactional emails (verification, password reset) correctly omit unsubscribe per CAN-SPAM
  • -Retry with exponential backoff on send failure: 3 attempts at 1s, 3s, 9s intervals
  • -All 6 email templates migrated: verification, password reset, admin alerts, sponsorship, council reply
  • -HTML escaping on all user inputs in email templates for security
📦

Cookie Policy Page

2026-03-30 08:30 EST

  • -Detailed Cookie Policy page at /cookies listing all cookies used (NextAuth session, CSRF, callback, consent)
  • -Explains essential vs optional cookies, third-party cookies (reCAPTCHA), and browser management
  • -Cookie consent banner now links to both Privacy Policy and Cookie Policy
  • -Styled consistently with Terms and Privacy pages
📦

Feed Layout: Hide Empty Sidebar

2026-03-30 08:00 EST

  • -Sidebar ad panel is now hidden when no active sidebar ads exist
  • -Feed automatically centers in a single-column layout when sidebar is hidden
  • -Server-side check for active sidebar ads with date-range awareness
📦

Image Optimization

2026-03-30 07:00 EST

  • -All images now served through Next.js Image optimization pipeline — automatic resizing, compression, and lazy loading
  • -Auto-format conversion to AVIF and WebP (up to 50% smaller than JPEG)
  • -Responsive srcSet generation with tailored breakpoints for avatars, post images, ads, and thumbnails
  • -Optimized images cached for 30 days after first generation
  • -Profile pictures priority-loaded for instant display above the fold
  • -Converted 8 components: UserAvatar, PostCard, profile page, AffiliateAdCard, BannerAd, homepage marquee, admin ads table
📦

Production Hardening & Launch Readiness

2026-03-30 06:00 EST

  • -Rate limiting middleware on registration (5/min), login (10/min), password reset (3/min), and contact form (3/min)
  • -Login brute force protection: account locked after 5 failed attempts within 15 minutes
  • -Email verification tokens now SHA-256 hashed in database with 24-hour expiry
  • -Error pages: themed 404 "Lost in the Forest" page, error boundary with retry, global error handler
  • -SEO: robots.txt, dynamic sitemap.xml, OpenGraph & Twitter Card metadata on all pages
  • -In-app content reporting: report posts/comments/users for spam, harassment, inappropriate content, or misinformation
  • -Admin Moderation Queue: review, resolve, or dismiss reports with notes and audit trail
  • -Report button added to every post in the feed
  • -GDPR data export: download all personal data as JSON from settings page
  • -GDPR account deletion: soft-delete with password confirmation, anonymizes profile while preserving post threads
  • -User verification status: "Not Verified" badge on profiles and admin dashboard for users who haven't verified email
  • -Admin user filter: filter by Active, Not Verified, or Banned status
  • -Role badges now displayed on user profiles (Forest Guardian, Village Elder, Chief of Endor)
  • -CONTENT_REPORTED and REPORT_REVIEWED events tracked in Activity Stream
  • -DATA_EXPORTED and ACCOUNT_DELETED events tracked in Activity Stream
📦

Feed Search & Filter Bar

2026-03-30 04:00 EST

  • -Compact search/filter bar added above the feed post list
  • -Collapsible search input — click the magnifying glass to expand, X to close
  • -Sort pills: New (default), Top (most liked), Old — instant client-side sorting
  • -Media-only toggle to show only posts with images
  • -Village dropdown filter to narrow posts by village
  • -Active filter count and one-click "Clear" to reset all filters
  • -All filtering is client-side on pre-fetched posts for instant responsiveness
📦

Ad Lifecycle Activity Tracking

2026-03-30 03:30 EST

  • -Ad create, modify, activate, deactivate, and delete events now tracked in Activity Stream
  • -Smart detection: toggling active/inactive logs AD_ACTIVATED or AD_DEACTIVATED instead of generic AD_MODIFIED
  • -Change tracking includes which fields were modified and previous/new state for status toggles
  • -Ad deletion captures title, program, and placement before removal for audit trail
📦

Banner & Sidebar Ad Placements, Image & Color Fixes

2026-03-30 03:00 EST

  • -Banner ads now appear on the homepage between the activity ticker and Endor history sections
  • -Sidebar ads on the feed page: two ad slots in a sticky sidebar on desktop, hidden on mobile
  • -Feed page converted to 2-column layout (feed + sidebar) with responsive breakpoints
  • -Fixed ad images not loading: added Amazon, eBay, Walmart, Sideshow, Unsplash, and CloudFront domains to Content Security Policy img-src
  • -Darkened affiliate program badge text colors for better readability (text-*-900 with font-semibold)
  • -Updated ad placement descriptions to reflect actual locations (homepage banner, feed sidebar)
📦

Activity Stream & New User Admin Notifications

2026-03-30 02:00 EST

  • -Activity log system tracking all important site events for observability and compliance
  • -Events tracked: user registration, login, failed login, email verification, password reset, ban/unban, role changes, user deletion, post moderation
  • -Admin Activity Stream page with severity-based color coding (info/warning/critical)
  • -Click-to-expand activity entries showing IP address, user agent, timestamp, and full metadata
  • -Filter by activity type and severity level with pagination
  • -Super admin email notification on every new user registration with username, email, IP, user agent
  • -ActivityLog model with indexed type, actor, target, severity, and timestamp fields
📦

Affiliate Ad Management System

2026-03-30 00:30 EST

  • -Full affiliate ad system: Amazon, eBay, Walmart, Sideshow Collectibles, and custom programs
  • -Admin Ad Manager: create, edit, delete, toggle active/inactive ads with program/placement/weight controls
  • -Ad Analytics dashboard: impressions, clicks, CTR, breakdown by program & placement, top performers
  • -Privacy-conscious click tracking: SHA-256 hashed IPs, 30-minute dedup window, no raw IP storage
  • -Weighted random ad rotation engine with date-range scheduling
  • -FTC-compliant "Sponsored" labels and rel="sponsored nofollow noopener" on all ad links
  • -Feed integration: affiliate ads appear every 5 posts in the main feed
  • -Sidebar ads on village pages
  • -IntersectionObserver-based impression tracking (fires when ad is 50% visible)
  • -Click redirect via /api/go/[adId] — users never see raw affiliate URLs
📦

Mobile Responsive Design

2026-03-29 03:00 EST

  • -Hamburger menu with slide-out drawer for mobile navigation (< 1024px)
  • -Drawer includes all nav links with icons, user info, profile/settings shortcuts, and sign out
  • -Body scroll lock when drawer is open, click-outside to dismiss
  • -Mobile CSS: reduced hero height, full-width CTA buttons, tighter card padding, smaller marquee cards
  • -Touch-friendly 44px minimum tap targets for buttons
  • -prefers-reduced-motion support: disables all animations for accessibility
  • -Reduced firefly animation opacity on mobile for battery savings
📦

@Mention Tagging in Posts

2026-03-29 02:15 EST

  • -Type @ in the post composer to search and tag users with autocomplete dropdown
  • -@username mentions rendered as clickable profile links in posts and comments
  • -Mentioned users receive push notifications (MENTION type)
  • -Editing a post only notifies newly added mentions, not existing ones
  • -Lightweight /api/users/search endpoint for fast autocomplete
📦

Major Feature Release: Moderation, Follows, Reactions, Sponsors

2026-03-29 01:30 EST

  • -Post moderation system: soft-delete with reason, mod edit tracking, admin visibility of deleted posts
  • -Post editing: creators can edit own posts, mods can edit any post with attribution
  • -Follow system: follow/unfollow API, profile follower/following counts, follow button on profiles
  • -DM reactions: iMessage-style heart reactions on Signal Drums messages
  • -Sponsors page: tiered sponsorship cards (Wokling Supporter, Ewok Champion, Elder Patron, Chief's Circle) with reCAPTCHA contact form
  • -Cookie consent banner with localStorage persistence
  • -Homepage: image thumbnails in activity ticker, scroll indicator chevron
  • -About page: replaced email with contact page link
  • -LikeButton: disabled for logged-out users with login/join prompt tooltip
  • -Feed link added to navigation for non-logged-in users
  • -Admin changelog page (this page!)
📦

Feed Enhancements & Profile Updates

2026-03-28 23:00 EST

  • -Profile pages now use PostCard format matching the feed
  • -Feed made public for non-logged-in users with join/login CTA banner
  • -Village post count displayed on village cards
  • -Village name shown on posts in the main feed with clickable links
  • -Post composer added to village pages for members
📦

Email Verification & Login Flow

2026-03-28 21:00 EST

  • -Email verification flow for new accounts with token-based confirmation
  • -Verification email sent via Resend with branded HTML template
  • -Login page updated to handle unverified email errors with resend link
  • -Registration now redirects to verify-email page instead of login
📦

Ewok Reactions, Search & User Settings

2026-03-28 19:00 EST

  • -Ewok-themed post reactions: 6 reactions (Like, Yub Nub, Forest, Campfire, Brave, Funny) with floating picker
  • -Search functionality: search users, posts, and villages from header
  • -User settings page: email, password, notification preferences, privacy toggles, account deletion
  • -Discover page: updated empty state for logged-out users with join/login CTA

Changelog entries are added with each release.

Have a feature request? Let us know