Skip to content

feat: keep internal error in worker's quit reason - #372

Merged
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error
Aug 18, 2025
Merged

feat: keep internal error in worker's quit reason#372
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error

Conversation

@4t145

Copy link
Copy Markdown
Contributor

fix#345

Motivation and Context

How Has This Been Tested?

Breaking Changes

  1. Change the error type for local session worker.
  2. Change the type defination of worker's QuitReason
  3. Fix some typo of StreamableHttpError

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@github-actionsgithub-actionsBot added T-core Core library changes T-transport Transport layer changes labels Aug 13, 2025
@4t145
4t145 requested a review from CopilotAugust 15, 2025 03:26

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances error handling in the transport worker system by making the WorkerQuitReason generic over error types, allowing workers to preserve their specific error types rather than converting them to strings. It also fixes spelling errors in StreamableHttpError variants.

Key changes:

  • Made WorkerQuitReason generic over error types to preserve internal error information
  • Updated all worker implementations to use specific error types instead of generic string errors
  • Fixed typos in StreamableHttpError enum variants (SeverServer)

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
crates/rmcp/src/transport/worker.rsMade WorkerQuitReason generic over error type E and updated method signatures
crates/rmcp/src/transport/streamable_http_server/session/local.rsIntroduced LocalSessionWorkerError enum and updated worker implementation to use specific error types
crates/rmcp/src/transport/streamable_http_client.rsFixed spelling errors and updated to use generic error types in method calls
crates/rmcp/src/transport/common/reqwest/streamable_http_client.rsFixed spelling error in error variant name

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 03:26
jokemanfire
jokemanfire previously approved these changes Aug 15, 2025

@jokemanfirejokemanfire left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 06:55
@4t145

Copy link
Copy Markdown
ContributorAuthor

Just adopted copilot's suggestion.

@4t145
4t145 merged commit 0a2f77d into modelcontextprotocol:mainAug 18, 2025
10 of 11 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Aug 18, 2025
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
…ol#372)
* feat: support downcast WorkerQuitReason::Fatal
* feat(transport): expose internal worker error in fatal
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-coreCore library changesT-transportTransport layer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose client errors to call

3 participants

@4t145@jokemanfire
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
feat: keep internal error in worker's quit reason by 4t145 · Pull Request #372 · modelcontextprotocol/rust-sdk · GitHub
Skip to content

feat: keep internal error in worker's quit reason - #372

Merged
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error
Aug 18, 2025
Merged

feat: keep internal error in worker's quit reason#372
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error

Conversation

@4t145

Copy link
Copy Markdown
Contributor

fix#345

Motivation and Context

How Has This Been Tested?

Breaking Changes

  1. Change the error type for local session worker.
  2. Change the type defination of worker's QuitReason
  3. Fix some typo of StreamableHttpError

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@github-actionsgithub-actionsBot added T-core Core library changes T-transport Transport layer changes labels Aug 13, 2025
@4t145
4t145 requested a review from CopilotAugust 15, 2025 03:26

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances error handling in the transport worker system by making the WorkerQuitReason generic over error types, allowing workers to preserve their specific error types rather than converting them to strings. It also fixes spelling errors in StreamableHttpError variants.

Key changes:

  • Made WorkerQuitReason generic over error types to preserve internal error information
  • Updated all worker implementations to use specific error types instead of generic string errors
  • Fixed typos in StreamableHttpError enum variants (SeverServer)

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
crates/rmcp/src/transport/worker.rsMade WorkerQuitReason generic over error type E and updated method signatures
crates/rmcp/src/transport/streamable_http_server/session/local.rsIntroduced LocalSessionWorkerError enum and updated worker implementation to use specific error types
crates/rmcp/src/transport/streamable_http_client.rsFixed spelling errors and updated to use generic error types in method calls
crates/rmcp/src/transport/common/reqwest/streamable_http_client.rsFixed spelling error in error variant name

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 03:26
jokemanfire
jokemanfire previously approved these changes Aug 15, 2025

@jokemanfirejokemanfire left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 06:55
@4t145

Copy link
Copy Markdown
ContributorAuthor

Just adopted copilot's suggestion.

@4t145
4t145 merged commit 0a2f77d into modelcontextprotocol:mainAug 18, 2025
10 of 11 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Aug 18, 2025
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
…ol#372)
* feat: support downcast WorkerQuitReason::Fatal
* feat(transport): expose internal worker error in fatal
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-coreCore library changesT-transportTransport layer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose client errors to call

3 participants

@4t145@jokemanfire
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat: keep internal error in worker's quit reason by 4t145 · Pull Request #372 · modelcontextprotocol/rust-sdk · GitHub
Skip to content

feat: keep internal error in worker's quit reason - #372

Merged
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error
Aug 18, 2025
Merged

feat: keep internal error in worker's quit reason#372
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error

Conversation

@4t145

Copy link
Copy Markdown
Contributor

fix#345

Motivation and Context

How Has This Been Tested?

Breaking Changes

  1. Change the error type for local session worker.
  2. Change the type defination of worker's QuitReason
  3. Fix some typo of StreamableHttpError

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@github-actionsgithub-actionsBot added T-core Core library changes T-transport Transport layer changes labels Aug 13, 2025
@4t145
4t145 requested a review from CopilotAugust 15, 2025 03:26

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances error handling in the transport worker system by making the WorkerQuitReason generic over error types, allowing workers to preserve their specific error types rather than converting them to strings. It also fixes spelling errors in StreamableHttpError variants.

Key changes:

  • Made WorkerQuitReason generic over error types to preserve internal error information
  • Updated all worker implementations to use specific error types instead of generic string errors
  • Fixed typos in StreamableHttpError enum variants (SeverServer)

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
crates/rmcp/src/transport/worker.rsMade WorkerQuitReason generic over error type E and updated method signatures
crates/rmcp/src/transport/streamable_http_server/session/local.rsIntroduced LocalSessionWorkerError enum and updated worker implementation to use specific error types
crates/rmcp/src/transport/streamable_http_client.rsFixed spelling errors and updated to use generic error types in method calls
crates/rmcp/src/transport/common/reqwest/streamable_http_client.rsFixed spelling error in error variant name

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 03:26
jokemanfire
jokemanfire previously approved these changes Aug 15, 2025

@jokemanfirejokemanfire left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 06:55
@4t145

Copy link
Copy Markdown
ContributorAuthor

Just adopted copilot's suggestion.

@4t145
4t145 merged commit 0a2f77d into modelcontextprotocol:mainAug 18, 2025
10 of 11 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Aug 18, 2025
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
…ol#372)
* feat: support downcast WorkerQuitReason::Fatal
* feat(transport): expose internal worker error in fatal
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-coreCore library changesT-transportTransport layer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose client errors to call

3 participants

@4t145@jokemanfire
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat: keep internal error in worker's quit reason by 4t145 · Pull Request #372 · modelcontextprotocol/rust-sdk · GitHub
Skip to content

feat: keep internal error in worker's quit reason - #372

Merged
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error
Aug 18, 2025
Merged

feat: keep internal error in worker's quit reason#372
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error

Conversation

@4t145

Copy link
Copy Markdown
Contributor

fix#345

Motivation and Context

How Has This Been Tested?

Breaking Changes

  1. Change the error type for local session worker.
  2. Change the type defination of worker's QuitReason
  3. Fix some typo of StreamableHttpError

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@github-actionsgithub-actionsBot added T-core Core library changes T-transport Transport layer changes labels Aug 13, 2025
@4t145
4t145 requested a review from CopilotAugust 15, 2025 03:26

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances error handling in the transport worker system by making the WorkerQuitReason generic over error types, allowing workers to preserve their specific error types rather than converting them to strings. It also fixes spelling errors in StreamableHttpError variants.

Key changes:

  • Made WorkerQuitReason generic over error types to preserve internal error information
  • Updated all worker implementations to use specific error types instead of generic string errors
  • Fixed typos in StreamableHttpError enum variants (SeverServer)

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
crates/rmcp/src/transport/worker.rsMade WorkerQuitReason generic over error type E and updated method signatures
crates/rmcp/src/transport/streamable_http_server/session/local.rsIntroduced LocalSessionWorkerError enum and updated worker implementation to use specific error types
crates/rmcp/src/transport/streamable_http_client.rsFixed spelling errors and updated to use generic error types in method calls
crates/rmcp/src/transport/common/reqwest/streamable_http_client.rsFixed spelling error in error variant name

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 03:26
jokemanfire
jokemanfire previously approved these changes Aug 15, 2025

@jokemanfirejokemanfire left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 06:55
@4t145

Copy link
Copy Markdown
ContributorAuthor

Just adopted copilot's suggestion.

@4t145
4t145 merged commit 0a2f77d into modelcontextprotocol:mainAug 18, 2025
10 of 11 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Aug 18, 2025
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
…ol#372)
* feat: support downcast WorkerQuitReason::Fatal
* feat(transport): expose internal worker error in fatal
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-coreCore library changesT-transportTransport layer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose client errors to call

3 participants

@4t145@jokemanfire
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' feat: keep internal error in worker's quit reason by 4t145 · Pull Request #372 · modelcontextprotocol/rust-sdk · GitHub
Skip to content

feat: keep internal error in worker's quit reason - #372

Merged
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error
Aug 18, 2025
Merged

feat: keep internal error in worker's quit reason#372
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error

Conversation

@4t145

Copy link
Copy Markdown
Contributor

fix#345

Motivation and Context

How Has This Been Tested?

Breaking Changes

  1. Change the error type for local session worker.
  2. Change the type defination of worker's QuitReason
  3. Fix some typo of StreamableHttpError

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@github-actionsgithub-actionsBot added T-core Core library changes T-transport Transport layer changes labels Aug 13, 2025
@4t145
4t145 requested a review from CopilotAugust 15, 2025 03:26

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances error handling in the transport worker system by making the WorkerQuitReason generic over error types, allowing workers to preserve their specific error types rather than converting them to strings. It also fixes spelling errors in StreamableHttpError variants.

Key changes:

  • Made WorkerQuitReason generic over error types to preserve internal error information
  • Updated all worker implementations to use specific error types instead of generic string errors
  • Fixed typos in StreamableHttpError enum variants (SeverServer)

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
crates/rmcp/src/transport/worker.rsMade WorkerQuitReason generic over error type E and updated method signatures
crates/rmcp/src/transport/streamable_http_server/session/local.rsIntroduced LocalSessionWorkerError enum and updated worker implementation to use specific error types
crates/rmcp/src/transport/streamable_http_client.rsFixed spelling errors and updated to use generic error types in method calls
crates/rmcp/src/transport/common/reqwest/streamable_http_client.rsFixed spelling error in error variant name

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 03:26
jokemanfire
jokemanfire previously approved these changes Aug 15, 2025

@jokemanfirejokemanfire left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 06:55
@4t145

Copy link
Copy Markdown
ContributorAuthor

Just adopted copilot's suggestion.

@4t145
4t145 merged commit 0a2f77d into modelcontextprotocol:mainAug 18, 2025
10 of 11 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Aug 18, 2025
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
…ol#372)
* feat: support downcast WorkerQuitReason::Fatal
* feat(transport): expose internal worker error in fatal
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-coreCore library changesT-transportTransport layer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose client errors to call

3 participants

@4t145@jokemanfire
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat: keep internal error in worker's quit reason by 4t145 · Pull Request #372 · modelcontextprotocol/rust-sdk · GitHub
Skip to content

feat: keep internal error in worker's quit reason - #372

Merged
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error
Aug 18, 2025
Merged

feat: keep internal error in worker's quit reason#372
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error

Conversation

@4t145

Copy link
Copy Markdown
Contributor

fix#345

Motivation and Context

How Has This Been Tested?

Breaking Changes

  1. Change the error type for local session worker.
  2. Change the type defination of worker's QuitReason
  3. Fix some typo of StreamableHttpError

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@github-actionsgithub-actionsBot added T-core Core library changes T-transport Transport layer changes labels Aug 13, 2025
@4t145
4t145 requested a review from CopilotAugust 15, 2025 03:26

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances error handling in the transport worker system by making the WorkerQuitReason generic over error types, allowing workers to preserve their specific error types rather than converting them to strings. It also fixes spelling errors in StreamableHttpError variants.

Key changes:

  • Made WorkerQuitReason generic over error types to preserve internal error information
  • Updated all worker implementations to use specific error types instead of generic string errors
  • Fixed typos in StreamableHttpError enum variants (SeverServer)

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
crates/rmcp/src/transport/worker.rsMade WorkerQuitReason generic over error type E and updated method signatures
crates/rmcp/src/transport/streamable_http_server/session/local.rsIntroduced LocalSessionWorkerError enum and updated worker implementation to use specific error types
crates/rmcp/src/transport/streamable_http_client.rsFixed spelling errors and updated to use generic error types in method calls
crates/rmcp/src/transport/common/reqwest/streamable_http_client.rsFixed spelling error in error variant name

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 03:26
jokemanfire
jokemanfire previously approved these changes Aug 15, 2025

@jokemanfirejokemanfire left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 06:55
@4t145

Copy link
Copy Markdown
ContributorAuthor

Just adopted copilot's suggestion.

@4t145
4t145 merged commit 0a2f77d into modelcontextprotocol:mainAug 18, 2025
10 of 11 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Aug 18, 2025
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
…ol#372)
* feat: support downcast WorkerQuitReason::Fatal
* feat(transport): expose internal worker error in fatal
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-coreCore library changesT-transportTransport layer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose client errors to call

3 participants

@4t145@jokemanfire
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); feat: keep internal error in worker's quit reason by 4t145 · Pull Request #372 · modelcontextprotocol/rust-sdk · GitHub
Skip to content

feat: keep internal error in worker's quit reason - #372

Merged
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error
Aug 18, 2025
Merged

feat: keep internal error in worker's quit reason#372
4t145 merged 4 commits into
modelcontextprotocol:mainfrom
4t145:feat-expose-worker-error

Conversation

@4t145

Copy link
Copy Markdown
Contributor

fix#345

Motivation and Context

How Has This Been Tested?

Breaking Changes

  1. Change the error type for local session worker.
  2. Change the type defination of worker's QuitReason
  3. Fix some typo of StreamableHttpError

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@github-actionsgithub-actionsBot added T-core Core library changes T-transport Transport layer changes labels Aug 13, 2025
@4t145
4t145 requested a review from CopilotAugust 15, 2025 03:26

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances error handling in the transport worker system by making the WorkerQuitReason generic over error types, allowing workers to preserve their specific error types rather than converting them to strings. It also fixes spelling errors in StreamableHttpError variants.

Key changes:

  • Made WorkerQuitReason generic over error types to preserve internal error information
  • Updated all worker implementations to use specific error types instead of generic string errors
  • Fixed typos in StreamableHttpError enum variants (SeverServer)

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
crates/rmcp/src/transport/worker.rsMade WorkerQuitReason generic over error type E and updated method signatures
crates/rmcp/src/transport/streamable_http_server/session/local.rsIntroduced LocalSessionWorkerError enum and updated worker implementation to use specific error types
crates/rmcp/src/transport/streamable_http_client.rsFixed spelling errors and updated to use generic error types in method calls
crates/rmcp/src/transport/common/reqwest/streamable_http_client.rsFixed spelling error in error variant name

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
Comment threadcrates/rmcp/src/transport/streamable_http_client.rs Outdated
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 03:26
jokemanfire
jokemanfire previously approved these changes Aug 15, 2025

@jokemanfirejokemanfire left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@4t145
4t145 requested a review from jokemanfireAugust 15, 2025 06:55
@4t145

Copy link
Copy Markdown
ContributorAuthor

Just adopted copilot's suggestion.

@4t145
4t145 merged commit 0a2f77d into modelcontextprotocol:mainAug 18, 2025
10 of 11 checks passed
@github-actionsgithub-actionsBot mentioned this pull request Aug 18, 2025
takumi-earth pushed a commit to earthlings-dev/rmcp that referenced this pull request Jan 27, 2026
…ol#372)
* feat: support downcast WorkerQuitReason::Fatal
* feat(transport): expose internal worker error in fatal
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update crates/rmcp/src/transport/streamable_http_client.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-coreCore library changesT-transportTransport layer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose client errors to call

3 participants

@4t145@jokemanfire