Repository navigation
Conversation
REST sendMessageStreaming and subscribeToTask dropped the HTTP client's normal completion callback. JSON-RPC already turns that callback into a null terminal signal. Parse errors now use the same one-shot callback so a later completion cannot replace them with success. Fixes a2aproject#1194
This branch has not been deployed
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
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.
Description
REST
sendMessageStreamingandsubscribeToTaskignored the HTTP client's normal completion callback, so a stream that ended without a final task event never notified the caller. JSON-RPC already turns that callback intoonComplete(), andsignalTerminal(null)is the success signal.Parse failures now use the same one-shot callback. A completion that arrives after a parse error cannot replace the error with success.
#1202 cancels in-flight streams on
close()and left this end-of-stream signal out. This change is only the completion callback.Test plan
RestTransportTest#testSendMessageStreamingSignalsNormalCompletion(non-finalTASK_STATE_SUBMITTED, then connection end, error consumer receives null)SSEEventListenerTestcoversonCompleteand an error that must win over a later completiontestVersionNotSupportedErrorUnmarshallingStreamingstill receives the errorFixes #1194