Skip to content

Conversation

@JeffersonBledsoe
Copy link

@JeffersonBledsoe JeffersonBledsoe commented Sep 10, 2025

This PR adds functionality to ping a healthcheck server before trying to start a chatbot session. This allows chat servers to sleep and wake up when needed, as well as making it

There is a bit of a refactor on handling states here: the separate isStreaming, isCancelled, isFetchingRelatedQuestions and isError states have been grouped into a single chatState state, as we can't really be in a situation where multiple of the boolean states are true at the same time. This makes it easier to handle errors and check throughout the UI code where in the submission process we currently are at.

Todo

  • Don't disable the submit until ready, but delay trying to send to chat until it's ready (still sending the health check early)
  • Fix loading indicator not always appearing

@JeffersonBledsoe JeffersonBledsoe changed the title Wake before start Check chatbot server can handle requests before submitting Sep 10, 2025
@tiberiuichim
Copy link
Member

nice work Jeff. Let me know when it's ready for review.

I've been postponing any work on the chat component and the chat state, as I've been waiting for a PR to be merged into onyx, which completely refactors the chat component. onyx-dot-app/onyx#5295 and previous PRs, probably. This is good news, as the chat component that was originally implemented in onyx/danswer, and which served as the basis for volto-chatbot's code, was a huge component, very hard to refactor and reuse.

So, let's get your PR merged then I can start working on porting Onyx's code to volto-chatbot. The intention is to allow the implementation of agents (deep research). Right now we have it implemented in a semi-working branch, but still would require a lot of work just to have it ready. I think it's better, long term, to implement and reuse the refactored code from onyx.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants