Skip to content

docs: correct my own misdiagnosis — main was never broken (CDATA was innocent) - #2

Merged
GothwadTech merged 1 commit into
mainfrom
arena/18b983bb-browser
Oct 15, 2026
Merged

GothwadTech merged 1 commit into
mainfrom
arena/18b983bb-browser

Conversation

@GothwadTech

Copy link
Copy Markdown
Owner

Follow-up to #1: correct a claim I made there.

PR #1 (and docs/AUDIT-2026-10-14.md §7) recorded that :app:mergeDebugResources had been failing on main since 3c3f210 because of the <![CDATA[Version & updates]]> strings. That was wrong — build_apk.yml completed successfully for 3c3f210, and again for the merge of #1, which published v1.0.137.

What actually happened: aapt2 reported Can not extract resource from ParsedResource for three resources. I fixed the two CDATA strings, saw the count match the three apostrophe strings only in the next round, and never went back to re-check my first explanation. The three unextractable resources were the unescaped apostrophes; aapt2 accepts both CDATA and \uXXXX.

  • AUDIT §7 now documents the wrong diagnosis alongside the right one, so nobody inherits a phantom regression.
  • The quality-gate.sh CDATA check stays, but for a reason that is actually true: inside CDATA, aapt's escape handling is off, so a \n or \' written there reaches the user literally. The cosmetic CDATA → &amp; edit is left in place (identical rendered text, consistent with the other 660 strings).

Docs + one comment; no code paths change. Not merged deliberately: build_apk.yml auto-publishes a GitHub release on every push to main, so merging a docs-only fix alone would burn a version number (v1.0.138). Merge it with the next real change, or say the word and I will merge it on its own.

…innocent

PR #1 recorded that ':app:mergeDebugResources has been failing on main since 3c3f210' because of
the CDATA-wrapped version_and_updates strings. It was not: build_apk.yml completed successfully for
3c3f210 and again for the merge of PR #1, which published v1.0.137. The 'Can not extract resource
from ParsedResource' errors named *three* resources and they were the three unescaped-apostrophe
strings — aapt2 accepts both CDATA and \\uXXXX, so the CDATA edit I made is cosmetic (identical
rendered text) and the '\u2026' → '…' change likewise only removed an escape that was already legal.

- AUDIT §7 now states the correct sequence, including that I got it wrong, so the next reader does
  not inherit a phantom regression.
- quality-gate.sh keeps the CDATA check but for the honest reason: inside CDATA, aapt's escape
  handling is off, so a \n or \' written there reaches the user literally — a real trap in a file
  whose other 660 strings depend on escapes.

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant