Skip to content
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

Decompressed files do not inherit attributes of the compressed file #176

Closed
alvarnell opened this issue Apr 24, 2018 · 28 comments
Closed

Decompressed files do not inherit attributes of the compressed file #176

alvarnell opened this issue Apr 24, 2018 · 28 comments

Comments

@alvarnell
Copy link

At least with .zip files, but probably others, the unzipped files do not inherit any of the attributes that were assigned to the downloaded .zip file, most importantly, the quarantine attribute that allows macOS security features (Gatekeeper and XProtect) to check for known malware.

@aonez aonez self-assigned this Apr 24, 2018
@gingerbeardman
Copy link
Contributor

I think this is quite important.

@hipunk
Copy link

hipunk commented May 8, 2018

Hi,

can you (or somebody else) test if creating a .cpio file using Archive Utility.app (to be found in /System/Library/CoreServices/Applications/Archive Utility.app ) preserves these attributes?
To do so, open Archive Utility, go to settings (Command , ), and in the drop down menu select 'regular archive' instead of 'compressed archive'. Then, drag and drop the file you wish to compress/archive onto Archive Utilities Dock icon.

I do not know what to look out for to test this myself.
Another question I have: Does creating .tar files using Keka preserve these attributes?

Greetz

@alvarnell
Copy link
Author

I think you may have misinterpreted the issue I posted. When Mac files are downloaded by a Quarantine savvy application, such as Apple's Safari, Messages, iChat and Mail, a "Quarantine" attribute is added to those files as a flag that they have recently been downloaded and need to receive a security check before use. When a compressed file is uncompressed, all the files need to inherit that same attribute or they will not be security checked before opened.

The issue you raise might also be a problem, but would need to be raised as a separate issue.

@hipunk
Copy link

hipunk commented May 8, 2018

Oh, now I understand correctly.
I just asked because I now fear I might lose these attributes when compressing using Keka and I have no way to test this out myself right now.

@aonez aonez changed the title Decompressed files do not inherit attributes of the comressed file Decompressed files do not inherit attributes of the compressed file May 9, 2018
@aonez aonez added this to the Future milestone May 9, 2018
@aonez
Copy link
Owner

aonez commented May 9, 2018

@alvarnell Must check that one for sure.

@aonez aonez modified the milestones: Future, 1.1.1, 1.1.2 Jun 9, 2018
@aonez aonez modified the milestones: 1.1.2, 1.1.3 Jun 22, 2018
@aonez aonez modified the milestones: 1.1.3, 1.1.4 Aug 10, 2018
@aonez aonez modified the milestones: 1.1.4, 1.1.5 Sep 11, 2018
@aonez aonez modified the milestones: 1.1.5, 1.1.6 Sep 20, 2018
@aonez aonez modified the milestones: 1.1.6, 1.1.7 Nov 13, 2018
@aonez aonez modified the milestones: 1.1.7, 1.2.0 Nov 28, 2018
@aonez
Copy link
Owner

aonez commented Jan 17, 2019

@alvarnell I've just uploaded a test build with this functionality, could you check?

https://github.com/aonez/Keka/releases/tag/dev-test-builds

@alvarnell
Copy link
Author

alvarnell commented Jan 17, 2019 via email

@aonez
Copy link
Owner

aonez commented Jan 17, 2019

@alvarnell I'm not sure about com.apple.lastuseddate but the other two are inherit in the quarantine. You can test with this binary (a simple echo), when trying to execute the binary you'll see where and when it was downloaded from: https://t.keka.io/t.zip

@ioemilio
Copy link

It looks like this is making extraction way slower. I noticed it while extracting a compressed .tar.gz file with thousands of files inside (and I discovered the option in the new version of Keka was enabled by default). For my case I just disabled the option since it was not needed for that specific archive.

I just wanted to share my experience, maybe there is a way to make the implementation faster.

@aonez
Copy link
Owner

aonez commented Nov 13, 2020

Thanks a lot for the feedback @ioemilio! Indeed that process may take some time. Already did a performance boost while in beta testing. The last test was a file containing 66K files and applies the quarantine in 1 second approximately.

Can you let me know how many where on that file? I just got the number using:

find <DIRECTOY> -type f | wc -l

Also knowing the disk you're using (HDD, SDD, USB connected...) and your CPU can help me reproduce your speed.

Thanks anyway! 😄

@ioemilio
Copy link

The number of files in the archive is roughly 30K for an overall size of roughly 450MB uncompressed. I have an early-2015 MacBook Pro with a 2.7GHz Intel i5 and the default SSD. The archive is on the SSD. During the extraction I was not doing any other intensive task (just browser, mail client, probably some other app, and the usual background application). I would not have noticed 1 extra second to apply the quarantine.

I just tried to measure the time needed to extract the archive with the option "Inherit quarantine from downloaded files" disabled and enabled. While the normal extraction (with the option "Inherit quarantine from downloaded files" disabled) takes about 45 seconds on my pc, the quarantine application takes another extra 6 minutes and 15 seconds (plus the 45 seconds for the extraction)!
The measurement is done "by hand", thus it is not super precise, but the error is still not greater than a couple of seconds.

@aonez
Copy link
Owner

aonez commented Nov 16, 2020

Thanks for the followup @ioemilio! Just occurred me to ask if you're using the latest version of Keka because I've enhanced the speed in 1.2.0 RC in early October but earlier versions were applying the quarantine in a single thread.

I've did my test with this file: boost_1_74_0.tar.gz

About 130MB (650MB uncompressed). Can you check if it lasts that much with this file too?

@ioemilio
Copy link

I updated to version 1.2.2 (before I had 1.2.0) and tried extracting the file you provided (boost_1_74_0.tar.gz). Unfortunately applying the quarantine is still very slow (comparable to previous version).

@gingerbeardman
Copy link
Contributor

Also for me, Keka 1.2.2 (4199) and boost_1_74_0.tar.gz quarantine step took 5m30s.

I'm on 10.14.6

@aonez
Copy link
Owner

aonez commented Nov 16, 2020

Does Keka hang during the quarantine process in your cases?

@aonez
Copy link
Owner

aonez commented Nov 16, 2020

Can you check if in the Console.app there's a message like:

default	16:50:09.540168 +0100	Keka	database is locked

@gingerbeardman
Copy link
Contributor

Yes, I see many of those.

default	15:56:22.730653 +0000	loginwindow	-[PersistentAppsSupport applicationReady:] | App: Keka, ready, updating active tracking timer
default	15:56:22.730743 +0000	loginwindow	-[ApplicationManager checkInAppContext:refCon:eventData:] |      checked in app : Keka
default	15:56:22.738824 +0000	distnoted	register name: com.apple.sharedfilelist.change object: com.apple.LSSharedFileList.ApplicationRecentDocuments/com.aone.keka token: f432f pid: 403
default	15:56:22.873198 +0000	secinitd	Keka[1494]: root path for bundle "<private>" of main executable "<private>"
default	15:56:22.946115 +0000	secinitd	Keka[1494]: AppSandbox request successful
default	15:56:22.989621 +0000	launchservicesd	CHECKIN:0x0-0x88088 1494 com.aone.keka
default	15:56:22.989944 +0000	loginwindow	-[ApplicationManager checkInAppContext:refCon:eventData:] |      checked in app : Keka
default	15:56:23.026481 +0000	Keka	Current system appearance, (HLTB: 1), (SLS: 0)
default	15:56:23.029279 +0000	Keka	Post-registration system appearance: (HLTB: 1)
error	15:56:23.034496 +0000	kernel	Sandbox: Keka(1494) deny(1) file-read-data /Volumes/External/Users/matt/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist
default	15:56:23.034943 +0000	distnoted	register name: com.apple.xctest.FakeForceTouchDevice object: com.aone.keka token: f4263 pid: 1494
default	15:56:23.040896 +0000	Keka	NSApp cache appearance:
-NSRequiresAquaSystemAppearance: 0
-appearance: (null)
-effectiveAppearance: <NSCompositeAppearance: 0x60000104c730
 (
    "<NSAquaAppearance: 0x60000261d840>",
    "<NSSystemAppearance: 0x60000261d880>"
)>
default	15:56:23.049019 +0000	distnoted	register name: com.apple.nsquiet_safe_quit_give_reason object: com.aone.keka token: f4273 pid: 1494
error	15:56:23.057337 +0000	Keka	Couldn't read values in CFPrefsPlistSource<0x60000185d0a0> (Domain: 4FG648TM2A.group.com.aone.keka, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd
default	15:56:23.061090 +0000	Keka	Dev mode enabled
default	15:56:23.061126 +0000	Keka	READER: Dev reader mode enabled
default	15:56:23.061127 +0000	distnoted	register name: KekaFinderExtensionInput object: kCFNotificationAnyObject token: f4275 pid: 1494
default	15:56:23.061186 +0000	Keka	Running on OS X/macOS version 10.14.6 (Build 18G6042)
default	15:56:23.061164 +0000	distnoted	register name: KekaFinderExtensionError object: kCFNotificationAnyObject token: f4276 pid: 1494
default	15:56:23.061224 +0000	Keka	Running sandboxed Keka (WEB) version 1.2.2 (4199)
default	15:56:23.061274 +0000	Keka	Used localization: en-GB
default	15:56:23.142529 +0000	loginwindow	-[PersistentAppsSupport applicationReady:] | App: Keka, ready, updating active tracking timer
default	15:56:23.182687 +0000	tccd	-[TCCDAccessIdentity staticCode]: static code for: identifier com.aone.keka, type: 0: 0x7fcd8ac2d770 at /Applications/Keka.app
default	15:56:23.206821 +0000	Keka	DEV: Adding 1 files
default	15:56:23.206881 +0000	Keka	DEV: Waiting for more input: 0.250000
default	15:56:23.207077 +0000	Keka	DEV: Requesting access to all bookmarks
default	15:56:23.207195 +0000	Keka	DEV: Bookmarks updated: 1
error	15:56:23.209290 +0000	tccd	Prompting policy for hardened runtime; service: kTCCServiceAppleEvents requires entitlement com.apple.security.automation.apple-events but it is missing for ACC:{ID: com.aone.keka, PID[1494], auid: 501, euid: 501, binary path: '/Applications/Keka.app/Contents/MacOS/Keka'}, REQ:{ID: com.apple.appleeventsd, PID[60], auid: 55, euid: 55, binary path: '/System/Library/CoreServices/appleeventsd'}
default	15:56:23.496412 +0000	Keka	DEV: Checking tasks queue
default	15:56:23.501367 +0000	Keka	DEV: Starting queued task
default	15:56:23.501989 +0000	Keka	DEV: Path set as unavailable: /Volumes/External/Users/matt/Downloads/2020-11-16/boost_1_74_0.tar.kextraction
default	15:56:23.505794 +0000	Keka	DEV: Tarball detected
default	15:56:23.505989 +0000	Keka	DEV: Format detected: GZIP
default	15:56:23.506025 +0000	Keka	DEV: Binary used: kekatar
default	15:56:23.506077 +0000	Keka	DEV: Arguments: (
    "--use-compress-program",
    "/Applications/Keka.app/Contents/Resources/kekapigz -d",
    "--mac-metadata",
    "-C",
    "/Volumes/External/Users/matt/Downloads/2020-11-16/boost_1_74_0.tar.kextraction/Operation/",
    "-Kxf",
    "/Volumes/External/Users/matt/Downloads/2020-11-16/boost_1_74_0.tar.gz"
)
default	15:56:23.985639 +0000	Keka	DEV: Showing delayed tasks
default	15:56:28.143348 +0000	Keka	27366555: RECEIVED OUT-OF-SEQUENCE NOTIFICATION: 0 vs 121, 513, <private>
default	15:56:28.150024 +0000	loginwindow	-[PersistentAppsSupport saveLogoutPersistentState:finalSnapshot:] |      checkAgainstApp is : Keka
default	15:56:28.150042 +0000	loginwindow	-[PersistentAppsSupport appShouldBeRelaunched:] | entered. checking app: Keka
default	15:56:28.150065 +0000	loginwindow	-[PersistentAppsSupport saveLogoutPersistentState:finalSnapshot:] |           Adding to relaunchArray: Keka
default	15:56:28.155284 +0000	loginwindow	-[PersistentAppsSupport saveLogoutPersistentState:finalSnapshot:] |           Contents:(
        {
        BackgroundState = 2;
        BundleID = "com.apple.activitymonitor";
        Hide = 0;
        Path = "/Applications/Utilities/Activity Monitor.app";
    },
        {
        BackgroundState = 2;
        BundleID = "com.aone.keka";
        Hide = 0;
        Path = "/Applications/Keka.app";
    },
        {
        BackgroundState = 2;
        BundleID = "com.apple.finder";
        Hide = 0;
        Path = "/System/Library/CoreServices/Finder.app";
    },
        {
        BackgroundState = 2;
        BundleID = "com.apple.safari";
        Hide = 0;
        Path = "/Applications/Safari.app";
    },
        {
        BackgroundState = 2;
        BundleID = "com.apple.console";
        Hide = 0;
        Path = "/Applications/Utilities/Console.app";
    }
)
default	15:56:33.342820 +0000	Keka	LSExceptions shared instance invalidated for timeout.
default	15:56:42.552069 +0000	Keka	DEV: Checking ended task
default	15:56:42.552508 +0000	Keka	DEV: Quarantine apply starting...
default	15:56:42.553897 +0000	Keka	DEV: {
    LSQuarantineAgentBundleIdentifier = "com.apple.Safari";
    LSQuarantineAgentName = Safari;
    LSQuarantineDataURL = "https://d29vzk4ow07wi7.cloudfront.net/afff36d392885120bcac079148c177d1f6f7730ec3d47233aa51b0afa4db94a5?response-content-disposition=attachment%3Bfilename%3D%22boost_1_74_0.tar.gz%22&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHAqOi8vZDI5dnprNG93MDd3aTcuY2xvdWRmcm9udC5uZXQvYWZmZjM2ZDM5Mjg4NTEyMGJjYWMwNzkxNDhjMTc3ZDFmNmY3NzMwZWMzZDQ3MjMzYWE1MWIwYWZhNGRiOTRhNT9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0JmaWxlbmFtZSUzRCUyMmJvb3N0XzFfNzRfMC50YXIuZ3olMjIiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2MDU1NDI4NTd9LCJJcEFkZHJlc3MiOnsiQVdTOlNvdXJjZUlwIjoiMC4wLjAuMC8wIn19fV19&Signature=qtepai4Y~nI0lGrRDo7A9k4z1WCxuakGM32ZwdsB93HyjY141budGP4bP58j0g2dpaKHlCQSPygq7VzM2vUA83m7eBwrnyCnKGwwver2eQZf9kThKOocK3pvwtLBpTaw8F6oHVQuN3iO7hm-~ti-jncLtYsw8hzmOxIR8cQ0L5gnuk8-SpQRfoK60l2YohL2sEpFs~iEOrqOFZ8zir-UOcgsd-vEqtsKowGI~ys7lMn1PusrPqA04Cb6eFWJVWXvIFxQnDg6Rzd1m<…>
default	15:56:42.856964 +0000	Keka	Waiting quarantine to apply all attributes...
default	15:56:43.593212 +0000	Keka	database is locked
default	15:56:43.593235 +0000	Keka	database is locked
default	15:56:43.593520 +0000	Keka	database is locked
default	15:56:43.593659 +0000	Keka	database is locked
default	15:56:43.626939 +0000	Keka	database is locked
default	15:56:44.789880 +0000	Keka	database is locked
default	15:56:45.326066 +0000	Keka	database is locked
default	15:56:45.395739 +0000	Keka	database is locked
default	15:56:45.541875 +0000	Keka	database is locked
default	15:56:45.699650 +0000	Keka	database is locked
default	15:56:45.734634 +0000	Keka	database is locked
default	15:56:45.734661 +0000	Keka	database is locked
default	15:56:46.301314 +0000	Keka	database is locked
default	15:56:46.311814 +0000	Keka	database is locked
default	15:56:46.343045 +0000	Keka	database is locked
default	15:56:46.343051 +0000	Keka	database is locked
default	15:56:46.343056 +0000	Keka	database is locked
default	15:56:46.367096 +0000	Keka	database is locked
default	15:56:46.392609 +0000	Keka	database is locked
default	15:56:46.442093 +0000	Keka	database is locked
default	15:56:46.442101 +0000	Keka	database is locked
default	15:56:47.487406 +0000	Keka	database is locked
default	15:56:47.490763 +0000	Keka	database is locked
default	15:56:47.589055 +0000	Keka	database is locked
default	15:56:47.651648 +0000	Keka	database is locked
default	15:56:47.947183 +0000	Keka	database is locked
default	15:56:48.934716 +0000	Keka	27366555: RECEIVED OUT-OF-SEQUENCE NOTIFICATION: 0 vs 123, 513, <private>
default	15:56:51.115595 +0000	Keka	database is locked
default	15:56:51.215630 +0000	Keka	database is locked
default	15:56:51.626464 +0000	Keka	database is locked
default	15:56:51.626463 +0000	Keka	database is locked
default	15:56:51.626693 +0000	Keka	database is locked
default	15:56:51.730492 +0000	Keka	database is locked
default	15:56:51.730496 +0000	Keka	database is locked
default	15:56:52.138937 +0000	Keka	database is locked
default	15:56:52.138942 +0000	Keka	database is locked
default	15:56:53.038938 +0000	Keka	database is locked
default	15:56:53.680566 +0000	Keka	database is locked
default	15:56:53.680561 +0000	Keka	database is locked
default	15:56:54.558948 +0000	Keka	database is locked
default	15:56:56.251611 +0000	Keka	database is locked
default	15:56:56.251613 +0000	Keka	database is locked
default	15:56:56.330501 +0000	Keka	database is locked
default	15:56:56.355215 +0000	Keka	database is locked
default	15:56:56.355213 +0000	Keka	database is locked
default	15:56:58.493537 +0000	Keka	database is locked
default	15:56:59.338806 +0000	Keka	database is locked
default	15:56:59.338807 +0000	Keka	database is locked
default	15:56:59.773982 +0000	Keka	database is locked
default	15:57:00.180241 +0000	Keka	database is locked
default	15:57:00.963949 +0000	Keka	database is locked
default	15:57:00.963949 +0000	Keka	database is locked
default	15:57:03.759479 +0000	Keka	database is locked
default	15:57:03.759473 +0000	Keka	database is locked
default	15:57:04.506153 +0000	Keka	database is locked
default	15:57:04.506156 +0000	Keka	database is locked
default	15:57:05.064685 +0000	Keka	database is locked
default	15:57:05.227210 +0000	Keka	database is locked
default	15:57:05.558365 +0000	Keka	database is locked
default	15:57:06.413576 +0000	kernel	process Keka[1494] caught waking the CPU 45003 times over ~43 seconds, averaging 1029 wakes / second and violating a limit of 45000 wakes over 300 seconds.
default	15:57:06.433231 +0000	symptomsd	Received CPU wakes trigger:
  Keka[1494] () woke the CPU 45003 times over 43.73 seconds (average 1029/sec), violating a CPU wakes limit of 45000 over 300 seconds.
default	15:57:06.543481 +0000	Keka	database is locked
default	15:57:06.836319 +0000	spindump	Saved wakeups_resource.diag report for Keka version 1.2.2 (4199) to Keka_2020-11-16-155706_matt.wakeups_resource.diag
default	15:57:08.404830 +0000	Keka	database is locked
default	15:57:08.611252 +0000	Keka	database is locked
default	15:57:09.388988 +0000	Keka	database is locked
default	15:57:10.217294 +0000	Keka	database is locked
default	15:57:10.424788 +0000	Keka	database is locked
default	15:57:11.422227 +0000	Keka	database is locked
default	15:57:12.741887 +0000	Keka	database is locked
default	15:57:12.845500 +0000	Keka	database is locked
default	15:57:13.075906 +0000	Keka	database is locked
default	15:57:13.075909 +0000	Keka	database is locked
default	15:57:13.962126 +0000	Keka	database is locked
default	15:57:14.860824 +0000	Keka	database is locked
default	15:57:14.860824 +0000	Keka	database is locked
default	15:57:15.753244 +0000	Keka	database is locked
default	15:57:15.821293 +0000	Keka	database is locked
default	15:57:15.821296 +0000	Keka	database is locked
default	15:57:16.131676 +0000	Keka	database is locked
default	15:57:16.131675 +0000	Keka	database is locked
default	15:57:16.644572 +0000	Keka	database is locked
default	15:57:18.021179 +0000	Keka	database is locked
default	15:57:18.021184 +0000	Keka	database is locked
default	15:57:18.079219 +0000	Keka	database is locked
default	15:57:18.381832 +0000	Keka	database is locked
default	15:57:18.404362 +0000	Keka	database is locked
default	15:57:18.791040 +0000	Keka	database is locked
default	15:57:19.251273 +0000	Keka	database is locked
default	15:57:19.302264 +0000	Keka	database is locked
default	15:57:20.104302 +0000	Keka	database is locked
default	15:57:20.146017 +0000	Keka	database is locked
default	15:57:20.269152 +0000	Keka	database is locked
default	15:57:20.272448 +0000	Keka	database is locked
default	15:57:20.429091 +0000	Keka	database is locked
default	15:57:20.820809 +0000	Keka	database is locked
default	15:57:20.835811 +0000	Keka	database is locked
default	15:57:20.835812 +0000	Keka	database is locked
default	15:57:21.777578 +0000	Keka	database is locked
default	15:57:21.777739 +0000	Keka	database is locked
default	15:57:22.028573 +0000	Keka	database is locked
default	15:57:22.244459 +0000	Keka	database is locked
default	15:57:23.328769 +0000	Keka	database is locked
...

@gingerbeardman
Copy link
Contributor

Keka does not hang at any point (checking Activity Monitor)

@aonez
Copy link
Owner

aonez commented Nov 16, 2020

Thanks Matt! In my tests worked as expected in 10.14 and 10.15 but reproduced the issue in a 10.13 virtual machine. Not sure yet why this is happening, will keep you informed.

@ioemilio
Copy link

Yes, I also have a lot of them (about 200 in a couple of minutes). The message is always the same:

database is locked in "CREATE TABLE IF NOT EXISTS LSQuarantineEvent ( LSQuarantineEventIdentifier TEXT PRIMARY KEY NOT NULL, LSQuarantineTimeStamp REAL, LSQuarantineAgentBundleIdentifier TEXT, LSQuarantineAgentName TEXT, LSQuarantineDataURLString TEXT, LSQuarantineSenderName TEXT, LSQuarantineSenderAddress TEXT, LSQuarantineTypeNumber INTEGER, LSQuarantineOriginTitle TEXT, LSQuarantineOriginURLString TEXT, LSQuarantineOriginAlias BLOB );CREATE INDEX IF NOT EXISTS LSQuarantineEventIndex ON LSQuarantineEvent ( LSQuarantineEventIdentifier );CREATE INDEX IF NOT EXISTS LSQuarantineTimeStampIndex ON LSQuarantineEvent ( LSQuarantineTimeStamp );PRAGMA synchronous=off;PRAGMA journal_mode=off;"

Moreover Keka is not unresponsive, but the UI is very laggy while extracting the file.

@aonez aonez reopened this Nov 16, 2020
@aonez
Copy link
Owner

aonez commented Nov 16, 2020

This is a build with the single-thread application of the quarantine (used before 1.2.0 release candidate):
Keka-quarantine-single-thread.7z

I'm still not sure what's the reason for the issue. The multithread method is WAY faster when it works properly, but this single-thread build will be faster than what you're experiencing now.

@aonez aonez modified the milestones: 1.2.0, 1.2.3 Nov 16, 2020
@aonez
Copy link
Owner

aonez commented Nov 17, 2020

@ioemilio @gingerbeardman can any of you check if that build fixes the issue for you? It should take less than a minute to apply the quarantine of the boost package. Thanks in advance!!!

@ioemilio
Copy link

For me it is faster than before. The single-thread version you linked took 2 minutes and 30 seconds to apply the quarantine (while it was roughly 6 minutes for the multi-thread version).

@gingerbeardman
Copy link
Contributor

The single thread build took ~ 0m45s for me.

@aonez
Copy link
Owner

aonez commented Nov 18, 2020

Thanks booth of you! I’m gonna use the single thread in v1.2.3 and try to rework the multithread option for the future...

@aonez
Copy link
Owner

aonez commented Nov 20, 2020

Version 1.2.3 released with the single thread application. Hopefully I can implement the multithread in the near future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants