Closed jronallo closed 8 years ago
Another data point. Moving a task card that comes from a file with a lot of todos also makes Atom unresponsive, but it seems like for less time.
How many tasks are in the file? You can see what's happening by opening dev-tools ctrl+shift+I
and setting imdone_debug = true
in the console. This will output some debug logs.
In that one file there are 70 tasks, but I think that's not really the main issue.
From what I'm seeing when you first make a change in a directory it begins watching all the files there. So something like lazily setting up file watchers, though it does this on startup as well. That's slow, but seems to be expected.
But then files I would have expected to already be watched trigger hasNewChildren again multiple times. Attached is the repeating console log that happens right after I trigger any task change or creation. So the repetition adds to the slowness, but in my case the fix was to add some more file extensions (epub, mobi, etc.) to the .imdone/config.json exclude list. This excluded some file that were in the same directory as my text long file with lots of tasks.
In any case you may want to close or rename this issue since it is something else (repeated calls to hasNewChildren for the same files) if anything.
add-task-to-file-console-log.txt already-has-new-children-console-log.txt
@jronallo Just want to let you know I'm working on this over the weekend.
@jronallo I made some changes to the file watching code, but I think the real issue is the number of files in the directory of the changed file. Let me know how the update works. I'm still working on this one though. I want to reduce the redundancy as much as possible.
@jronallo How is this working for you now?
I'm still experiencing some slowness and UI locking when saving a file. I know this is probably because I have so many files, but it is making my use case unworkable. Previous versions of the file watching I did not have any issues.
I had problems over the weekend as well. What I decided to do is go back to the previous file watcher and create a setting to use the alternate. I'll have it released in a few minutes.
Just released 1.3.25 with the chokidar file watcher and the atom native alternate. Let me know if that works for you.
@piascikj So far this is working well. Thank you!
No problem. Sorry for the inconvenience.
I will sometimes have a single file that includes very many tasks/todos. In one file I have ~70 tasks listed. Before recent changes I could open and save this file without issue. Now when I make any change to this file Atom becomes unresponsive for a few seconds sometimes to the point of suggesting the application be closed. I believe this only surfaced in the past few days if not today. Files with fewer tasks do not lock and block Atom for so long. Is there any way I could see what's happening during the time when Atom is unresponsive?