Fixed Pawchive: missing content from unescaped <>-wrapped chapter text#2805
Open
Fox6935 wants to merge 1 commit into
Open
Fixed Pawchive: missing content from unescaped <>-wrapped chapter text#2805Fox6935 wants to merge 1 commit into
Fox6935 wants to merge 1 commit into
Conversation
Updated PawchiveParser to escape unknown HTML tags and added a check for known HTML tags.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
This is not strictly an issue with the parser. Some authors, particularly LitRPG authors, wrap text such as system messages in angle brackets (
<>).The API does not always escape these characters correctly. As a result, both the Pawchive website and the WebToEpub parser interpret valid chapter content as HTML tags. This is primarily an API issue, but this change provides a workaround on the parser side.
The following chapter and API links demonstrate the issue. The chapter is supposed to contain numerous angle-bracketed messages, including one at the very beginning. However, the first paragraph is missing from the website because the website is affected by the same issue:
https://pawchive.pw/patreon/user/122910394/post/161282828
https://pawchive.pw/api/v1/patreon/user/122910394/post/161282828
Fix
Before sanitizing Pawchive chapter content, detect angle-bracket expressions whose tag names are not recognized HTML elements and escape them as text.
Recognized HTML tags, including tags with attributes, are left unchanged.