fix: verify Android installation identity on both API images - #5
Conversation
|
Complete review of the four-file diff at 856d93b: no outstanding findings. The two accepted identity labels are demonstrated by retained actual API 26/36 package dumps; user 0 is required before treating the application ID as UID. Missing/ambiguous fields fail, exact package/version binding is retained, and both public-upgrade continuity assertions remain mandatory. Raw before/after dumps are retained for diagnosis. The same reader now executes on both PR image jobs, so this observed post-publication defect is covered before another merge. Local evidence passed: 49 Python cases, real retained before/after dumps on both APIs, source provenance (110 files / 18 immutable records), naming, repository/whitespace checks, actionlint, and full-history gitleaks. There are no application payload, dependency, admission, signing, package identity or scope changes. CI and final public upgrades are still pending and are not claimed by this review. |
|
Final merge review: all applicable checks on 856d93b are green, including both OS builds, all security checks, API 26/36 real UI/Cloud calls and the new actual installed-identity gate. The final remote patch matches the reviewed local change. No outstanding findings. Main-only protected publication and both public upgrades remain required after merge. CI: https://github.com/ArcForges/Mobile/actions/runs/35443710177 |
|
Post-merge verification completed for 5031d83 and public
Release: https://github.com/ArcForges/Mobile/releases/tag/android-0.1.0-ci.14.1 |
Fix the public upgrade verifier on API 36, whose real package dump uses
appIdinstead of the olderuserIdlabel. Parse either observed label only for emulator user 0, reject missing/ambiguous identity fields, retain raw before/after dumps, and exercise the same reader on both PR emulator images before publication.The defect was observed after PR #4 merged: release
0.1.0-ci.12.1, its anonymous downloads, persistent signatures, all candidate payloads and the API 26 upgrade passed; the API 36 verifier failed before upgrading. That release/evidence is retained. This correction remains within WP00.03.Validation: 49 Python tests, both retained real API 26/36 before/after package dumps, source provenance, naming, repository checks, actionlint and full diff review passed. All applicable PR CI must pass before merge; the new main release still requires both actual public persistent-signature upgrades and independent public-byte verification afterward.