Stabilize Reader's safe-text persistence regression - #12
Merged
Conversation
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.
Summary
mainpush run without changing Reader production codeExact review head
64fee55fefe7b7504d9c9df1fcedeb8a09b8ce5dWhy this follow-up exists
The reviewed PR #10 head and its squash-merged
maintree are byte-identical. The PR browser job passed once, but the freshmainpush run reproducedencodedBoundary: undefined. That showed the original fixture was nondeterministic: Chromium can discard the benign sibling paragraph while repairing the deliberately malformed attack document. The sanitizer still failed closed in both runs; every forbidden element, attribute, namespace, and execution probe remained absent.This repair keeps the exact escaped-text assertion and the hostile persistence assertions, but no longer asks one malformed document to prove both unrelated contracts.
Local verification on August 25, 2026
local.adguard.org; that assertion was not filtered or relaxedThe clean hosted browser/accessibility, Windows/Rust packaging, and CodeQL jobs on this exact head are required before merge. Earlier green results are not reused.
Product and release boundary
Reader remains a public-source Windows alpha with no supported binary or GitHub Release. The CI candidate remains unsigned, and the clean Windows 10/11 install, upgrade, uninstall, and residual-data matrix remains incomplete. This test-only repair creates no release or professional-profile claim.
Merge boundary
Do not merge unless every required hosted check on
64fee55fefe7b7504d9c9df1fcedeb8a09b8ce5dsucceeds. After merge, the freshmainpush matrix must also complete successfully before Reader is pinned or promoted.