Skip to content

feat: close iOS/Android platform parity gaps (#368)#372

Draft
plrthink wants to merge 6 commits into
masterfrom
cursor/platform-parity-b7ed
Draft

feat: close iOS/Android platform parity gaps (#368)#372
plrthink wants to merge 6 commits into
masterfrom
cursor/platform-parity-b7ed

Conversation

@plrthink

Copy link
Copy Markdown
Collaborator

Summary

Implements #368 (P1): remaining iOS/Android parity gaps.

Stacked on #371#370#369.

Changes

  • iOS unzipAssets — reads from the main app bundle (same relative path API as Android assets/)
  • Empty directories preserved when zipping directory items in a files array on iOS
  • Charset — non-UTF-8 values on iOS now reject with ERR_UNSUPPORTED (no silent ignore)
  • getUncompressedSize on iOS rejects on failure (was resolving -1)
  • Playground Assets demo enabled on iOS; sample.zip added to both iOS app bundles + Maestro flow updated

AES for file-array password zips and file-array compression levels were delivered in #371.

Test plan

  • npm test
  • iOS playground: Bundled Assets → Unzip Assets succeeds
  • iOS: unzip(..., 'GBK') rejects with ERR_UNSUPPORTED
  • iOS: zip a directory array containing an empty folder; archive lists the empty dir entry
Open in Web Open in Cursor 

cursoragent and others added 6 commits July 25, 2026 01:37
Expose listContents, unzipFiles, and unzipFilesWithPassword on iOS and
Android so apps can inspect archives and extract only selected entries
without switching to another library.

Co-authored-by: Perry <plrthink@gmail.com>
Allow aborting in-flight zip/unzip work and reject with consistent
ERR_* codes on iOS and Android, including ERR_CANCELLED.

Co-authored-by: Perry <plrthink@gmail.com>
Honor STANDARD vs AES for file-array password zips, apply compression
levels to file arrays, and fsync output so immediate uploads see full
archives. Add a zip header validation script and README guidance.

Co-authored-by: Perry <plrthink@gmail.com>
Add iOS unzipAssets from the main bundle, preserve empty directories in
file-array zips, reject non-UTF-8 charset on iOS, and ship sample.zip in
both playground iOS bundles.

Co-authored-by: Perry <plrthink@gmail.com>
Co-authored-by: Perry <plrthink@gmail.com>
Co-authored-by: Perry <plrthink@gmail.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.

2 participants