mirror of
https://github.com/morluto/rea
synced 2026-10-26 06:16:17 -04:00
3776f218e5
* fix(apple): bound Interface Builder XML plists by shared value depth The Interface Builder preflight rejected XML archives whose raw element depth exceeded 128, but the shared plist parser bounds zero-based value depth at 128; the plist envelope and dictionary keys add elements, not value depth. Archives whose deepest value sat at depth 127 or 128 were therefore omitted as over budget although keyed-archive inspection decodes them. The preflight's duplicate depth rule is removed; the shared parser's depth limit is mapped to the existing budget omission, so deeper archives stay explicitly omitted. Fixes #3949 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(apple): return the decode reservation of a depth-rejected archive Review follow-up. The removed element-depth preflight rejected an archive before its plist representation was reserved; the shared depth limit now rejects it during decoding, after the reservation. A large over-depth archive therefore kept its share of the aggregate budget and could starve later valid archives. A document omitted by the budget after reserving now releases that reservation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>