leona / helix-gpt

Code assistant language server for Helix with support for Copilot/OpenAI/Codeium/Ollama
MIT License
285 stars 19 forks source link

Default to higher timeout ? #18

Open happysalada opened 5 months ago

happysalada commented 5 months ago

Is your feature request related to a problem? Please describe. For the copilot handler, I'm hitting a lot of timeout. Is there a way to customize the timeout ?

Describe the solution you'd like I'm sure it's not without tradeoffs, but ideally there should be a way to have actions without a timeout for things triggered explicitely by the user (like code actions). And for everything that is triggered automatically (completions), then I think it makes sense to have a timeout.

Describe alternatives you've considered you could customize the timeout with an env var, but I don't think it's an amazing solution, you might hit a lot the api or not enough, depending if the timeout is too short or too long.

Additional context Thanks again for making this!

leona commented 5 months ago

I think this issue is related to the broken pipe messages that happen if an error occurs. Increasing the timeout won't help. A quickfix is to just :lsp-restart but I'll look at implementing a catch all solution.

cd-a commented 5 months ago

I'm having the same issue. after a couple of completions, I start to get only timeouts

dani0854 commented 4 months ago

I think this issue is related to the broken pipe messages that happen if an error occurs. Increasing the timeout won't help. A quickfix is to just :lsp-restart but I'll look at implementing a catch all solution.

For me :lsp-restart doesn't help much. It happens during actions, and some selection+action will always fail with timeout, while others will always succeed. It also seems to correlate with complexity of the action.

For me it feels like either model returns some sort of error (for incorrect action), and it get interpreted as timeout, or more complex actions take longer time to complete and they hit timeout.

nilsherzig commented 4 months ago

I changed my copilot timeouts to 10 seconds and now they are working