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.
Certain symbols like
+
and&
withinjson
shouldn't be escaped to their unicode equivalents.After a bunch of flipping back and forth in the tests, I finally get what was going on. At some point in the history here, we used
NewtonSoft.Json
as the primary serializer/deserializer package. IIRC, "combining" writers to write into your stream was a supported feature.The code path that was removed in this PR was the remnants of that feature, and the source of the bug. I could modify the
RecordEntry
JsonWriterOptions / Encoder to my heart's content, but that change would never actually affect the output. This PR simply shares the encoder used inRecordEntry
withRecordingHandler
while writing to disk, eliminating the last mile escaping issues.New recordings should get the benefit, and old ones won't have any issues from disk.