Skip to content

Conversation

@Howard20181
Copy link
Contributor

@Howard20181 Howard20181 commented Jul 17, 2025

Replaces the previous deobfuscation and key mapping logic with a WebView-based approach for loading and decrypting manga pages. Adds a new webview-script.js asset for image extraction and communication with the app. Integrates data image interceptors and improves error handling for timeouts and script loading failures.

Closes #9286

Checklist:

  • Updated extVersionCode value in build.gradle for individual extensions
  • Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
  • Referenced all related issues in the PR body (e.g. "Closes #xyz")
  • Added the isNsfw = true flag in build.gradle when appropriate
  • Have not changed source names
  • Have explicitly kept the id if a source's name or language were changed
  • Have tested the modifications by compiling and running the extension through Android Studio
  • Have removed web_hi_res_512.png when adding a new extension

Howard20181 and others added 5 commits July 18, 2025 04:38
Replaces the previous deobfuscation and key mapping logic with a WebView-based approach for loading and decrypting manga pages. Adds a new webview-script.js asset for image extraction and communication with the app. Integrates random user agent and data image interceptors, updates preferences, and improves error handling and internationalization for timeouts and script loading failures.
adds delayed WebView cleanup
@Howard20181 Howard20181 marked this pull request as ready for review July 17, 2025 21:39
@Howard20181 Howard20181 requested a review from stevenyomi as a code owner July 17, 2025 21:39
@Howard20181
Copy link
Contributor Author

Note: debug for JavaScript part
https://gist.github.com/Howard20181/7cb220417da9451f135b9b999845d2ec

@Howard20181

This comment was marked as resolved.

@Howard20181 Howard20181 marked this pull request as draft July 17, 2025 22:33
@Howard20181 Howard20181 marked this pull request as ready for review July 18, 2025 12:14
@Howard20181

This comment was marked as outdated.

@Howard20181 Howard20181 marked this pull request as draft July 18, 2025 16:13
@Howard20181
Copy link
Contributor Author

Will take a look tomorrow.

@Howard20181 Howard20181 marked this pull request as ready for review July 19, 2025 04:59
@Howard20181
Copy link
Contributor Author

All request changes resolved.

reduce differences
It is possible that setPage is called before setPageCount.
The index of pagesMap is no longer equal to the page index
@Howard20181
Copy link
Contributor Author

Now the pages that have been read will be cleared, and CG will not be triggered continuously because of the large amount of memory usage.

@Howard20181
Copy link
Contributor Author

It's hard to sync the status between the webview and the app. Before all bugs are fixed, mark it draft.

@Howard20181 Howard20181 marked this pull request as draft July 22, 2025 06:24
@Howard20181 Howard20181 marked this pull request as ready for review July 22, 2025 10:21
@Howard20181
Copy link
Contributor Author

The loading failure caused by state synchronization issues has been fixed. However, there is no guarantee that the WebView will be destroyed after the chapter has been fully loaded.
In this case, the webview will not be destroyed: quickly flip back through several chapters and then flip forward through several chapters. Only the first few pages of each chapter are read. Then, read the last 5 pages of the previous chapter you stopped at. In this case, the reader only reads the first few pages and then switches to another page, while preloading also begins. It cannot be guaranteed that all chapters of the webview created each time will be filled into the pagesMap.
The number of WebViews is limited to a maximum of five, and they will be forcibly recycled after 30 minutes. This is not a major issue.

@Fabali

This comment was marked as off-topic.

@Norsze

This comment was marked as off-topic.

@stevenyomi stevenyomi marked this pull request as draft July 27, 2025 14:50
@stevenyomi stevenyomi added the do-not-autoclose Issues that match the autoclose rules but shouldn't be closed label Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-autoclose Issues that match the autoclose rules but shouldn't be closed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Colamanga: Could not find key for keytype xxxxx error when loading chapter.

5 participants