Adam Hathcock
c97c05a3a7
Update dependencies
2025-12-30 11:11:40 +00:00
Adam Hathcock
b2beea9c4e
Merge pull request #1077 from adamhathcock/copilot/provide-interface-for-entries
...
Remove ExtractAllEntries restriction for non-SOLID archives
2025-12-23 15:47:52 +00:00
Adam Hathcock
41fbaa1c28
Merge pull request #1085 from adamhathcock/adam/edit-md-files
...
add some markdown files for planning
2025-12-23 15:38:56 +00:00
Adam Hathcock
d9274cf794
Update tests/SharpCompress.Test/ExtractAllEntriesTests.cs
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-23 15:38:17 +00:00
Adam Hathcock
583b048046
Update USAGE.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-23 15:38:00 +00:00
Adam Hathcock
ead5916eae
Update USAGE.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-23 15:37:28 +00:00
Adam Hathcock
d15ab92da3
add some markdown files for planning
2025-12-23 15:37:04 +00:00
Adam Hathcock
1ab30f2af5
Merge pull request #1084 from adamhathcock/copilot/fix-handled-system-exception
...
Avoid NotSupportedException overhead in SharpCompressStream for non-seekable streams
2025-12-23 15:15:15 +00:00
Adam Hathcock
4dbe0b91f1
Update src/SharpCompress/IO/SharpCompressStream.cs
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-23 15:06:24 +00:00
Adam Hathcock
a972d3784e
Merge pull request #1082 from adamhathcock/dependabot/nuget/JetBrains.Profiler.SelfApi-2.5.15
...
Bump JetBrains.Profiler.SelfApi from 2.5.14 to 2.5.15
2025-12-23 15:04:17 +00:00
copilot-swe-agent[bot]
6991900eb0
Remove try/catch blocks, just check CanSeek as requested
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-23 15:01:41 +00:00
copilot-swe-agent[bot]
d614beb9eb
Add explanatory comments for CanSeek checks and try-catch blocks
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-23 14:41:44 +00:00
copilot-swe-agent[bot]
253a46d458
Fix NotSupportedException in SharpCompressStream by checking CanSeek
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-23 14:38:11 +00:00
copilot-swe-agent[bot]
32b1ec32c6
Initial plan
2025-12-23 14:32:38 +00:00
Adam Hathcock
eb2cba09b2
update usage
2025-12-23 09:34:55 +00:00
Adam Hathcock
e79dceb67e
check should be there
2025-12-23 09:31:51 +00:00
Adam Hathcock
87c38d6dab
fix ordering and token passing
2025-12-23 09:22:38 +00:00
dependabot[bot]
9e98d9c45c
Bump JetBrains.Profiler.SelfApi from 2.5.14 to 2.5.15
...
---
updated-dependencies:
- dependency-name: JetBrains.Profiler.SelfApi
dependency-version: 2.5.15
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-22 09:39:01 +00:00
Adam Hathcock
0e9a4b0511
Merge remote-tracking branch 'origin/master' into copilot/provide-interface-for-entries
...
# Conflicts:
# src/SharpCompress/Archives/AbstractArchive.cs
2025-12-19 15:41:51 +00:00
Adam Hathcock
eae25aff64
Merge pull request #1076 from adamhathcock/adam/extract-all-test
...
add extract all test
2025-12-19 14:58:33 +00:00
Adam Hathcock
b8c06ff36e
oops
2025-12-19 14:39:37 +00:00
Adam Hathcock
6cf2e054bf
fmt
2025-12-19 14:33:24 +00:00
Adam Hathcock
95749234f5
Use proper polyfill for net48
2025-12-19 14:33:06 +00:00
Adam Hathcock
b976961434
Merge fixes
2025-12-19 14:22:09 +00:00
Adam Hathcock
e1aa727513
Merge remote-tracking branch 'origin/master' into adam/extract-all-test
...
# Conflicts:
# src/SharpCompress/Archives/IArchiveExtensions.cs
2025-12-19 14:16:29 +00:00
Adam Hathcock
1f71ce1be2
Merge pull request #1080 from adamhathcock/copilot/refactor-write-to-directory-consistency
...
Standardize extraction API to WriteToDirectory with IProgress support
2025-12-19 14:15:43 +00:00
Adam Hathcock
cf13de6ac1
Merge pull request #1081 from adamhathcock/copilot/sub-pr-1076-again
...
Fix async LZMA extraction bug for 7Zip archives
2025-12-19 14:14:16 +00:00
Adam Hathcock
c2e01798f8
refactor archive extensions
2025-12-19 14:09:01 +00:00
copilot-swe-agent[bot]
8fc8295a89
Add TODO and explanation for SyncOnlyStream workaround
...
The SyncOnlyStream wrapper is necessary because the LZMA decoder has bugs in its async implementation that cause state corruption (IndexOutOfRangeException, DataErrorException) even with fresh, non-shared streams.
Without this wrapper, async operations on LZMA streams fail. The proper fix would be to repair the async bugs in LzmaStream.ReadAsync, Decoder.CodeAsync, and OutWindow async operations, but that requires deep changes to the decoder state machine.
Added detailed comments explaining this is a workaround and where the real fix should go.
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 13:47:49 +00:00
copilot-swe-agent[bot]
d392991764
Remove CancellationToken from synchronous WriteToDirectory overload
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 13:40:22 +00:00
copilot-swe-agent[bot]
e57e87090f
Implement option 2: Avoid async LZMA state corruption for 7Zip extraction
...
- Each 7Zip file now gets a fresh decompression stream instead of reusing shared streams
- Added SyncOnlyStream wrapper to force async operations to use synchronous equivalents
- This avoids LZMA decoder state corruption bugs in async operations
- Performance trade-off: slower async extraction for 7Zip but correctness guaranteed
- Documented behavior and performance implications in FORMATS.md
All 14 ExtractAll tests now pass (both async and sync)
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 13:33:04 +00:00
copilot-swe-agent[bot]
c701bbbee3
Run CSharpier formatting and document check-format process
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 13:31:35 +00:00
copilot-swe-agent[bot]
2f0eb0bd4b
Replace Action<double> with IProgress<ProgressReport> for progress reporting
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 13:25:36 +00:00
copilot-swe-agent[bot]
17bde8da8a
Merge branch 'master' of https://github.com/adamhathcock/sharpcompress into copilot/refactor-write-to-directory-consistency
2025-12-19 13:10:33 +00:00
Adam Hathcock
99d355e6ca
Merge remote-tracking branch 'origin/master' into copilot/sub-pr-1076-again
2025-12-19 13:05:33 +00:00
Adam Hathcock
c790fd21a4
reading a single byte shouldn't be async
2025-12-19 13:05:04 +00:00
Adam Hathcock
bee51af48b
Merge pull request #1044 from adamhathcock/copilot/add-progress-reporting
...
Unified progress reporting for compression and extraction operations
2025-12-19 12:54:55 +00:00
Adam Hathcock
ca743eae22
fix for running net 10 tests
2025-12-19 12:17:08 +00:00
copilot-swe-agent[bot]
93504cf82f
Add sync test and attempt to fix async LZMA extraction bug
...
- Restored original async ExtractAllEntries test with using statement
- Added new ExtractAllEntriesSync test (all tests pass)
- Fixed potential partial read bug in LzmaStream.DecodeChunkHeaderAsync
- Added ReadFullyAsync helper to ensure complete reads
- ReadAsync is not guaranteed to return all requested bytes
- Async tests for 7Zip still failing with Data Error
- Issue appears related to LZMA2 stream state management
- _needDictReset flag not being cleared correctly in async flow
- Further investigation needed
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 12:15:54 +00:00
Adam Hathcock
6d3e4e842b
Merge remote-tracking branch 'origin/master' into copilot/add-progress-reporting
2025-12-19 12:13:34 +00:00
copilot-swe-agent[bot]
54b64a8c3b
Fix misleading variable name: emptyDirectory -> parentDirectory
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 12:06:36 +00:00
copilot-swe-agent[bot]
0e59bf39f4
Add test for IArchive.WriteToDirectoryAsync
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 12:04:47 +00:00
copilot-swe-agent[bot]
8b95e0a76d
Standardize on WriteToDirectory naming and add async support
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 11:57:01 +00:00
copilot-swe-agent[bot]
48a2ad7b57
Fix ExtractAll test to use synchronous extraction methods for 7Zip archives
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 11:55:00 +00:00
copilot-swe-agent[bot]
cfc6651fff
Update documentation to reflect ExtractAllEntries universal compatibility
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 11:49:35 +00:00
copilot-swe-agent[bot]
b23827a8db
Initial plan
2025-12-19 11:48:49 +00:00
copilot-swe-agent[bot]
3f9986c13c
Initial plan
2025-12-19 11:47:53 +00:00
copilot-swe-agent[bot]
224989f19b
Remove restriction on ExtractAllEntries and add comprehensive tests
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-12-19 11:45:21 +00:00
Adam Hathcock
c7010b75c1
fix the test targets
2025-12-19 11:41:08 +00:00
Adam Hathcock
00cfeee56e
Fix logic to match ExtractAllEntries
2025-12-19 11:37:04 +00:00