Conversation
Current Aviator status
This PR is not ready to merge (currently in state pending): this PR has conversations which must be resolved before merging. Pending Status Checks
See the real-time status of this PR on the
Aviator webapp.
Use the Aviator Chrome Extension
to see the status of your PR within GitHub.
|
{response, aborted}.reactively() returns {response, aborted}
.reactively() returns {response, aborted}.reactively() returns { response, aborted }
bc262a5 to
4df9342
Compare
…close Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
4df9342 to
78baf86
Compare
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
78baf86 to
d324466
Compare
…snippets Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
d324466 to
0e50e38
Compare
| options?: { signal?: AbortSignal }, | ||
| ): Promise<[ | ||
| AsyncGenerator<{{ client.proto.state_name }}.{{ method.proto.name }}Response, void, unknown>, | ||
| AsyncGenerator<reboot_web.ResponseOrAborted<{{ client.proto.state_name }}.{{ method.proto.name }}Response, {{ client.proto.state_name | to_camel }}{{ method.proto.name | to_camel }}Aborted>, void, unknown>, |
There was a problem hiding this comment.
Just curious for all of the spellings of the aborted types, is there not a ChatRoom.MessagesAborted only a ChatRoomMessagesAborted?
If only the latter exists then no changes necessary, but if the former exists it would be great to use it everywhere!
| async function* typedGenerator(): AsyncGenerator<reboot_web.ResponseOrAborted<{{ client.proto.state_name }}.{{ method.proto.name }}Response, {{ client.proto.state_name | to_camel }}{{ method.proto.name | to_camel }}Aborted>, void, unknown> { | ||
| for await (const { response, aborted } of generator) { | ||
| if (aborted !== undefined) { | ||
| yield { aborted }; |
There was a problem hiding this comment.
Just confirming aborted doesn't need to go through any kind of protobuf shape transformation?
| onUnauthenticated !== undefined && | ||
| !didRefresh | ||
| ) { | ||
| didRefresh = true; |
There was a problem hiding this comment.
Why only try and do the token refresh once aka call onUnauthenticated once? What if they fails because the backend happens to be restarting? Not sure where this is happening in httpCall as the comment states but it seems like retrying (with a backlog) is the safer way to do it? Unless onUnauthenticated is already retrying?
reactively()yields{ response, aborted }for every result, keeps reading across errors, and never throws. Same contract as Python (Python:reactively()yields(response, aborted)and never raises #204) and React.UnauthenticatedasksWebContext.onUnauthenticatedto renew the session once before the error is yielded.setRequest()restarts the read immediately; a stream the server closes reconnects with backoff.for awaitloops overreactively(), must destructure the item. Migration fragment included.ChatRoomsnippets; calls out that the Node.jsExternalContextcannot read reactively yet. This replaces theFigsnippet which looked weird out of context.