GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Implement unimplemented concurrency methods for all server classes by alerickson · Pull Request #2012 · PowerShell/PSResourceGet

Conversation

@alerickson

@alerickson alerickson commented Jun 30, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

PR Summary

This is a continuation of the concurrency work started in PR #1950. This PR adds concurrent/parallel execution support across all PSResourceGet server API classes by implementing the previously-stubbed async methods and broadening the API-version gating that selects the concurrent code path.

PR Context

PR Checklist

  • PR has a meaningful title
    • Use the present tense and imperative mood when describing your changes
  • Summarized changes
  • Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
  • This PR is ready to merge and is not Work in Progress.
    • If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.
  • Breaking changes
    • None
    • OR
    • Documentation needed
      • Issue filed:
  • User-facing changes
    • Not Applicable
    • OR
    • Documentation needed
      • Issue filed:
  • Testing - New and feature
    • N/A or can only be tested interactively
    • OR
    • Make sure you've added a new test if existing tests do not effectively test the code changed
  • Tooling
    • I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
    • OR
    • I have considered the user experience from a tooling perspective and enumerated concerns in the summary.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@alerickson
Implement unimplemented concurrency methods for all server classes
ba2d230
Copilot AI review requested due to automatic review settings June 30, 2026 21:00
@alerickson
alerickson requested review from Sydney Smith (SydneyhSmith), Aditya Patwardhan (adityapatwardhan), Anam Navied (anamnavi) and shammu1 as code owners June 30, 2026 21:00
@alerickson

alerickson commented Jun 30, 2026

Copy link
Copy Markdown
Member Author

/azp run

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@azure-pipelines

azure-pipelines Bot commented Jun 30, 2026

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Copilot started reviewing on behalf of alerickson June 30, 2026 21:01
View session
Copilot AI reviewed Jun 30, 2026
View reviewed changes

Copilot AI left a comment

Copy link
Copy Markdown

There was a problem hiding this comment.

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 continues the concurrent install/find work by implementing previously-stubbed async methods across server API call classes and by broadening the gating so the concurrent code paths can be used for more repository types (beyond V2).

Changes:

  • Implemented Find*Async and InstallPackageAsync overrides for V3, NuGet server, local repo, and container registry server classes.
  • Added async install helpers for V3 (including async HTTP content fetch) to support parallel install workflows.
  • Expanded the concurrency gating in FindHelper and InstallHelper so parallelism can be used across more API versions.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
src/code/V3ServerAPICalls.cs Implements async find/install methods and adds async install/HTTP helpers for V3 repositories.
src/code/NuGetServerAPICalls.cs Implements async wrappers for find/install methods for NuGet V2-style servers.
src/code/LocalServerApiCalls.cs Implements async find/install methods for local repository server.
src/code/InstallHelper.cs Broadens parallel install gating to apply regardless of repository API version.
src/code/FindHelper.cs Broadens parallel find/dependency gating and routes more paths through async methods.
src/code/ContainerRegistryServerAPICalls.cs Implements async wrappers for find/install methods for container registry server.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread src/code/FindHelper.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/code/FindHelper.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/code/FindHelper.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/code/FindHelper.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/code/FindHelper.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/code/InstallHelper.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/code/V3ServerAPICalls.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/code/NuGetServerAPICalls.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/code/ContainerRegistryServerAPICalls.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

@alerickson
build fixes
fbb940f
@alerickson

alerickson commented Jul 1, 2026

Copy link
Copy Markdown
Member Author

/azp run

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@azure-pipelines

azure-pipelines Bot commented Jul 1, 2026

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Copilot started work on behalf of alerickson July 1, 2026 17:07
View session
Fix thread-safety in ContainerRegistryServerAPICalls.InstallPackageAsync
a4730af
InstallPackageAsync was calling the synchronous InstallPackage() which
writes to _cmdletPassedIn.WriteDebug, causing cross-thread cmdlet stream
writes when used from Parallel.ForEach.

- Refactor InstallPackageAsync to not call InstallPackage(); inline the
  null-version check and enqueue all messages via the provided queues
- Add a queue-aware InstallVersion overload that uses ConcurrentQueue
  parameters instead of _cmdletPassedIn.Write* calls, for use by the
  async install path
- Keep the original InstallVersion(out ErrorRecord) overload intact for
  the synchronous path
Copilot finished work on behalf of alerickson July 1, 2026 17:16
@alerickson

alerickson commented Jul 1, 2026

Copy link
Copy Markdown
Member Author

/azp run

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@azure-pipelines

azure-pipelines Bot commented Jul 1, 2026

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@alerickson
Fix copilot commit for container registry
f800970
Copilot started work on behalf of alerickson July 1, 2026 17:58
View session
Avoid cmdlet stream writes in NuGet FindVersionAsync path
6ab7367
Copilot finished work on behalf of alerickson July 1, 2026 18:05
Copilot started work on behalf of alerickson July 1, 2026 18:09
View session
Fix V3 async helper logging to use debug queues
dbd1689
Copilot finished work on behalf of alerickson July 1, 2026 18:16
@alerickson
Potential fix for pull request finding
efb000d
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Copilot started work on behalf of alerickson July 1, 2026 18:25
View session
Copilot AI added 2 commits July 1, 2026 18:28
Fix specific-version async dependency error handling path
0e9c684
Scope async dependency queue handling to current operation
e3c1af5
Copilot finished work on behalf of alerickson July 1, 2026 18:32
Copilot started work on behalf of alerickson July 1, 2026 18:37
View session
Fix version-range async path: reset errRecord and flush concurrent qu…
9b92e77
…eues
Copilot finished work on behalf of alerickson July 1, 2026 18:38
@alerickson

alerickson commented Jul 1, 2026

Copy link
Copy Markdown
Member Author

/azp run

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@azure-pipelines

azure-pipelines Bot commented Jul 1, 2026

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@alerickson
build fixes
900db22
@alerickson

alerickson commented Jul 1, 2026

Copy link
Copy Markdown
Member Author

/azp run

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@azure-pipelines

azure-pipelines Bot commented Jul 1, 2026

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@alerickson

alerickson commented Jul 1, 2026

Copy link
Copy Markdown
Member Author

/azp run

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@azure-pipelines

azure-pipelines Bot commented Jul 1, 2026

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@alerickson alerickson changed the title WIP - Implement unimplemented concurrency methods for all server classes Implement unimplemented concurrency methods for all server classes Jul 1, 2026
adityapatwardhan
Aditya Patwardhan (adityapatwardhan) approved these changes Jul 7, 2026
View reviewed changes
@alerickson

alerickson commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

/azp run

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@azure-pipelines

azure-pipelines Bot commented Jul 14, 2026

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@alerickson
Incorporate code review changes - complete TODOs and remove unneeded …
4cdbea8
…key creation
@alerickson

alerickson commented Jul 21, 2026

Copy link
Copy Markdown
Member Author

/azp run

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@azure-pipelines

azure-pipelines Bot commented Jul 21, 2026

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

adityapatwardhan
Aditya Patwardhan (adityapatwardhan) approved these changes Jul 31, 2026
View reviewed changes
@alerickson
alerickson merged commit e160b6f into master Jul 31, 2026
12 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@alerickson
alerickson deleted the concurrencyAllServers branch July 31, 2026 20:34
@alerickson alerickson mentioned this pull request Aug 12, 2026
Add concurrency for parent packages #2016
Merged
8 of 14 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

Copilot code review Copilot
Copilot review effort
Applies to this pull request for everyone.Learn more about Copilot code review.
Copilot left review comments
@adityapatwardhan Aditya Patwardhan (adityapatwardhan) adityapatwardhan approved these changes
@anamnavi Anam Navied (anamnavi) Awaiting requested review from anamnavi anamnavi is a code owner
@SydneyhSmith Sydney Smith (SydneyhSmith) Awaiting requested review from SydneyhSmith SydneyhSmith is a code owner
@shammu1 shammu1 Awaiting requested review from shammu1 shammu1 is a code owner
+1 more reviewer
Copilot code review Copilot Copilot left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@alerickson @adityapatwardhan
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.