🔧 Changes: - StoryReader now handles both old/new text structures (original_language vs content) - Fixed memory leak: properly remove global event listeners on destroy - Added null check in _hideWordPopup() to prevent errors after DOM cleanup - Fixed chapter list display (was showing only one chapter instead of all) - Smart routing: only load chapter content when needed - Use module ContentLoader for proper content loading with vocabulary 🐛 Bugs Fixed: 1. "Cannot read properties of undefined (reading 'split')" - StoryReader couldn't handle texts with 'content' field 2. "Cannot read properties of null (reading 'style')" - Event listeners firing after game cleanup 3. Chapter list showing only book ID instead of all chapters 4. Game compatibility scores dropping to 0.00 after navigation ✨ Architecture Improvements: - Event listener cleanup follows best practices - Proper handler reference storage for removeEventListener - Defensive programming with null checks 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ContentLoader.js | ||
| EventBus.js | ||
| GameLoader.js | ||
| index.js | ||
| IntelligentSequencer.js | ||
| Module.js | ||
| ModuleLoader.js | ||
| Router.js | ||