[PR #2098] [MERGED] fix(artifacts): compare plist and NIB signatures without ASCII folding #5025

Closed
opened 2026-10-31 00:58:39 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/2098
Author: @fisforfaheem
Created: 10/12/2026
Status: ✅ Merged
Merged: 10/13/2026
Merged by: @morluto

Base: main ← Head: fix/compare-plist-and-nib-magic


📝 Commits (4)

  • 92c5fe4 fix(artifacts): compare plist and NIB signatures without ASCII folding
  • ddd26b8 fix(artifacts): satisfy the strict index check in the signature test
  • 37b09eb fix(artifacts): reconcile byte-exact archive signatures
  • f386067 fix(artifacts): remove superseded signature regression causing CI failure

📄 Description

Summary

  • bplist00 and NIBArchive checks still decoded magic with Buffer.toString("ascii"), which drops the high bit. A non-plist prefix could be sent to the binary decoder or reported as a compiled NIB.
  • Compare those prefixes with Buffer.equals in the keyed-archive reader, Interface Builder analysis, and binary number-literal scan. This is the plist counterpart of #2069.

Test plan

  • npm run test:focused -- src/artifacts/apple/KeyedArchiveReader.test.ts
  • Pre-push typecheck and lint

Made with Cursor


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/2098 **Author:** [@fisforfaheem](https://github.com/fisforfaheem) **Created:** 10/12/2026 **Status:** ✅ Merged **Merged:** 10/13/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `fix/compare-plist-and-nib-magic` --- ### 📝 Commits (4) - [`92c5fe4`](https://github.com/morluto/rea/commit/92c5fe4bd39e1b50dfa76b2117510066fd936033) fix(artifacts): compare plist and NIB signatures without ASCII folding - [`ddd26b8`](https://github.com/morluto/rea/commit/ddd26b8f7a2c2d62e6c5bd51ea909f888fc0ecda) fix(artifacts): satisfy the strict index check in the signature test - [`37b09eb`](https://github.com/morluto/rea/commit/37b09eb9b6085fc174fc75db4392271efd8fb214) fix(artifacts): reconcile byte-exact archive signatures - [`f386067`](https://github.com/morluto/rea/commit/f3860676dc8a43fdbbdc96130c8a1a7c8b2885fb) fix(artifacts): remove superseded signature regression causing CI failure ### 📄 Description ## Summary - `bplist00` and `NIBArchive` checks still decoded magic with `Buffer.toString("ascii")`, which drops the high bit. A non-plist prefix could be sent to the binary decoder or reported as a compiled NIB. - Compare those prefixes with `Buffer.equals` in the keyed-archive reader, Interface Builder analysis, and binary number-literal scan. This is the plist counterpart of #2069. ## Test plan - [x] `npm run test:focused -- src/artifacts/apple/KeyedArchiveReader.test.ts` - [x] Pre-push `typecheck` and `lint` Made with [Cursor](https://cursor.com) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 00:58:39 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#5025
No description provided.