Skip to content

feat: close iOS/Android platform parity gaps #368

Description

@cursor

Motivation

The README platform matrix documents several iOS gaps that force app authors into platform-specific branches:

Gap Android iOS today
AES for zipWithPassword(string[]) ❌ STANDARD only
Compression level for file arrays ignored
Charset on unzip / getUncompressedSize ignored (UTF-8 only)
unzipAssets / bundle resource unzip ✅ assets + content://
Empty directories preserved in zip(string[])

Proposal

Close these gaps where the underlying libraries allow:

  1. iOS AES for file-array password zips — match folder AES behavior
  2. iOS compression level for file arrays — honor 0–9 / constants
  3. iOS charset — honor charset where feasible, or document a hard limitation with a clear error if unsupported
  4. iOS bundle unzipunzipAssets equivalent for app bundle / main-bundle resources
  5. Empty directory preservation — include empty dirs when zipping directory array items on iOS

Acceptance criteria

  • Platform support matrix updated; ⚠️ cells reduced
  • Each item above has iOS + Android playground / E2E coverage where practical
  • No regressions to existing folder-based zip/unzip APIs

Priority

P1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions