mirror of
https://github.com/morluto/rea.git
synced 2026-11-10 00:36:35 +00:00
* fix(artifacts): keep inventorying an ASAR whose member declares an invalid size A member whose declared size is not a non-negative safe integer, such as Figma Desktop's .codesign placeholder (size -1000), made readAsarListing throw and failed inventory of the whole archive without naming the entry. Listing now keeps such a member with a null size and a limitation naming the parsed value, as it already keeps an unreadable offset. Opening a packed member with a null size raises ArtifactEntryContentUnavailable, so inventory records it as unavailable and continues with the other members. ElectronFileScope keeps the strict size rule. Member metadata that still stops inventory now names the member and the rejected fields instead of reporting a generic malformed archive. Fixes #8715 * fix(artifacts): bound and preserve ASAR listing diagnostics Quote an unsafe path component or a string size through a 256-unit prefix plus its length, so one oversized header key cannot inflate the failure or the retained limitation. Render numeric sizes with String so a size that JSON.parse turned into Infinity is reported as Infinity rather than null. * fix(artifacts): keep ASAR listing diagnostics exact and located Report a numeric size beyond the safe-integer range as having no retained exact value instead of the number JSON.parse rounded or overflowed, name object and array sizes correctly, and interpret each declared size once without validating absent directory sizes. Quote member and parent paths through the bounded source quote, name the rejected root fields as member failures already do, and append the archive path to listing failures so a nested archive stays identifiable. * test(artifacts): match ASAR listing archive paths that contain spaces