Skip to content

feat: cancel() + stable error codes (#366) - #370

Draft
plrthink wants to merge 9 commits into
masterfrom
cursor/cancel-error-codes-b7ed
Draft

feat: cancel() + stable error codes (#366)#370
plrthink wants to merge 9 commits into
masterfrom
cursor/cancel-error-codes-b7ed

Conversation

@plrthink

@plrthink plrthink commented Jul 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

Implements #366 (P0): cancel() and stable cross-platform error codes.

Includes #369 (listContents + optional entries on unzip / unzipWithPassword, plus Maestro E2E for list/selective extract).

APIs

  • cancel() — best-effort abort of in-flight zip/unzip
  • ErrorCodes map (ERR_CANCELLED, ERR_FILE_NOT_FOUND, ERR_WRONG_PASSWORD, ERR_UNSAFE_PATH, …)

Stack

Merge order: #369this PR#371#372

Open in Web Open in Cursor 

cursoragent and others added 2 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>
cursoragent and others added 3 commits July 25, 2026 01:57
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 4 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>
zip4j cannot extract ZIP_STANDARD_VARIANT_STRONG, which caused
password selective extract E2E to fail with "encryption method is
not supported". Map explicit STANDARD to ZIP_STANDARD like the
default path.

Co-authored-by: Perry <plrthink@gmail.com>
The upstream installer can exit 0 after a corrupt download, leaving
maestro missing and E2E jobs failing with exit 127. Retry install
and require an executable binary before continuing.

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