Feat/resumable stream #243
Open
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.
Summary
This PR implements full support for resumable streams in Zola, enabling seamless user experience during network interruptions or page refreshes.
Technical Implementation
Redis Integration
REDIS_URL
environment variable for configuration.Database & Schema Updates
stream_ids
table to track and resume chat streaming sessions.Backend Enhancements
generateUUID
function.Frontend Improvements
useAutoResume
hook to handle auto-resume logic.Motivation
This enhancement resolves zola#197 and is based on modern resumable stream patterns, including reference designs from Vercel Resumable Stream and AI SDK docs. These techniques ensure Zola delivers reliable real-time experiences even in unreliable network conditions.
References
Testing