fix: prevent CLI crash and slow startup on restricted network environments#677
Draft
Copilot wants to merge 3 commits intodevelopmentfrom
Draft
fix: prevent CLI crash and slow startup on restricted network environments#677Copilot wants to merge 3 commits intodevelopmentfrom
Copilot wants to merge 3 commits intodevelopmentfrom
Conversation
- Add short 10-second timeout and exception handling to GetPortalBearerToken() to prevent crash and long wait when network is unavailable - Run VersionChecks() in background to not block startup - Support cmf_cli_skip_version_check env var to skip version check in CI/CD" Co-authored-by: joaoopereira <3718704+joaoopereira@users.noreply.github.com>
Co-authored-by: joaoopereira <3718704+joaoopereira@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix cmf-cli slow startup and crash on commands
fix: prevent CLI crash and slow startup on restricted network environments
Mar 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On systems with limited or no internet access, the CLI crashes even on trivial commands like
cmf --helpdue to an unguarded HTTP call during credential initialization, and incurs up to 10s of startup latency from a synchronous NPM version check.Root causes
GetPortalBearerToken()usednew HttpClient()with the default 100s timeout and no exception handling. This was invoked synchronously at startup viaCIFSClient→RepositoryAuthStore.GetOrLoad()→AddDerivedCredentials(), causing aTaskCanceledExceptionto propagate and terminate the process.await VersionChecks()inStartupModule.Configure()blocked startup while waiting on an NPM HTTP request (10s timeout), multiplying across every CLI invocation in a pipeline.Changes
PortalRepositoryCredentials.GetPortalBearerToken(): Added a 10-secondHttpClient.Timeoutand wrapped the call intry/catch— failure returns an empty token and logs to debug instead of crashing.StartupModule.Configure(): Version check is now fire-and-forget viaTask.Run(VersionChecks), with aContinueWithhandler for fault logging. Warnings still surface during or after command execution without blocking startup.StartupModule.VersionChecks(): Wrapped body intry/catchfor additional resilience in background execution.Skip version check via env var: Set
cmf_cli_skip_version_check=trueto bypass the NPM check entirely — useful in air-gapped or latency-sensitive CI/CD pipelines (e.g. 15 CLI calls × 10s = 5min saved).Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
0t3vsblobprodcus362.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)1javsblobprodcus364.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)2zrvsblobprodcus388.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)37bvsblobprodcus311.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/805D52E7EE3FA52FA925C0777AB38A1A/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot(dns block)37cvsblobprodcus359.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)4m6vsblobprodcus384.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)4vyvsblobprodcus361.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)5dkvsblobprodcus355.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)6s7vsblobprodcus313.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/4F7589826F2A89155EECC7AE6AF07225/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot ame git(dns block)80zvsblobprodcus35.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/cli/cli/cmf-cli/resources/template_feed/iot/driver-dotnet-framework/src/%directoryname%/dotnet/Cmf.Connect.IoT.Driver.%driveridentifier%/Cmf.Connect.IoT.Driver.%driveridentifier%.csproj --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:AllowMissingPrunePackageData=true(dns block)bcnvsblobprodcus378.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/cli/cli/cmf-cli/resources/template_feed/iot/driver-dotnet-framework/src/%directoryname%/dotnet/Cmf.Connect.IoT.Driver.%driveridentifier%/Cmf.Connect.IoT.Driver.%driveridentifier%.csproj --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:AllowMissingPrunePackageData=true(dns block)c50vsblobprodcus330.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/CB3D70C1C3CCEDE61E9080295E05A90C/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot(dns block)c78vsblobprodcus322.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)ckzvsblobprodcus347.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/4FDC7FF0E07E7718C693F8BBB717A7B7/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot(dns block)dev.criticalmanufacturing.io/home/REDACTED/work/_temp/ghcca-node/node/bin/node node /home/REDACTED/work/_temp/ghcca-node/node/bin/npm install --ignore-scripts(dns block)fdpvsblobprodcus345.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/cli/cli/cmf-cli/resources/template_feed/iot/driver-dotnet-framework/src/%directoryname%/dotnet/Cmf.Connect.IoT.Driver.%driveridentifier%/Cmf.Connect.IoT.Driver.%driveridentifier%.csproj --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:AllowMissingPrunePackageData=true(dns block)frdvsblobprodcus327.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/cli/cli/cmf-cli/resources/template_feed/iot/driver-dotnet-framework/src/%directoryname%/dotnet/Cmf.Connect.IoT.Driver.%driveridentifier%/Cmf.Connect.IoT.Driver.%driveridentifier%.csproj --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:AllowMissingPrunePackageData=true(dns block)h6tvsblobprodcus346.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)i1qvsblobprodcus353.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/cli/cli/cmf-cli/resources/template_feed/iot/driver-dotnet-framework/src/%directoryname%/dotnet/Cmf.Connect.IoT.Driver.%driveridentifier%/Cmf.Connect.IoT.Driver.%driveridentifier%.csproj --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:AllowMissingPrunePackageData=true(dns block)imzvsblobprodcus368.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/5707D9CCD3909344C2384588AB311A3D/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot(dns block)/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/C5FB799EDCBCE6E42AAC137FC50336BD/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force dotn��(dns block)jd4vsblobprodcus366.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/805D52E7EE3FA52FA925C0777AB38A1A/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot(dns block)josvsblobprodcus372.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/4F7589826F2A89155EECC7AE6AF07225/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot ame git(dns block)kh4vsblobprodcus325.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/C5FB799EDCBCE6E42AAC137FC50336BD/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force dotn��(dns block)kijvsblobprodcus387.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/4F7589826F2A89155EECC7AE6AF07225/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot ame git(dns block)kmuvsblobprodcus389.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/4F7589826F2A89155EECC7AE6AF07225/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot ame git(dns block)kxqvsblobprodcus376.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)l49vsblobprodcus358.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)m6xvsblobprodcus342.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/4F7589826F2A89155EECC7AE6AF07225/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot ame git(dns block)n3kvsblobprodcus335.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/805D52E7EE3FA52FA925C0777AB38A1A/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot(dns block)p2ovsblobprodcus312.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/BEB87418A7BF3638F93672E958291CF3/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force dotn��(dns block)pc2vsblobprodcus360.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/9AD52665EE337AD34E199FEDA8966CF2/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ules��(dns block)pe3vsblobprodcus354.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/805D52E7EE3FA52FA925C0777AB38A1A/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot(dns block)pe4vsblobprodcus351.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)s8mvsblobprodcus38.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/E2EB9976A40F4DC5FBB271712D4D6FD6/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)sc4vsblobprodcus331.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)se1vsblobprodcus349.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)security.criticalmanufacturing.com/usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/cli/cli/tests/bin/Debug/net8.0/tests.runtimeconfig.json --depsfile /home/REDACTED/work/cli/cli/tests/bin/Debug/net8.0/tests.deps.json /home/REDACTED/work/cli/cli/tests/bin/Debug/net8.0/testhost.dll --port 44509 --endpoint 127.0.0.1:044509 --role client --parentprocessid 4972 --telemetryoptedin false(dns block)/usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/cli/cli/tests/bin/Debug/net8.0/tests.runtimeconfig.json --depsfile /home/REDACTED/work/cli/cli/tests/bin/Debug/net8.0/tests.deps.json /home/REDACTED/work/cli/cli/tests/bin/Debug/net8.0/testhost.dll --port 46831 --endpoint 127.0.0.1:046831 --role client --parentprocessid 5746 --telemetryoptedin false(dns block)/usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/cli/cli/tests/bin/Debug/net8.0/tests.runtimeconfig.json --depsfile /home/REDACTED/work/cli/cli/tests/bin/Debug/net8.0/tests.deps.json /home/REDACTED/work/cli/cli/tests/bin/Debug/net8.0/testhost.dll --port 33989 --endpoint 127.0.0.1:033989 --role client --parentprocessid 13085 --telemetryoptedin false(dns block)u3hvsblobprodcus371.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)uy6vsblobprodcus34.vsblob.vsassets.io/usr/bin/dotnet dotnet restore cmf-cli.sln(dns block)x3yvsblobprodcus370.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/cli/cli/cmf-cli/resources/template_feed/iot/driver-dotnet-framework/src/%directoryname%/dotnet/Cmf.Connect.IoT.Driver.%driveridentifier%/Cmf.Connect.IoT.Driver.%driveridentifier%.csproj --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/emptyFakeDotnetRoot /p:AllowMissingPrunePackageData=true(dns block)xupvsblobprodcus332.vsblob.vsassets.io/tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/CB3D70C1C3CCEDE61E9080295E05A90C/missingpackages_workingdir --packages /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-230535457ed4531d/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
This section details on the original issue you should resolve
<issue_title>The cmf-cli startup very slow or even crash on even commands like --help</issue_title>
<issue_description>The situation happens on simple commands like cmf --help or any other command.
The main suspicious is linked to the cmf cli on startup making a request to know which is the latest version available.
On system where the network is very limited or even there is none to the internet, this might even crash. Below is an example of one of those crashes: