The HowLongToBeat plugin was returning the same results for all searches
due to invalid seek token extraction. This update implements a robust
multi-tier token extraction system:
- Extract buildId from Next.js page data and search build files
- Test known working tokens before using them
- Add fallback token generation based on timestamp
- Remove non-working /api/search endpoint fallback
- Improve error handling and token validation
- Add comprehensive seek token testing functionality
The plugin now properly returns different results for different search
queries instead of always returning "Expedition 33" results.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
The HowLongToBeat website has changed from API-based search to server-side
rendering with Next.js. This update fixes the plugin to work with the new format:
- Switch from POST API requests to GET requests with query parameters
- Replace JSON API parsing with HTML content parsing
- Add support for parsing Next.js __NEXT_DATA__ embedded JSON
- Add fallback regex-based HTML parsing for game cards
- Extract completion times, game names, IDs, and cover images from HTML
- Support half-hour notation (e.g., "31½ Hours") in time parsing
- Remove obsolete seek token functionality
- Simplify data structures to match new response format
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>