Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff… - #778

Merged
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main
Jul 7, 2026
Merged

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main

Conversation

@adityabagchi24

Copy link
Copy Markdown
Contributor

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBufferingHandler workaround

Release 2.9.0 of grpc-swift-nio-transport fixes the HTTP/2 initialization race that required a HTTP2ConnectBufferingHandler for the vminitd API. This upgrades the dependency and eliminates the workaround.

Fixes#776

Changes

Package.swift

  • Upgraded grpc-swift-nio-transport from 2.4.4 to 2.9.0

Vminitd.swift

  • Replaced the ClientBootstrap + HTTP2ConnectBufferingHandler workaround with the new HTTP2ClientTransport.WrappedChannel.wrapping(config:serviceConfig:) API using withCheckedThrowingContinuation
  • Changed init from throws to async throws
  • Updated imports: GRPCNIOTransportHTTP2 and NIO instead of GRPCNIOTransportCore + NIOCore + NIOPosix

VZVirtualMachineInstance.swift

  • Updated two Vminitd(…) call sites to use try await

ContainerTests.swift

  • Updated Vminitd(…) call site to use try await

Removed

  • HTTP2ConnectBufferingHandler.swift — no longer needed

@jgloganjglogan 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.

@adityabagchi24 I think you need to run swift package resolve down in the vminitd directory and push the change:

error: an out-of-date resolved file was detected at /Users/runner/actions-runner/_work/containerization/containerization/vminitd/Package.resolved, which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies. Running resolver because requirements have changed.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan I ran swift package resolve in the vminitd/ directory and pushed the updated Package.resolved. The vminitd sub-package now pins grpc-swift-nio-transport at 2.9.0, matching the root package.

@jglogan

Copy link
Copy Markdown
Contributor

Ready to go. We're going to defer approve/merge until after container 1.1.0.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you for the update! Sounds good to me. I completely understand deferring the approval and merge until after container 1.1.0. I appreciate your time and consideration throughout this process, and I’m looking forward to the merge after the release. Please let me know if I can help with anything in the meantime.

@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Well that took a while, sorry. Had to rework our integration tests on the container side. Sorry for the wait.

Could you rebase this and add await to the two Vminitd() calls in CHVirtualMachineInstance.swift, and push again? Thank you!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan No need to feel sorry. I know you must be busy in the container 1.1.0 release. No problem. I have done the changes you have requested. Also for the related change in apple container repository apple/container#1790, I have cleared out the merge conflict. Please check these changes out.

@jglogan

Copy link
Copy Markdown
Contributor

Thanks for the quick response! I'm running integration tests locally with both the containerization and container changes together.

@jglogan
jglogan merged commit 7aa4e72 into apple:mainJul 7, 2026
5 checks passed
@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Merged, thanks for your patience!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you so much for your cooperation and patience throughout the process of merging my PR. I truly appreciate your support. Please feel free to reach out if there's ever anything I can assist you with in the future.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: Upgrade grpc-swift-nio-transport and remove HTTP2ConnectBufferingHandler.

2 participants

@adityabagchi24@jglogan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff… - #778

Merged
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main
Jul 7, 2026
Merged

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main

Conversation

@adityabagchi24

Copy link
Copy Markdown
Contributor

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBufferingHandler workaround

Release 2.9.0 of grpc-swift-nio-transport fixes the HTTP/2 initialization race that required a HTTP2ConnectBufferingHandler for the vminitd API. This upgrades the dependency and eliminates the workaround.

Fixes#776

Changes

Package.swift

  • Upgraded grpc-swift-nio-transport from 2.4.4 to 2.9.0

Vminitd.swift

  • Replaced the ClientBootstrap + HTTP2ConnectBufferingHandler workaround with the new HTTP2ClientTransport.WrappedChannel.wrapping(config:serviceConfig:) API using withCheckedThrowingContinuation
  • Changed init from throws to async throws
  • Updated imports: GRPCNIOTransportHTTP2 and NIO instead of GRPCNIOTransportCore + NIOCore + NIOPosix

VZVirtualMachineInstance.swift

  • Updated two Vminitd(…) call sites to use try await

ContainerTests.swift

  • Updated Vminitd(…) call site to use try await

Removed

  • HTTP2ConnectBufferingHandler.swift — no longer needed

@jgloganjglogan 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.

@adityabagchi24 I think you need to run swift package resolve down in the vminitd directory and push the change:

error: an out-of-date resolved file was detected at /Users/runner/actions-runner/_work/containerization/containerization/vminitd/Package.resolved, which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies. Running resolver because requirements have changed.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan I ran swift package resolve in the vminitd/ directory and pushed the updated Package.resolved. The vminitd sub-package now pins grpc-swift-nio-transport at 2.9.0, matching the root package.

@jglogan

Copy link
Copy Markdown
Contributor

Ready to go. We're going to defer approve/merge until after container 1.1.0.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you for the update! Sounds good to me. I completely understand deferring the approval and merge until after container 1.1.0. I appreciate your time and consideration throughout this process, and I’m looking forward to the merge after the release. Please let me know if I can help with anything in the meantime.

@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Well that took a while, sorry. Had to rework our integration tests on the container side. Sorry for the wait.

Could you rebase this and add await to the two Vminitd() calls in CHVirtualMachineInstance.swift, and push again? Thank you!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan No need to feel sorry. I know you must be busy in the container 1.1.0 release. No problem. I have done the changes you have requested. Also for the related change in apple container repository apple/container#1790, I have cleared out the merge conflict. Please check these changes out.

@jglogan

Copy link
Copy Markdown
Contributor

Thanks for the quick response! I'm running integration tests locally with both the containerization and container changes together.

@jglogan
jglogan merged commit 7aa4e72 into apple:mainJul 7, 2026
5 checks passed
@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Merged, thanks for your patience!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you so much for your cooperation and patience throughout the process of merging my PR. I truly appreciate your support. Please feel free to reach out if there's ever anything I can assist you with in the future.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: Upgrade grpc-swift-nio-transport and remove HTTP2ConnectBufferingHandler.

2 participants

@adityabagchi24@jglogan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff… - #778

Merged
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main
Jul 7, 2026
Merged

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main

Conversation

@adityabagchi24

Copy link
Copy Markdown
Contributor

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBufferingHandler workaround

Release 2.9.0 of grpc-swift-nio-transport fixes the HTTP/2 initialization race that required a HTTP2ConnectBufferingHandler for the vminitd API. This upgrades the dependency and eliminates the workaround.

Fixes#776

Changes

Package.swift

  • Upgraded grpc-swift-nio-transport from 2.4.4 to 2.9.0

Vminitd.swift

  • Replaced the ClientBootstrap + HTTP2ConnectBufferingHandler workaround with the new HTTP2ClientTransport.WrappedChannel.wrapping(config:serviceConfig:) API using withCheckedThrowingContinuation
  • Changed init from throws to async throws
  • Updated imports: GRPCNIOTransportHTTP2 and NIO instead of GRPCNIOTransportCore + NIOCore + NIOPosix

VZVirtualMachineInstance.swift

  • Updated two Vminitd(…) call sites to use try await

ContainerTests.swift

  • Updated Vminitd(…) call site to use try await

Removed

  • HTTP2ConnectBufferingHandler.swift — no longer needed

@jgloganjglogan 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.

@adityabagchi24 I think you need to run swift package resolve down in the vminitd directory and push the change:

error: an out-of-date resolved file was detected at /Users/runner/actions-runner/_work/containerization/containerization/vminitd/Package.resolved, which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies. Running resolver because requirements have changed.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan I ran swift package resolve in the vminitd/ directory and pushed the updated Package.resolved. The vminitd sub-package now pins grpc-swift-nio-transport at 2.9.0, matching the root package.

@jglogan

Copy link
Copy Markdown
Contributor

Ready to go. We're going to defer approve/merge until after container 1.1.0.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you for the update! Sounds good to me. I completely understand deferring the approval and merge until after container 1.1.0. I appreciate your time and consideration throughout this process, and I’m looking forward to the merge after the release. Please let me know if I can help with anything in the meantime.

@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Well that took a while, sorry. Had to rework our integration tests on the container side. Sorry for the wait.

Could you rebase this and add await to the two Vminitd() calls in CHVirtualMachineInstance.swift, and push again? Thank you!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan No need to feel sorry. I know you must be busy in the container 1.1.0 release. No problem. I have done the changes you have requested. Also for the related change in apple container repository apple/container#1790, I have cleared out the merge conflict. Please check these changes out.

@jglogan

Copy link
Copy Markdown
Contributor

Thanks for the quick response! I'm running integration tests locally with both the containerization and container changes together.

@jglogan
jglogan merged commit 7aa4e72 into apple:mainJul 7, 2026
5 checks passed
@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Merged, thanks for your patience!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you so much for your cooperation and patience throughout the process of merging my PR. I truly appreciate your support. Please feel free to reach out if there's ever anything I can assist you with in the future.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: Upgrade grpc-swift-nio-transport and remove HTTP2ConnectBufferingHandler.

2 participants

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

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff… - #778

Merged
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main
Jul 7, 2026
Merged

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main

Conversation

@adityabagchi24

Copy link
Copy Markdown
Contributor

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBufferingHandler workaround

Release 2.9.0 of grpc-swift-nio-transport fixes the HTTP/2 initialization race that required a HTTP2ConnectBufferingHandler for the vminitd API. This upgrades the dependency and eliminates the workaround.

Fixes#776

Changes

Package.swift

  • Upgraded grpc-swift-nio-transport from 2.4.4 to 2.9.0

Vminitd.swift

  • Replaced the ClientBootstrap + HTTP2ConnectBufferingHandler workaround with the new HTTP2ClientTransport.WrappedChannel.wrapping(config:serviceConfig:) API using withCheckedThrowingContinuation
  • Changed init from throws to async throws
  • Updated imports: GRPCNIOTransportHTTP2 and NIO instead of GRPCNIOTransportCore + NIOCore + NIOPosix

VZVirtualMachineInstance.swift

  • Updated two Vminitd(…) call sites to use try await

ContainerTests.swift

  • Updated Vminitd(…) call site to use try await

Removed

  • HTTP2ConnectBufferingHandler.swift — no longer needed

@jgloganjglogan 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.

@adityabagchi24 I think you need to run swift package resolve down in the vminitd directory and push the change:

error: an out-of-date resolved file was detected at /Users/runner/actions-runner/_work/containerization/containerization/vminitd/Package.resolved, which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies. Running resolver because requirements have changed.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan I ran swift package resolve in the vminitd/ directory and pushed the updated Package.resolved. The vminitd sub-package now pins grpc-swift-nio-transport at 2.9.0, matching the root package.

@jglogan

Copy link
Copy Markdown
Contributor

Ready to go. We're going to defer approve/merge until after container 1.1.0.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you for the update! Sounds good to me. I completely understand deferring the approval and merge until after container 1.1.0. I appreciate your time and consideration throughout this process, and I’m looking forward to the merge after the release. Please let me know if I can help with anything in the meantime.

@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Well that took a while, sorry. Had to rework our integration tests on the container side. Sorry for the wait.

Could you rebase this and add await to the two Vminitd() calls in CHVirtualMachineInstance.swift, and push again? Thank you!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan No need to feel sorry. I know you must be busy in the container 1.1.0 release. No problem. I have done the changes you have requested. Also for the related change in apple container repository apple/container#1790, I have cleared out the merge conflict. Please check these changes out.

@jglogan

Copy link
Copy Markdown
Contributor

Thanks for the quick response! I'm running integration tests locally with both the containerization and container changes together.

@jglogan
jglogan merged commit 7aa4e72 into apple:mainJul 7, 2026
5 checks passed
@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Merged, thanks for your patience!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you so much for your cooperation and patience throughout the process of merging my PR. I truly appreciate your support. Please feel free to reach out if there's ever anything I can assist you with in the future.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: Upgrade grpc-swift-nio-transport and remove HTTP2ConnectBufferingHandler.

2 participants

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

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff… - #778

Merged
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main
Jul 7, 2026
Merged

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main

Conversation

@adityabagchi24

Copy link
Copy Markdown
Contributor

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBufferingHandler workaround

Release 2.9.0 of grpc-swift-nio-transport fixes the HTTP/2 initialization race that required a HTTP2ConnectBufferingHandler for the vminitd API. This upgrades the dependency and eliminates the workaround.

Fixes#776

Changes

Package.swift

  • Upgraded grpc-swift-nio-transport from 2.4.4 to 2.9.0

Vminitd.swift

  • Replaced the ClientBootstrap + HTTP2ConnectBufferingHandler workaround with the new HTTP2ClientTransport.WrappedChannel.wrapping(config:serviceConfig:) API using withCheckedThrowingContinuation
  • Changed init from throws to async throws
  • Updated imports: GRPCNIOTransportHTTP2 and NIO instead of GRPCNIOTransportCore + NIOCore + NIOPosix

VZVirtualMachineInstance.swift

  • Updated two Vminitd(…) call sites to use try await

ContainerTests.swift

  • Updated Vminitd(…) call site to use try await

Removed

  • HTTP2ConnectBufferingHandler.swift — no longer needed

@jgloganjglogan 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.

@adityabagchi24 I think you need to run swift package resolve down in the vminitd directory and push the change:

error: an out-of-date resolved file was detected at /Users/runner/actions-runner/_work/containerization/containerization/vminitd/Package.resolved, which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies. Running resolver because requirements have changed.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan I ran swift package resolve in the vminitd/ directory and pushed the updated Package.resolved. The vminitd sub-package now pins grpc-swift-nio-transport at 2.9.0, matching the root package.

@jglogan

Copy link
Copy Markdown
Contributor

Ready to go. We're going to defer approve/merge until after container 1.1.0.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you for the update! Sounds good to me. I completely understand deferring the approval and merge until after container 1.1.0. I appreciate your time and consideration throughout this process, and I’m looking forward to the merge after the release. Please let me know if I can help with anything in the meantime.

@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Well that took a while, sorry. Had to rework our integration tests on the container side. Sorry for the wait.

Could you rebase this and add await to the two Vminitd() calls in CHVirtualMachineInstance.swift, and push again? Thank you!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan No need to feel sorry. I know you must be busy in the container 1.1.0 release. No problem. I have done the changes you have requested. Also for the related change in apple container repository apple/container#1790, I have cleared out the merge conflict. Please check these changes out.

@jglogan

Copy link
Copy Markdown
Contributor

Thanks for the quick response! I'm running integration tests locally with both the containerization and container changes together.

@jglogan
jglogan merged commit 7aa4e72 into apple:mainJul 7, 2026
5 checks passed
@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Merged, thanks for your patience!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you so much for your cooperation and patience throughout the process of merging my PR. I truly appreciate your support. Please feel free to reach out if there's ever anything I can assist you with in the future.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: Upgrade grpc-swift-nio-transport and remove HTTP2ConnectBufferingHandler.

2 participants

@adityabagchi24@jglogan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff… - #778

Merged
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main
Jul 7, 2026
Merged

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main

Conversation

@adityabagchi24

Copy link
Copy Markdown
Contributor

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBufferingHandler workaround

Release 2.9.0 of grpc-swift-nio-transport fixes the HTTP/2 initialization race that required a HTTP2ConnectBufferingHandler for the vminitd API. This upgrades the dependency and eliminates the workaround.

Fixes#776

Changes

Package.swift

  • Upgraded grpc-swift-nio-transport from 2.4.4 to 2.9.0

Vminitd.swift

  • Replaced the ClientBootstrap + HTTP2ConnectBufferingHandler workaround with the new HTTP2ClientTransport.WrappedChannel.wrapping(config:serviceConfig:) API using withCheckedThrowingContinuation
  • Changed init from throws to async throws
  • Updated imports: GRPCNIOTransportHTTP2 and NIO instead of GRPCNIOTransportCore + NIOCore + NIOPosix

VZVirtualMachineInstance.swift

  • Updated two Vminitd(…) call sites to use try await

ContainerTests.swift

  • Updated Vminitd(…) call site to use try await

Removed

  • HTTP2ConnectBufferingHandler.swift — no longer needed

@jgloganjglogan 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.

@adityabagchi24 I think you need to run swift package resolve down in the vminitd directory and push the change:

error: an out-of-date resolved file was detected at /Users/runner/actions-runner/_work/containerization/containerization/vminitd/Package.resolved, which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies. Running resolver because requirements have changed.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan I ran swift package resolve in the vminitd/ directory and pushed the updated Package.resolved. The vminitd sub-package now pins grpc-swift-nio-transport at 2.9.0, matching the root package.

@jglogan

Copy link
Copy Markdown
Contributor

Ready to go. We're going to defer approve/merge until after container 1.1.0.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you for the update! Sounds good to me. I completely understand deferring the approval and merge until after container 1.1.0. I appreciate your time and consideration throughout this process, and I’m looking forward to the merge after the release. Please let me know if I can help with anything in the meantime.

@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Well that took a while, sorry. Had to rework our integration tests on the container side. Sorry for the wait.

Could you rebase this and add await to the two Vminitd() calls in CHVirtualMachineInstance.swift, and push again? Thank you!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan No need to feel sorry. I know you must be busy in the container 1.1.0 release. No problem. I have done the changes you have requested. Also for the related change in apple container repository apple/container#1790, I have cleared out the merge conflict. Please check these changes out.

@jglogan

Copy link
Copy Markdown
Contributor

Thanks for the quick response! I'm running integration tests locally with both the containerization and container changes together.

@jglogan
jglogan merged commit 7aa4e72 into apple:mainJul 7, 2026
5 checks passed
@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Merged, thanks for your patience!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you so much for your cooperation and patience throughout the process of merging my PR. I truly appreciate your support. Please feel free to reach out if there's ever anything I can assist you with in the future.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: Upgrade grpc-swift-nio-transport and remove HTTP2ConnectBufferingHandler.

2 participants

@adityabagchi24@jglogan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff… - #778

Merged
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main
Jul 7, 2026
Merged

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main

Conversation

@adityabagchi24

Copy link
Copy Markdown
Contributor

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBufferingHandler workaround

Release 2.9.0 of grpc-swift-nio-transport fixes the HTTP/2 initialization race that required a HTTP2ConnectBufferingHandler for the vminitd API. This upgrades the dependency and eliminates the workaround.

Fixes#776

Changes

Package.swift

  • Upgraded grpc-swift-nio-transport from 2.4.4 to 2.9.0

Vminitd.swift

  • Replaced the ClientBootstrap + HTTP2ConnectBufferingHandler workaround with the new HTTP2ClientTransport.WrappedChannel.wrapping(config:serviceConfig:) API using withCheckedThrowingContinuation
  • Changed init from throws to async throws
  • Updated imports: GRPCNIOTransportHTTP2 and NIO instead of GRPCNIOTransportCore + NIOCore + NIOPosix

VZVirtualMachineInstance.swift

  • Updated two Vminitd(…) call sites to use try await

ContainerTests.swift

  • Updated Vminitd(…) call site to use try await

Removed

  • HTTP2ConnectBufferingHandler.swift — no longer needed

@jgloganjglogan 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.

@adityabagchi24 I think you need to run swift package resolve down in the vminitd directory and push the change:

error: an out-of-date resolved file was detected at /Users/runner/actions-runner/_work/containerization/containerization/vminitd/Package.resolved, which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies. Running resolver because requirements have changed.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan I ran swift package resolve in the vminitd/ directory and pushed the updated Package.resolved. The vminitd sub-package now pins grpc-swift-nio-transport at 2.9.0, matching the root package.

@jglogan

Copy link
Copy Markdown
Contributor

Ready to go. We're going to defer approve/merge until after container 1.1.0.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you for the update! Sounds good to me. I completely understand deferring the approval and merge until after container 1.1.0. I appreciate your time and consideration throughout this process, and I’m looking forward to the merge after the release. Please let me know if I can help with anything in the meantime.

@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Well that took a while, sorry. Had to rework our integration tests on the container side. Sorry for the wait.

Could you rebase this and add await to the two Vminitd() calls in CHVirtualMachineInstance.swift, and push again? Thank you!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan No need to feel sorry. I know you must be busy in the container 1.1.0 release. No problem. I have done the changes you have requested. Also for the related change in apple container repository apple/container#1790, I have cleared out the merge conflict. Please check these changes out.

@jglogan

Copy link
Copy Markdown
Contributor

Thanks for the quick response! I'm running integration tests locally with both the containerization and container changes together.

@jglogan
jglogan merged commit 7aa4e72 into apple:mainJul 7, 2026
5 checks passed
@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Merged, thanks for your patience!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you so much for your cooperation and patience throughout the process of merging my PR. I truly appreciate your support. Please feel free to reach out if there's ever anything I can assist you with in the future.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: Upgrade grpc-swift-nio-transport and remove HTTP2ConnectBufferingHandler.

2 participants

@adityabagchi24@jglogan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff… - #778

Merged
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main
Jul 7, 2026
Merged

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main

Conversation

@adityabagchi24

Copy link
Copy Markdown
Contributor

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBufferingHandler workaround

Release 2.9.0 of grpc-swift-nio-transport fixes the HTTP/2 initialization race that required a HTTP2ConnectBufferingHandler for the vminitd API. This upgrades the dependency and eliminates the workaround.

Fixes#776

Changes

Package.swift

  • Upgraded grpc-swift-nio-transport from 2.4.4 to 2.9.0

Vminitd.swift

  • Replaced the ClientBootstrap + HTTP2ConnectBufferingHandler workaround with the new HTTP2ClientTransport.WrappedChannel.wrapping(config:serviceConfig:) API using withCheckedThrowingContinuation
  • Changed init from throws to async throws
  • Updated imports: GRPCNIOTransportHTTP2 and NIO instead of GRPCNIOTransportCore + NIOCore + NIOPosix

VZVirtualMachineInstance.swift

  • Updated two Vminitd(…) call sites to use try await

ContainerTests.swift

  • Updated Vminitd(…) call site to use try await

Removed

  • HTTP2ConnectBufferingHandler.swift — no longer needed

@jgloganjglogan 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.

@adityabagchi24 I think you need to run swift package resolve down in the vminitd directory and push the change:

error: an out-of-date resolved file was detected at /Users/runner/actions-runner/_work/containerization/containerization/vminitd/Package.resolved, which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies. Running resolver because requirements have changed.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan I ran swift package resolve in the vminitd/ directory and pushed the updated Package.resolved. The vminitd sub-package now pins grpc-swift-nio-transport at 2.9.0, matching the root package.

@jglogan

Copy link
Copy Markdown
Contributor

Ready to go. We're going to defer approve/merge until after container 1.1.0.

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you for the update! Sounds good to me. I completely understand deferring the approval and merge until after container 1.1.0. I appreciate your time and consideration throughout this process, and I’m looking forward to the merge after the release. Please let me know if I can help with anything in the meantime.

@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Well that took a while, sorry. Had to rework our integration tests on the container side. Sorry for the wait.

Could you rebase this and add await to the two Vminitd() calls in CHVirtualMachineInstance.swift, and push again? Thank you!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan No need to feel sorry. I know you must be busy in the container 1.1.0 release. No problem. I have done the changes you have requested. Also for the related change in apple container repository apple/container#1790, I have cleared out the merge conflict. Please check these changes out.

@jglogan

Copy link
Copy Markdown
Contributor

Thanks for the quick response! I'm running integration tests locally with both the containerization and container changes together.

@jglogan
jglogan merged commit 7aa4e72 into apple:mainJul 7, 2026
5 checks passed
@jglogan

Copy link
Copy Markdown
Contributor

@adityabagchi24 Merged, thanks for your patience!

@adityabagchi24

Copy link
Copy Markdown
ContributorAuthor

@jglogan Thank you so much for your cooperation and patience throughout the process of merging my PR. I truly appreciate your support. Please feel free to reach out if there's ever anything I can assist you with in the future.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: Upgrade grpc-swift-nio-transport and remove HTTP2ConnectBufferingHandler.

2 participants

@adityabagchi24@jglogan