Windows Decompress Does Not Always Trigger 'Then' Promise
- Dominant language
- JavaScript
- Stars
- 419
- Forks
- 55
- PR merge metrics
- No merged PRs in 30d
Description
Hi - Great plugin we are using to decompress a lot of files. I came across a certain distribution (phpMyAdmin) which decompresses but fails to invoke the 'then' promise. This only happens on Windows, I verified it works fine on OSX (not verified on Linux, but I assume to be Windows only). Another interesting fact is that the same failure happens with any format of their distribution (zip, tar.gz, tar.bz2). You can test with any of their downloads from:
https://www.phpmyadmin.net/downloads/
Here is the test case I used to show this issue:
```
var decompress = require('decompress');
decompress('c:\\temp\\phpMyAdmin-4.6.3-english.tar.bz2', 'c:\\temp').then(files => {
console.log('Finished!');
}).catch(function(err) {
console.log(err);
});
console.log('End of Script');
```
On Windows this test script will extract the entire archive, but never log 'Finished!'. On other platforms it works as intended. I am suspicious of circular references and symlinks in the archive but it should still invoke the promise. I also tried test, extracting, and re-creating the archive but the behavior remains the same.
Thanks and let me know if I can be of further assistance.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by running the provided Node.js decompress call with a phpMyAdmin archive from the downloads page on Windows, then compare promise completion with another platform. Trace the extraction completion path across the zip, tar.gz, and tar.bz2 cases; done means the returned promise invokes then after the archive is fully extracted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, nodejs
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100