Skip to content

Add streaming browsing, cancellation, and Hex support - #56

Merged
andrew merged 5 commits into
mainfrom
streaming-browser
Oct 18, 2026
Merged

andrew merged 5 commits into
mainfrom
streaming-browser

Conversation

@andrew

@andrew andrew commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Add OpenBrowser for full metadata listings, directory listings, and single-file extraction over the streaming reader. Sequential inputs reopen through a caller-supplied callback; ZIP and conda reuse buffered compressed input. Support explicit prefix stripping and common-root detection, preserve archive order and duplicate entries, and extract the first matching file. Top-level files remain visible, including archives containing only README.md.

Add context-aware stream and browser constructors, with cancellation checks during reads, decompression, skipped entries, and ZIP metadata parsing. Cancellation ends iteration without closing caller-owned input. Blocking input reads and reopen callbacks must honor the context themselves.

Detect Hex package TARs by their four outer markers in any order and expose contents.tar.gz consistently through buffered readers, streams, and the browser. Apply limits to both outer entries and inner contents, preserve the outer archive for hashing, and leave ordinary TARs unchanged. Detection may buffer a compressed prefix when the contents member precedes other markers. No new dependencies.

Copilot AI balanced review requested due to automatic review settings October 18, 2026 11:49

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@andrew andrew changed the title Add streaming archive browser with reusable inputs Add streaming browsing, cancellation, and Hex support Oct 18, 2026
@andrew
andrew merged commit da3b1b0 into main Oct 18, 2026
6 checks passed
@andrew
andrew deleted the streaming-browser branch October 18, 2026 16:22
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