Update all ModInit.cs files to create a defaults object, set enabled=true, and pass it to ModuleInvoke.Init for consistent default behavior across modules. This ensures modules are enabled by default without altering existing configurations.
BREAKING CHANGE: All module routes changed from /{module} to /lite/{module}
- Implement IModuleLoaded and IModuleOnline interfaces across all modules
- Add HttpHydra support to all Invoke classes for HTTP request handling
- Replace ModuleInvoke.Conf() with ModuleInvoke.Init() in all ModInit classes
- Convert loadKit() from async to synchronous calls in all controllers
- Replace direct AppInit.conf.online.with_search.Add() with reflection-based
RegisterWithSearch() method for decoupled module registration
- Simplify cacheTime() logic by removing mikrotik/multiaccess conditionals
- Add GlobalUsings.cs to all modules for shared namespace imports
- Update OnlineApi to use ModuleOnlineItem instead of value tuples
- Bump all module versions to new major versions
- Replace monolithic extraction with modular methods for better maintainability
- Add support for decoding obfuscated player payloads (atob, XOR encryption)
- Implement robust JSON parsing with loose parsing and trailing comma handling
- Add regex patterns for season/episode number extraction
- Improve handling of nested series structures with multiple seasons
Update ResolveMalId method to accept and process a source parameter, enabling different resolution logic for tmdb and hikka sources. TMDB source now returns null, while HIKKA source uses kinopoiskId when available.
- Add ResolveMalId helper to resolve effective MAL ID from mal_id or kinopoisk_id
- Remove original_title from Search method signature and cache keys
- Simplify BuildSearchUrl to prioritize query parameters (mal_id > imdb_id > title)