Skip to content

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

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

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

Conversation

@plrthink

@plrthink plrthink commented Jul 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

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

Includes #369#371 (listContents / selective unzip entries + Maestro E2E, cancel + error codes, iOS zip interoperability).

Changes

  • iOS unzipAssets from main bundle
  • Empty directory preservation
  • Non-UTF-8 charset → ERR_UNSUPPORTED on iOS
  • Playground bundled assets demo

E2E

  • CI master suite includes _list-contents-test.yaml (list + selective + password selective)

Stack

Merge order: #369#370#371this PR (tip)

Open in Web Open in Cursor 

cursoragent and others added 7 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>
Remove unzipFiles/unzipFilesWithPassword and add an optional entries
argument to unzip and unzipWithPassword instead, matching the existing
zip overload style.

Co-authored-by: Perry <plrthink@gmail.com>
cursoragent and others added 3 commits July 27, 2026 01:33
Add Maestro coverage for listing archive entries, selective unzip via
entries, and password selective unzip. Playground demos now surface
assertable Listed Entries / Selective Extract / Password Selective
Extract results including files that were intentionally skipped.

Co-authored-by: Perry <plrthink@gmail.com>
Remove an extra closing brace left from the selective-extract cherry-pick
that broke Android compilation on stacked PRs. Make the list/selective
Maestro flow assert stable accessibility labels and summary markers.

Co-authored-by: Perry <plrthink@gmail.com>
ZIP_STANDARD_VARIANT_STRONG is write-only in zip4j and fails password
zip create with "encryption method is not supported", breaking Android
E2E password selective extract which uses STANDARD encryption.

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