fix: take snapshot before stream starts to fix diff tracking for some providers #4873
+7
−1
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
Problem
The
start-stepevent from the AI SDK fires at different times depending on the provider:This caused
step-startandstep-finishsnapshots to have identical hashes, resulting in empty diffs in the Modified Files sidebar.Solution
Take the snapshot before the stream starts instead of waiting for the
start-stepevent. This ensures we always capture the true "before" state regardless of provider timing.Testing
Tested with:
Before the change, 'Modified Files' was not present:
After the change updates to the file were tracked well coming from GLM and Haiku