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
- -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