-
Notifications
You must be signed in to change notification settings - Fork 2.5k
feat (ui/react): support resuming an ongoing stream #6053
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 tasks
Please wait until it's landed on main and then cherry-pick. Also there seem to be a lot of files included that shouldn't be under solidstart (it's been removed in v5). |
a6b8a44
to
0bf60cb
Compare
lgrammel
approved these changes
May 1, 2025
lgrammel
reviewed
May 1, 2025
2 tasks
jeremyphilemon
added a commit
that referenced
this pull request
May 1, 2025
## Background This pull request fixes a docs formatting issue due to a missing comma in useChat reference docs. ## Summary Fixed formatting in useChat reference docs by adding a comma. ## Tasks - [x] Documentation has been added / updated (for bug fixes / features) - [x] Formatting issues have been fixed (run `pnpm prettier-fix` in the project root) ## Related Issues #6053
samdenty
added a commit
that referenced
this pull request
May 2, 2025
* origin/v5: fix(providers/openai): logprobs for stream alongside completion model (#6091) chore (ai): move maxSteps into UseChatOptions (#6113) docs (ai): add notes on schema .optional() (#6111) chore: update references to use ai-sdk.dev (#6076) (#6107) Version Packages (canary) (#6069) chore (provider-utils): rename TestServerCall.requestBody to requestBodyJson (#6106) chore (ai): rename CoreMessage to ModelMessage (#6105) feat (ai): add filename to file ui parts (#6104) feat (docs): add Dify community provider (#4084) (#6067) (#6103) feat (docs): add Sarvam community provider (#6079) (#6096) fix(providers/openai): zod parse error with function (#6074) (#6095) feat(docs): add Weave observability provider (#6029) (#6094) core (ai/mcp): update experimental MCP client documentation for Streamable HTTP transport usage (#5972) (#6093) fix (docs): update formatting in useChat reference docs (#6100) chore (ai): replace useChat attachments with file ui parts (#6071) feat (ui/react): support resuming an ongoing stream (#6053) test (openai): update snapshot (#6086)
samdenty
added a commit
that referenced
this pull request
May 2, 2025
…call * origin/v5: (43 commits) chore (provider-utils): return IdGenerator interface (#6118) chore (provider): improve jsdoc comments (#6117) chore (ai): remove outdated typecasts (#6116) chore (ai): remove useChat keepLastMessageOnError (#6114) fix(providers/openai): logprobs for stream alongside completion model (#6091) chore (ai): move maxSteps into UseChatOptions (#6113) docs (ai): add notes on schema .optional() (#6111) chore: update references to use ai-sdk.dev (#6076) (#6107) Version Packages (canary) (#6069) chore (provider-utils): rename TestServerCall.requestBody to requestBodyJson (#6106) chore (ai): rename CoreMessage to ModelMessage (#6105) feat (ai): add filename to file ui parts (#6104) feat (docs): add Dify community provider (#4084) (#6067) (#6103) feat (docs): add Sarvam community provider (#6079) (#6096) fix(providers/openai): zod parse error with function (#6074) (#6095) feat(docs): add Weave observability provider (#6029) (#6094) core (ai/mcp): update experimental MCP client documentation for Streamable HTTP transport usage (#5972) (#6093) fix (docs): update formatting in useChat reference docs (#6100) chore (ai): replace useChat attachments with file ui parts (#6071) feat (ui/react): support resuming an ongoing stream (#6053) ...
This was referenced May 7, 2025
iteratetograceness
pushed a commit
to iteratetograceness/ai
that referenced
this pull request
May 9, 2025
This pull request adds the ability for clients to resume an ongoing chat generation stream after a network disconnect. This pull request adds support for the `useChat` hook to resume an ongoing chat generation stream by exposing `experimental_resume()` that can be called by any client, typically during the initial mount of the hook. The `experimental_resume` function makes a `GET` request to the api endpoint you've initialized the hook with (or `/api/chat` by default) and streams the contents of the stream if it is active or fails silently if it has ended. In order for `experimental_resume` to work as intended, it requires the usage of the [`resumable-stream`](https://www.npmjs.com/package/resumable-stream) package for stream creation and a redis instance for the package to manage the pub/sub mechanism. An example has been added at `examples/next-openai/app/use-chat-resume` to test the feature. Follow the following steps to test it end-to-end: 1. Run the development server 2. Navigate to `http://localhost:3000/use-chat-resume` 3. Send a message that will have a longer generation duration, example "Write an essay about Michael Jordan" 4. Once the generation starts, click the chat id above to open the conversation in a new tab 5. Verify the stream gets resumed - [x] Tests have been added / updated (for bug fixes / features) - [x] Documentation has been added / updated (for bug fixes / features) - [x] A _patch_ changeset for relevant packages has been added - [x] Formatting issues have been fixed (run `pnpm prettier-fix` in the project root)
iteratetograceness
pushed a commit
to iteratetograceness/ai
that referenced
this pull request
May 9, 2025
## Background This pull request fixes a docs formatting issue due to a missing comma in useChat reference docs. ## Summary Fixed formatting in useChat reference docs by adding a comma. ## Tasks - [x] Documentation has been added / updated (for bug fixes / features) - [x] Formatting issues have been fixed (run `pnpm prettier-fix` in the project root) ## Related Issues vercel#6053
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background
This pull request adds the ability for clients to resume an ongoing chat generation stream after a network disconnect.
Summary
This pull request adds support for the
useChat
hook to resume an ongoing chat generation stream by exposingexperimental_resume()
that can be called by any client, typically during the initial mount of the hook.The
experimental_resume
function makes aGET
request to the api endpoint you've initialized the hook with (or/api/chat
by default) and streams the contents of the stream if it is active or fails silently if it has ended.In order for
experimental_resume
to work as intended, it requires the usage of theresumable-stream
package for stream creation and a redis instance for the package to manage the pub/sub mechanism.Verification
An example has been added at
examples/next-openai/app/use-chat-resume
to test the feature. Follow the following steps to test it end-to-end:http://localhost:3000/use-chat-resume
Tasks
pnpm prettier-fix
in the project root)