Commit Graph

2951 Commits

Author SHA1 Message Date
Adam Hathcock
ea7d97fcee better zip streaming info 2026-08-05 16:20:08 +01:00
Adam Hathcock
87f5616d1f Detect v Inspect is added. Detect is used only basic info but does not buffer as much as it can. 2026-08-04 11:45:13 +01:00
Adam Hathcock
858f5040df Merge remote-tracking branch 'origin/master' into copilot/archiveinformation-show-archive-detail 2026-08-04 10:29:51 +01:00
Adam Hathcock
26c17975a6 Merge pull request #1402 from adamhathcock/adam/parallel-lzma-fixes
Fixes for parallel lzma usage
2026-08-04 10:22:29 +01:00
Adam Hathcock
46e740b613 Remove UseSyncOverAsyncDispose 2026-08-04 10:16:09 +01:00
Adam Hathcock
c619ec0687 change generated dispose to have a sync only option 2026-08-04 09:49:11 +01:00
Adam Hathcock
00373c521d Merge branch 'master' into adam/parallel-lzma-fixes 2026-08-04 09:31:36 +01:00
Adam Hathcock
89d47e4bc4 Merge remote-tracking branch 'origin/master' 2026-08-04 09:30:51 +01:00
Adam Hathcock
575ef6003a Merge remote-tracking branch 'origin/release' 2026-08-04 09:30:36 +01:00
Adam Hathcock
abe1c3e309 Merge pull request #1397 from adamhathcock/adam/large-file-tests
Large file tests and detection fixes
2026-08-04 09:29:42 +01:00
Adam Hathcock
20ea4a3e03 Do need the csproj change 2026-08-04 09:27:48 +01:00
Adam Hathcock
a5e3f2d17d Merge remote-tracking branch 'origin/adam/large-file-tests' into adam/large-file-tests 2026-08-04 09:12:27 +01:00
Adam Hathcock
693921ec73 fmt 2026-08-04 09:12:00 +01:00
Adam Hathcock
62d1b5dcc8 Provide a better way to manage async disposable streams 2026-08-04 09:11:26 +01:00
Adam Hathcock
e00be8f8d7 Merge pull request #1404 from adamhathcock/copilot/fix-nuget-release-job
Fix TarFactory.cs formatting to unblock CI
2026-08-04 08:28:53 +01:00
copilot-swe-agent[bot]
e578c8a9b8 Fix formatting: correct indentation of helper methods in TarFactory.cs
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-08-04 07:21:40 +00:00
copilot-swe-agent[bot]
409ab426d2 Initial plan 2026-08-04 07:18:53 +00:00
Adam Hathcock
14c66e449f Merge pull request #1401 from adamhathcock/adam/zip-sync-generator 2026-08-03 21:05:08 +01:00
Adam Hathcock
c9a9c0d2ad Merge remote-tracking branch 'origin/adam/large-file-tests' into adam/large-file-tests 2026-08-03 16:38:50 +01:00
Adam Hathcock
4a71ec898b fixes found by gh and sol 2026-08-03 16:38:27 +01:00
Adam Hathcock
369ab91522 fix windows build 2026-08-03 16:01:58 +01:00
Adam Hathcock
208d263a08 Fixes for parallel lzma usage 2026-08-03 15:49:19 +01:00
Adam Hathcock
c698124896 Fixes for parallel lzma usage 2026-08-03 15:49:01 +01:00
Adam Hathcock
e8ee2264a9 converted a lot of zip items to sync method generator 2026-08-03 15:18:44 +01:00
Adam Hathcock
67060f8bfd Merge pull request #1399 from julianxhokaxhiu/feat/lzma-modern
Add LZMA Parallelism and Fast Decoder for modern dotnet
2026-08-03 13:28:48 +01:00
Adam Hathcock
7d242cb55d Merge pull request #1400 from adamhathcock/adam/gzip-sync-generator
gzip using sync generator
2026-08-03 13:03:36 +01:00
Adam Hathcock
ee93b4fa10 Merge remote-tracking branch 'origin/master' into adam/gzip-sync-generator 2026-08-03 12:32:12 +01:00
Adam Hathcock
ae7b4ec98c Merge pull request #1398 from julianxhokaxhiu/feat/crc32-faster
Improve CRC32 by using the slice-by-16 optimization
2026-08-03 11:45:26 +01:00
Adam Hathcock
c4fa31d615 gzip using sync generator 2026-08-03 08:15:18 +01:00
Julian Xhokaxhiu
55db16ecb3 Improve LZMA decoder using 7zip logics for modern dotnet
- Add opt-in Parallel decoding
- Add a new ASM-like decoder
- Add Unit tests for Parallel decoding
2026-08-03 02:50:30 +02:00
Julian Xhokaxhiu
5f340db48d Improve CRC32 by using the slice-by-16 optimization 2026-08-02 23:17:08 +02:00
Adam Hathcock
d391cf21e1 finalize check in 2026-08-01 13:26:48 +01:00
Adam Hathcock
b91289d82c add large file tests and GZip/Lzw factory fixes 2026-08-01 13:25:08 +01:00
Adam Hathcock
67bd9289f9 Merge pull request #1396 from adamhathcock/adam/fix-rar5-decompression-error
Fix RAR5 async decompression corruption in UnpWriteBufAsync
0.50.3
2026-08-01 12:50:05 +01:00
Adam Hathcock
2a2218bcf7 small fix 2026-08-01 12:49:47 +01:00
Adam Hathcock
bc06a9df8b Some clean up 2026-08-01 12:43:44 +01:00
copilot-swe-agent[bot]
cfdfad26b6 Fix RAR5 async decompression corruption in UnpWriteBufAsync
Three bugs in the async version of UnpWriteBuf (used only in the async
decompression path) were causing data corruption when decompressing RAR5
archives containing executable filters (E8/E8E9/ARM) whose blocks spanned
the 4MB write boundary (UNPACK_MAX_WRITE):

1. WrittenFileSize was only incremented inside `if (OutMem != null)`, but
   should always be incremented after ApplyFilter (matching sync behavior).

2. UnpSomeRead = true was missing from the filter processing path.

3. In the NotAllFiltersProcessed else branch (filter intersects write border):
   - WrPtr was not updated to WrittenBorder, corrupting the window pointer
     used to compute WriteBorder on the next flush cycle
   - Remaining filters had NextWindow set to true (inverted logic), when
     sync correctly sets them to false so they are processed next time

All three changes align the async path with the sync UnpWriteBuf logic.
2026-08-01 12:19:09 +01:00
Adam Hathcock
246d968b4d Merge pull request #1393 from adamhathcock/adam/flat-gzip-fix-stream-rewind
Fix SeekableSharpCompressStream.StopRecording() to rewind to recorded…
0.50.2
2026-07-31 16:31:43 +01:00
Adam Hathcock
82c44cb5a5 remove async dispose 2026-07-31 14:52:58 +01:00
Adam Hathcock
a8f6f18843 Fix SeekableSharpCompressStream.StopRecording() to rewind to recorded position
When SeekableSharpCompressStream.StopRecording() was called (e.g. after the tar
probe in GZipFactory.TryOpenReader), it cleared _recordedPosition without seeking
back to it. This left the underlying FileStream at the advanced position reached
during the probe, so the subsequent GZipReader would start reading from the
wrong offset, producing Key=null and 0 extracted bytes.

Fix: seek back to _recordedPosition before clearing it, matching the behavior of
the non-seekable SharpCompressStream.StopRecording() which rewinds _logicalPosition.

Also enhance the existing GZip_ReaderFactory_FlatGZip test to actually verify the
extracted content (not just MoveToNextEntry returns true), and add an async variant.

Closes #1391
2026-07-31 14:21:24 +01:00
Adam Hathcock
187055e673 Merge pull request #1389 from adamhathcock/copilot/fix-review-comment-3670216142
Honor cancellation in BufferedSubStream async cached-read fast paths
2026-07-30 14:52:52 +01:00
Adam Hathcock
82a94606ba Merge pull request #1388 from julianxhokaxhiu/feat/lzma-perf-improvements
Improve LZMA decoding for Solid Archives
2026-07-29 10:52:52 +01:00
copilot-swe-agent[bot]
a688c7c657 Fix BufferedSubStream ReadAsync cancellation fast-path 2026-07-29 07:55:48 +00:00
copilot-swe-agent[bot]
2f545b553a Initial plan 2026-07-29 07:51:15 +00:00
Julian Xhokaxhiu
f5289ef49e Improve LZMA decoding for Solid Archives 2026-07-29 02:36:25 +02:00
copilot-swe-agent[bot]
d301cb365f Add format-specific ArchiveInformation details 2026-07-28 16:45:31 +00:00
copilot-swe-agent[bot]
0d317bb466 Initial plan 2026-07-28 16:38:27 +00:00
Adam Hathcock
f4699ad12d Merge pull request #1380 from adamhathcock/adam/sol-cleanup
Updates recommended by 5.6 Sol
2026-07-28 15:21:28 +01:00
Adam Hathcock
e1ba6d3407 Merge pull request #1383 from adamhathcock/adam/sync-generator
Use more Sync Generator
2026-07-28 15:18:20 +01:00
Adam Hathcock
d5c82b89f6 update generation docs 2026-07-28 15:12:04 +01:00