-
-
Notifications
You must be signed in to change notification settings - Fork 150
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
Feedback from OS X #128
Comments
Thanks for the report, a lot of good points there. Let's see
I think, by the v1.3 update, I can fix at least the following issues from your list:
I will try to figure out how to request To implement a progress bar, it would need to know how many paths there are on the drive. I will need to research this, see if it's possible to get this number quickly with some terminal or Node or C++ calls. Questions
|
I gave it full disk permissions in the meantime, maybe this will help.
I didn't see any notification about a scan.
It's a bit tricky under Mac OS, as a lot of those volumes are just shenanigans by Apple. This article explains it quite well. I ran
I would suggest to ignore
It's around 80% at the moment. Screen.Recording.2021-08-09.at.17.36.12.movFull process information:
Sadly I cannot record a video, once you have it permissions, you cannot re-trigger the prompt.
Yes, from index.js, line 11: Uncaught (in promise) Error: EACCES: permission denied, lstat '/Users/apf/Library/Application Support/Sigma file manager/app storage/bin/youtube-dl/youtube-dl
I didn't install the app yet on Windows, as I don't have backups yet of that machine.
On Mac OS X and Linux, you could use Inodes for the progress bar. This would give you a rough number of all the files and folders on a device. However, a file can have multiple Inodes on older systems. |
@andyundso thanks for the help with debugging.
Do you think it should instead automatically trigger the access prompt several times in a row for each user directory, instead of asking one at a time when you open them yourself? Not sure if this approach would be better though.
Yeah, I think I'll just filter out all the For example, the USB drives returns 2 entries. {
name: '/dev/disk2',
identifier: 'disk2',
type: 'virtual',
fsType: '',
mount: '',
size: 3076521984,
physical: 'HDD',
uuid: '',
label: '',
model: 'SanDisk 3.2Gen1',
serial: '',
removable: true,
protocol: 'USB'
},
{
name: '/dev/disk2s1',
identifier: 'disk2s1',
type: 'part',
fsType: 'MS-DOS FAT32',
mount: '/Volumes/ESD-USB',
size: 3076417126,
physical: 'HDD',
uuid: 'A34D8EAC-3733-39FB-9BEB-A9555D01CA32',
label: 'ESD-USB',
model: '',
serial: '',
removable: true,
protocol: 'USB'
} And I can't just filter out lstat error in the consoleThe file mentioned in the error is one of the binaries that I pack into the app:
The app copies these binaries on launch from the internal archive to the app's "app storage" directory so they can be accessed. Perhaps the copy operation is messing up the file permissions and causing this error. I also see this error on launch. I just tried to change both the file's and its folder's permissions after copying it from within the app's console, but it looks like it needs sudo permissions for it to work.
diskutil problemI just found out that on MacOS, the function that gets the drive list, might be the reason for the high CPU usage that you are seeing. I noticed that it spawns the Do you also see multiple |
In those cases, I would filter out any empty
Maybe it also lacks permissions. I can check this today and get back to you.
No, but I see that it is spawning diskutil after diskutil process. |
diskutil
Does the amount of On my MacOS VM, in the default task monitor app, I can see the It seems, on slow machines, the app spawns Tab shortcutsCan you please check if the default
When I press The
I should probably rename Alt to Option on Mac as well. High CPU usage
Just to clarify, do you see this problem only when there's an ongoing search? It shouldn't lag at all, the search is running on a separate thread. Other problemsJust so you know, I solved the problem with phantom drives and the console error for binaries. This will fix the problem with image preview generation, drag & drop video downloading, and file archiving. I will finish implementing fixes by tomorrow and publish changes in the v1.3 update on Friday or Saturday along with many other fixes and new features. |
@andyundso an off-topic question, what other features would you like to be prioritized? If you could pick any features you want, including things like "bug fixes for platform X" |
Sorry for the late feedback. diskutilThe amount of Implementation wise, spawning processes regularly could lead to a lot of unnecessary load on a system when there aren't any changes. I'm no expert in this area, but usually you want to either monitor Tab shortcutsGot the same message as you ("#!" doesn't exist). VMs usually map the windows key to command correctly (from my experience using Windows in a VM on Mac). FeaturesI don't have a specific feature request at the moment, since the issue with the high CPU load doesn't really make it fun to use the app and therefore I didn't use it that much. However, I would be interested to try out a preview build with the mentioned fixes. Let me know when you pushed the changes so I can build the app on my own to try it out (also to give you feedback regarding the high CPU usage). |
@andyundso good day
For sure, I agree. Currently I'm using "systeminformation" NPM module as a temporary solution. I am going to optimize it, no doubt. The app uses "chokidar" watcher module to detect directory changes. I might have to use it to detect drive changes as well. Tab shortcuts
Thanks. I will fix that as well. Performance
Thanks, will do. Does it lag and have high CPU usage only when you're using search, or all the time? Does it start happening right after launch? It's unfortunate that Mac users currently have to experience all these early development problems. Hopefully you will have a much better experience with the Windows build. It shouldn't have performance issues, the problem with shortcuts and the drives. |
Right after launch.
Don't worry about it, as you mentioned on the README you mainly developed on Windows and it's fine that some things do not work yet on Mac. |
@andyundso ok, if it's lagging all the time then it's most likely caused either by hardware acceleration or diskutil. I just disabled both of them temporarily and pushed changes to git. Here's the instructions on how to get the repo, run it on the dev server without building the production build, and apply the fixes one at a time, Please let me know If you unable to run the dev builds, in this case I will build it on my machine and send you the builds. Step 1:Please switch Node.js version to Step 2:
Step 3:Close the dev server and apply the potential fix 1 (It disables
Step 4:
|
@andyundso good day, have you had a chance to try the fixes yet? |
I did some testing, sorry for the late response. First of all, Node 15 didn't work for me.
However, Node 14 worked. If you don't mind, I would create a PR with a Since I cloned the latest I made a build of the Electron app, installed it and tried it out. The CPU usage is the same as with the current release build. To have a comparison, I installed the app on Windows and on my Ubuntu machine. For both OS, it worked fine (no lags, no extraordinary CPU usage, Linux actually even better than Windows), so I think it is a specific Electron / Mac OS thing. I browsed the web for a bit, those are resources I found:
Are you able to reproduce this CPU issue on your Mac VM? If not, I could invest some time into checking what animation could be blocking in Mac OS with the Vue DevTools, but I'm away the next 2.5 weeks for exams at university. However, I think you shouldn't delay your 1.3 release, but write in the release notes that the Mac build has issues with CPU usage. |
@andyundso thank you for the investigation.
On my Big Sur VM. performance improves a lot when I apply both fixes. But I think disabling hardware acceleration only helps on VMs because they only have 128 MB of RAM. I think when it comes to real machines, disabling hardware acceleration might actually decrease performance. I think on your machine what happend was I also discovered that on MacOS performance drops when you're navigating directories with images, because it's trying to generate thumbs and failing. The MacOS build currently doesn't come with ffmpeg binary (I couldn't find one that would work without triggering MacOS security warning). Since a lot of people are seeing this issue in other apps, it might actually be caused by Chromium. we should try to upgrade Electron to
Sure, go ahead
Good luck on the exams, you should prepare, so don't worry about the app for now, we can continue investigation after the exams are over. |
Sorry for the outstanding feedback on my end. I pulled the latest master today to see where things are with Mac OS X and the performance isn't really better. I saw you mentioned on other issues that you'll work on upgrading Electron. I don't know if you want to keep this issue open until the performance issue is fixed or if we should close it and open a more specific one after the Electron upgrade in case performance still isn't better. It's up to you. On another note, I don't see anything in any directory, looks like something with the |
@andyundso hey mate, good to hear from you! Did you pass the exams? Sorry, I noticed you left Patreon, I'm sorry if I disappointed you with this project, mate. Thank you for supporting my work in the previous month! I didn't have much time in the past few weeks, but I will try to fix this performance issue for the next update. The latest master uses old Electron version. Could you try updating it on your Mac? After you update the version, make sure you close all the I think I might need your help with this performance issue though. Could you maybe record a short video using OBS or something like that to demonstrate the problem? We could also do a Zoom call with screen sharing. |
Thanks for reporting the issue with |
I did, thanks for asking.
Oh, I didn't intentionally leave the Patreon. I recently changed my credit card and forgot to update it on Patreon, however, I never got a notification that billing didn't work. Will re-join later this evening. I actually use the app on Windows, I have a few things there, will post the issues sometime this weekend.
I did update Electron to v15, however, it doesn't solve the performance issue. Performance on current master with v12: Screen.Recording.2021-10-29.at.18.40.48.movPerformance on current master v15: Screen.Recording.2021-10-29.at.18.42.36.1.movI tried to install the VueDevTools within Electron to see if there's maybe a specific component that causes the issue. However, electron-devtools-installer is broken below Electron v16. If I upgrade Electron to v16, I run into issues with the remote module. I saw you noted a Todo in the code that you want to move away from |
Ah, ok. That's good to hear mate, I thought maybe I did something wrong and you got disappointed in the app. Good to hear that's not the case. This gives me motivation to keep improving the app :)
This is really weird. I have better performance on a virtual MacOS with just 128 mb of video memory: Virtual.MacOS.Big.Sur.mp4
Yeah, this is problematic at the moment. I'm not sure why
I think we can try to debug it using the regular DevTools. The app has good performance in a virtual machine, so it seems the problem is caused by the specific configuration of you machine. It might be a problem with accessing GPU, or perhaps there's some infinite loop in the code somewhere. I think we just need to go through functions in Can you please add this line to
|
@andyundso do you think we could connect on Zoom or some other similar app and take a look at the code together on your machine? |
sure, I'm quite busy next week but we can schedule something for the week starting on the 8th of November. What timezone are you living in ? |
I'm usually online 8:00 - 22:00 CET (or 7:00 - 21:00 UTC) |
@andyundso hey man, let me know when you can jump on a call so we can take a look at the performance issue |
@aleksey-hoffman oh my bad. I would have capacity tomorrow after 5pm CET if that works for you? |
@andyundso no worries, I've also been quite busy for the past few weeks, implementing new features :) |
@andyundso btw, I found that Electron apps can become slow on MacOS in these cases:
Could you please test it out when you have a minute? Maybe try something like this:
|
Interesting stuff 😅 I'll try it out later today.
I have a Zoom license. Shall I sent an invite for tomorrow? |
Yeah, I'll be surprised if that's actually what's happening. I just sent you a friend request on Discord. I think it will be better to send the link there |
So I tried it without an external minor, color profile is the one set by Mac OS X, same effect. |
Ok, let's try debugging it then. Are we still planning for 5pm today? |
Is there an existing issue for this?
Problem description
Hi, I have some initial feedback from using the app on OS X. These are probably multiple issues, but I wasn't really sure what the underlying problems are, so I didn't split it myself.
Security settings
OS X blocks the app per default from reading anything. So you need to navigate once into your home directory so you can permit Sigma to read your home directory, same for removable devices and network storages. Maybe there is a way that you can check those consents on startup? There is also a permission available called
Full Disk Access
, which would probably solve this issue as well."Phantom" drives
Sigma currently detects a bunch of volumes:
Don't know where this information is coming from. Running
df -h
returns less volumes:I guess querying
/
and ignoring all other disk1's should be the default setting. I also have FileVault active, in case that's relevant.Search
There are a few things related to the search.
Steps to reproduce
Described above.
Environment
The text was updated successfully, but these errors were encountered: