mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-05-23 11:42:14 +00:00
Problem - Genz Updates could still return 403/Cloudflare in extension requests even when the same site worked in WebView. - The extension HTTP path primarily used cached cookies from settings instead of reliably using the current WebView cookie jar. - Cloudflare challenge detection was too narrow (mostly English markers) and could misclassify localized challenge pages as resolved. Solution - Prefer live WebView cookies for outgoing extension HTTP requests, with settings cookies as fallback. - Sync cookie + user-agent from embedded WebView on onLoadStop in addition to history updates. - Expand challenge detection with additional multilingual and platform markers. Implementation Details - Updated `MCookieManager.interceptRequest` to read cookies from `CookieManager.getCookies()` and use them as the request `Cookie` header when available. - Added `_syncCookieAndUaFromWebView()` in `MangaWebView` and invoked it from both `onLoadStop` and `onUpdateVisitedHistory` to persist fresh clearance cookies immediately. - Introduced a centralized `_cloudflareChallengePattern` in `m_client.dart` and reused it in `_containsCloudflareChallengeHtml` and `_isCloudflareChallengePage` for consistent challenge detection. |
||
|---|---|---|
| .. | ||
| anime_extractors | ||
| download_manager | ||
| http | ||
| trackers | ||
| aniskip.dart | ||
| aniskip.g.dart | ||
| fetch_item_sources.dart | ||
| fetch_item_sources.g.dart | ||
| fetch_sources_list.dart | ||
| fetch_subtitles.dart | ||
| fetch_watch_order.dart | ||
| get_chapter_pages.dart | ||
| get_chapter_pages.g.dart | ||
| get_detail.dart | ||
| get_detail.g.dart | ||
| get_filter_list.dart | ||
| get_html_content.dart | ||
| get_html_content.g.dart | ||
| get_latest_updates.dart | ||
| get_latest_updates.g.dart | ||
| get_popular.dart | ||
| get_popular.g.dart | ||
| get_source_baseurl.dart | ||
| get_source_baseurl.g.dart | ||
| get_source_preference.dart | ||
| get_video_list.dart | ||
| get_video_list.g.dart | ||
| isolate_service.dart | ||
| library_updater.dart | ||
| m_extension_server.dart | ||
| recommendation.dart | ||
| search.dart | ||
| search.g.dart | ||
| search_.dart | ||
| search_.g.dart | ||
| supports_latest.dart | ||
| supports_latest.g.dart | ||
| sync_server.dart | ||
| sync_server.g.dart | ||
| torrent_server.dart | ||