Open sircambridge opened 6 months ago
Thanks for gathering all of the info here! Looks like what is happening is:
activeRef.current
to watch for a change to the active
redux state to turn to false, in order to call abortController.abort
.dispatch(setInactive())
(https://github.com/continuedev/continue/blob/f2fd3a1213a08b5135b9f89d4509eae00ba639b9/gui/src/pages/gui.tsx#L459)setInactive()
because we are immediately making the chat panel active again by sending another message (https://github.com/continuedev/continue/blob/f2fd3a1213a08b5135b9f89d4509eae00ba639b9/gui/src/pages/gui.tsx#L372). This means that the abortController never gets abortedProbably at line 372 of gui.tsx we could just add dispatch(setInactive()) before streamResponse, but would want to double check that this doesn't cause any problems (e.g. stopping the new request from going through).
got it. @sestinj can you assign this to me?
Before submitting your bug report
Relevant environment info
Description
I had entered a query and just Enter to start, and I got the rainbow gradient border, and it seemed to hang because of the openAI server issues, so I hit enter again, and it looks like two parallel completions started, and the results came back interleaved, which made for a very funny looking response with the tokens mixed up!
To reproduce
its hard to reproduce, since it depends on openAI being laggy, so its some sort of race condition for sure. I saw it twice on the same day during the openAI outage
Log output