-
-
Notifications
You must be signed in to change notification settings - Fork 259
[BUG] Keka failed to extract a specified zip file #883
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Thanks for the feedback @KLszTsu! I can't reproduce the issue, is extracting properly in Big Sur 11.4, downloaded from Safari or Firefox. Even in Could you try extracting the file to another destination, like the Desktop? If still fails, please quit Keka, remove the preferences by executing Let me know how it goes :) |
Hi @aonez , after spending some time on the problem, I find the reason. Unzip unzip the file directly to the working directory (
As the folder Keka created to contain the extracted file has a So in the end this is not Keka's fault :) Thank you for making this wonderful software! Yours sincerely. |
I'm thinking about if really anything could be done, for example, don't create subfolder if the resulting filename for the subfolder is a Mac Package, even with the "Always extract in a subfolder" selected, or create subfolder without the Mac Package extension so that it won't be misinterpreted as a Mac Package. Either way, this introduce an inconsistency in the design to say the least, and potentially many problem to arise later. |
Thanks a lot for the extensive testing @KLszTsu! Indeed this should and can be fixed. I'm renaming the extension like this:
This will be used for any extension ( Here a test build: https://github.com/aonez/Keka/releases/download/dev-test-builds/Keka-1.2.16.r4589.7z |
Wow this is amazing! Thank you! Although a small bug is that it seems to have some trouble handling archive name with space in it? |
Ups! Used Fixed build: https://github.com/aonez/Keka/releases/download/dev-test-builds/Keka-1.2.16.r4590.7z |
This is awesome! Although I'm currently thinking about edge cases, and I did come into one right in my field. But in the same time, it is also not rare for somebody to have something like this: So,... The first solution would be trying to find the same suffix inside the archive. If it is the case that the suffix is indeed an file extension, there would very possibly be a file or folder with the same extension in the archive. The second solution will be really trying to look up the suffix in the table and find if it is an extension. It doesn't have to be a bundle; Replacing file extension with underscore should always be understandable. fakeuser@FakeComputer fakepath % /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks\
/LaunchServices.framework/Versions/A/Support/lsregister -dump |
grep "tags: *\.pkg"
tags: .pkg, .mpkg
tags: .pkg, 'pkg1'
tags: .pkg, .mpkg
tags: .pkg, 'pkg1' This second solution should leave minimum problems. Thank you :D |
@KLszTsu sorry for the late response, two very bad weeks. Note that this fix is only applied if the extraction contains a single folder with an extension. Let me know if with your tests with the prelude example this is affected. |
Thank you for the reply! I just checked the latest build you sent me before, and I think you may have remembered some small details wrong. Aforementioned "detail" if you really want to have a look:The fix has nothing to do with the extraction happening in |
Let me give you a quick recap when you have time back on this; I know the discussion above is pretty messy ;) There is a settings in the Keka's preference that Keka will always extract archives into a subfolder. A problem happens when the archive's filename contains a secondary file extension, and when the secondary file extension happens to be the extension of a bundle. As fix is getting implemented in the build you sent me before, Keka now always replaces the dot before the secondary file extension with a dash, thus avoiding the subfolder Keka creates to have a file extension. So I discussed a few potential ways to tell if it should do its work or not in this comment. |
I see your point about that "Prelude, Op.28, No.11.7z". I've tested multiple solutions, one being that one you suggested (contents include the prefix). Also checking for the extension identifier (better than using But those options still have some issues. For example compressing the Finding a perfect solution is very difficult because there're so many cases, but for now I think I'll use the extension identifier check and will add a check in the preferences to enable/disable this feature. |
This build has the feature implemented: Keka-1.2.16.r4608.7z Let me know if you find any caveat. |
You can disable the subfolder check and still have an intermediate folder/subfolder created, in cases like there are more than one items or using the option through the Finder Extension. But clearly I'll use "subfolder" just to be more consistent.
That's the point, an space could be missed but an underscore is more visible so the user can noticed something changed there :) |
@KLszTsu I'm closing the issue now since it's been fixed already :) Thanks again for all the feedback! |
Thank you very much! |
Configuration
Describe the bug
Keka failed to extract a specified zip file. The link to the file is provided below.
To Reproduce
Steps to reproduce the behavior:
What has happened:
Finder says
"SpyderXPro_5.8.pkg" is damaged and can't be opened. You should move it to the Bin
.log:
What should happen:
Keka should be able to extract this zip file correctly.
Additional Info
unzip
command (UnZip) to extract the file, which works perfectly fine and I'm able to open theSpyderXPro 5.8.pkg
. An information is thatunzip
created the filenameSpyderXPro 5.8.pkg
instead ofSpyderXPro_5.8.pkg
Yours faithfully.
The text was updated successfully, but these errors were encountered: