User Levels & XP#

  • New leveling system — earn XP from reading, bookmarking, rating, reviewing, editing entities, uploading novels, and more
  • Levels displayed next to usernames in reviews, comments, community rankings, and activity feeds
  • XP breakdown on your profile showing contributions across all categories
  • Fully retroactive — your existing activity already counts
  • Community leaderboard with top contributors ranking

On-Demand Translation#

  • Chapters translate in real-time as you read — no more waiting for batch translation
  • First 50 chapters translate automatically when a novel is added
  • Next 2 chapters prefetch in the background while you read for seamless experience
  • Streaming translation shows text appearing live as it translates
  • Chapter titles translated in batch for full browsable chapter lists

Translation Model Upgrade#

  • Upgraded to Gemini 3.1 Flash Lite Preview (1M context, 65K output)
  • Single-shot entity detection — full chapter analyzed at once instead of chunks
  • Larger translation chunks (50 paragraphs) for better context and fewer seams
  • Improved capitalization handling — proper nouns capitalized, common words stay lowercase
  • Fixed streaming token spacing issue — no more mashed-together words during live translation

Chapter & Novel Improvements#

  • Chapter counts now show total chapters (not just translated ones)
  • Word counts include estimates for untranslated chapters based on original content length
  • Chapter detail API now shows when chapters were last updated
  • Duplicate chapter prevention with Redis locking during refresh
  • Fixed novel refresh going through wrong queue (now properly urgent for user-triggered)

Entity & Glossary#

  • Entity name changes from the edit dialog now go through mod approval (instead of silently saving as personal translation)
  • Added user_id tracking to entity change history and novel reports for accurate attribution
  • Improved fandom classification — fan-fiction novels set in existing universes correctly categorized
  • 143 fan-fiction novels retroactively assigned fandoms via LLM classification

Queue & Task Management#

  • All task timeouts capped at 5 minutes (down from 30-60 min) — no more stuck workers
  • Translation tasks split into urgent (reader prefetch) and normal (batch/mod retranslate) queues
  • Mod retranslate only processes already-translated chapters (not all chapters)
  • Metadata retranslation moved off urgent queue to prevent blocking user actions
  • Refresh digest notifications moved to metadata worker
  • Concurrent novel refresh prevention with Redis locks

Discord Bot#

  • Error recovery for stuck "PROCESSING" states — reports can now be retried after failures
  • Novel report approval/rejection tracks user_id for accurate XP attribution

Bug Fixes#

  • Fixed chapters with NULL views/word_count causing 500 errors
  • Fixed review timestamps showing wrong time ("23 hours ago" on fresh reviews)
  • Fixed non-authenticated users triggering expensive on-demand translations
  • On-demand translation now requires $4.99 patron tier (LLM cost protection)
  • 69shuba.tw scraper reliability improved with a faster direct-fetch path