feat(logs): add in-memory message buffer for offline queueing#241
Merged
feat(logs): add in-memory message buffer for offline queueing#241
Conversation
Queue add/remove/clear operations when the client is not yet authorized or connected, then flush them in FIFO order once the RPC connection becomes trusted. The add method returns a proxy handle immediately with placeholder data, swapping in the real server entry after flush. Includes optimization to discard pending operations when clear is called. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@vitejs/devtools
@vitejs/devtools-kit
@vitejs/devtools-rolldown
@vitejs/devtools-rpc
@vitejs/devtools-self-inspect
commit: |
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
Adds an in-memory buffer to the logs client that queues
add/remove/clearoperations when the RPC client is not yet authorized or connected. Operations are flushed in FIFO order once the client becomes trusted.The
addmethod returns a proxy handle immediately with placeholder data, which is swapped for the real server entry after the buffered operation flushes. Handle methods (update/dismiss) automatically wait for the real handle to resolve.The
clearoperation clears preceding buffered operations as an optimization, since they would be cleared anyway.Linked Issues
N/A
Additional context
ready.then()instead of manual callback queuingrpc-shared-state.ts