-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
hx freezes on file picker selection #5871
Comments
The log entry you attached is related to global search However it's a bit odd that this occurs here since we limit the number of files outside of git repos to 100k currently. Perhaps that specific subfilesystem is somekind of fuse filesystem that is responding very slowly. |
Hi pascal, thank you for the swift response. In that case, I can only assume I remember global search also froze at least once, but I cant reproduce that situation again. |
I can somewhat reproduce this if I try If walking the files takes more than a few seconds, it might be neat to have some visual feedback and be able to Though there might be another issue besides slow file access that @ondrej-ivanko is experiencing. |
Yeah that would be nice. Some prior discussion/work #1987, #1543 and #1707. I am also working on a watchmen like filewatcher in rust we could use for helix which would keep a cached a copy of the workspace filetree in memory (and update it automatically either based on native os events or polling as a fallback). So that would mean that this slow task is atleast only performed once and in the background. That being said even such a background indexer could stall and therefore not return anything for a longtime. There will also be options/heuristics to disable this indexer. In both cases an iteractive hint like you showed there would be very nice. We could probably compute pickers in a |
What I had in mind is keep the call blocking, i.e. you can't continue to edit text, but provide visual feedback and an option to cancel/continue with partial result. I think fully async tasks can be pretty confusing in the editor when they finish at an unexpected time or with output that isn't consistent with the current state (since you can make edits during that time). |
To allow the option to respond to keyevents ( Freezing the editor while waiting on certain jobs would be more of a followup feature in my opinion and could also be used for other async tasks like
|
I agree with the proposition to allow the user stop the The solution should most importantly not force the user to shut down the whole terminal. I'm using zellij multiplexer and running |
Global search (space /) also freezes when I forget to specify the right working directory (I assume it would finish at some point), it would be really nice to not have to kill the terminal or the pane to cancel it. |
i believe this happened for me because i had a |
There are times, though, where it's unavoidable to have a large tree (e.g. monorepos) - maybe it's worth adding an option to only lazily search based on input, instead of pre-traversing everything when the modal opens? In my case, if I type quickly enough (so as to immediately begin filtering), the picker is responsive; if I just cmd+f and type nothing, it will take many seconds (sometimes up to 20) to finish loading, because it traverses the entire monorepo. This isn't a huge deal because you can cmd+F as well, except when I typo and think that I've hit cmd+F but have actually hit cmd+f. (Personally, I think the two shortcuts should be reversed by default: cmd+f for rooting at pwd, cmd+F for rooting at the project root). I haven't had a chance to dig yet, but assuming there's more going on behind the scenes than just stat'ing files (e.g. if they're eagerly being loaded into memory for previews), maybe an option to disable some of that work would be enough? |
I have this same error/freeze. As far as i can tell it only happens when trying to find when you are in the space menu the space f and space F command the second f/F is pressed helix will lock up. only way to get out of it is to force close the terminal. This started happening recently maybe a update ago. I use helix everyday so Im pretty sure its only been a week or so of this issue.
|
Summary
Execturing
hx
from certain folders seems to freeze file picker (SPC f). I tried to runhx
from directory one level lower than /home dir (/home/Downloads) and when trying to run file picker with space + f it frozehx
and I couldn' t do any action besides shutting down terminal.This issue is resolved by putting the folder that's in hx logs (/Games) to .gitignore. My theory is that path is just too long for
hx
to handle (Input/Output Err in logs). Or that there is problem with permissions, as some files in my /home dir are owned by root. Not sure why they are owned by root, but they're managed by wine application, so I'm not going to change the owner to not mess up with wine.Reproduction Steps
I tried this:
hx
I expected this to happen:
file picker pops up with no issue
Instead, this happened:
hx froze and stops responding
Helix log
~/.cache/helix/helix.log
Platform
Linux - Fedora 37 86_64
Terminal Emulator
Alacritty 0.10.1
Helix Version
helix 22.12-223-g9c98043c (9c98043)
The text was updated successfully, but these errors were encountered: