fix: remove redundant unawaited updateProps calls in MCP handlers#1022
Merged
threepointone merged 1 commit intomainfrom Feb 28, 2026
Merged
fix: remove redundant unawaited updateProps calls in MCP handlers#1022threepointone merged 1 commit intomainfrom
threepointone merged 1 commit intomainfrom
Conversation
Remove unawaited, redundant agent.updateProps calls from MCP transport handlers to fix sporadic "Failed to pop isolated storage stack frame" errors in tests (props are already delivered via getAgentByName → onStart). Also remove the one-time RPC experimental console warning in addMcpServer. Add tests to verify props are passed via standalone SSE and RPC. Include a changeset entry documenting the patch.
🦋 Changeset detectedLatest commit: d9580ad The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
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.
Fixes #1007
Problem
Sporadic "Failed to pop isolated storage stack frame" errors in test environments when using
McpAgent. The vitest-pool-workers test runner detects unawaited Durable Object storage operations during teardown.Root Cause
Three
agent.updateProps(ctx.props)calls inpackages/agents/src/mcp/utils.tswere fire-and-forget RPC calls (not awaited). Each call dispatchesctx.storage.put("props", ...)inside the Durable Object, but the returned Promise was never awaited in the outer Worker handler.These calls were also redundant —
getAgentByName()already passes props via thex-partykit-propsheader, which triggersonStart(props)→await updateProps(props)inside the DO. The unawaited calls simply repeated the same storage write with the same data.Changes
packages/agents/src/mcp/utils.ts: Removed 3 redundant unawaitedupdatePropscalls (Streamable HTTP POST, Streamable HTTP GET, Legacy SSE GET)packages/agents/src/index.ts: Removed RPC experimental warning fromaddMcpServerpackages/agents/src/tests/mcp/mcp-protocol.test.ts: Added props tests for Streamable HTTP GET and RPC transport pathsVerification
npm run check— all 45 projects typecheck ✅npm run test— 267 tests pass ✅