@@ -10,11 +10,7 @@ import { installExtension } from '../../common/workbenchCommands';
1010import { EnvironmentManagers , PythonProjectManager } from '../../internal.api' ;
1111import { getDefaultEnvManagerSetting , getDefaultPkgManagerSetting } from '../settings/settingHelpers' ;
1212
13- < < < << << smart - donkey
1413export const MANAGER_READY_TIMEOUT_MS = 30_000 ;
15- === === =
16- const MANAGER_READY_TIMEOUT_MS = 30_000 ;
17- >>> >>> > main
1814
1915interface ManagerReady extends Disposable {
2016 waitForEnvManager ( uris ?: Uri [ ] ) : Promise < void > ;
@@ -157,44 +153,6 @@ class ManagerReadyImpl implements ManagerReady {
157153 }
158154 }
159155
160- /**
161- * Wraps a deferred with a timeout so a missing/dead manager cannot block the API forever.
162- * On timeout the deferred is resolved (not rejected) so callers proceed with degraded results
163- * instead of hanging.
164- */
165- private _withTimeout ( deferred : Deferred < void > , managerId : string , kind : string ) : Promise < void > {
166- if ( deferred . completed ) {
167- return deferred . promise ;
168- }
169- return new Promise < void > ( ( resolve ) => {
170- const timer = setTimeout ( ( ) => {
171- if ( ! deferred . completed ) {
172- traceWarn (
173- `Timed out after ${ MANAGER_READY_TIMEOUT_MS / 1000 } s waiting for ${ kind } manager "${ managerId } " to register. ` +
174- `The manager may not be installed or its extension failed to activate. Proceeding without it. ` +
175- `To prevent this, check your "python-envs.defaultEnvManager" and "python-envs.pythonProjects" settings.` ,
176- ) ;
177- sendTelemetryEvent ( EventNames . MANAGER_READY_TIMEOUT , undefined , {
178- managerId,
179- managerKind : kind as 'environment' | 'package' ,
180- } ) ;
181- deferred . resolve ( ) ;
182- }
183- } , MANAGER_READY_TIMEOUT_MS ) ;
184-
185- deferred . promise . then (
186- ( ) => {
187- clearTimeout ( timer ) ;
188- resolve ( ) ;
189- } ,
190- ( ) => {
191- clearTimeout ( timer ) ;
192- resolve ( ) ;
193- } ,
194- ) ;
195- } ) ;
196- }
197-
198156 public dispose ( ) : void {
199157 this . disposables . forEach ( ( d ) => d . dispose ( ) ) ;
200158 this . envManagers . clear ( ) ;
@@ -207,11 +165,7 @@ class ManagerReadyImpl implements ManagerReady {
207165 }
208166 const deferred = createDeferred < void > ( ) ;
209167 this . envManagers . set ( managerId , deferred ) ;
210- < < < << << smart - donkey
211168 return withManagerTimeout ( deferred , managerId , 'environment' ) ;
212- === === =
213- return this . _withTimeout ( deferred , managerId , 'environment' ) ;
214- >>> > >>> main
215169 }
216170
217171 public async waitForEnvManager ( uris ?: Uri [ ] ) : Promise < void > {
@@ -260,11 +214,7 @@ class ManagerReadyImpl implements ManagerReady {
260214 }
261215 const deferred = createDeferred < void > ( ) ;
262216 this . pkgManagers . set ( managerId , deferred ) ;
263- << << << < smart - donkey
264217 return withManagerTimeout ( deferred , managerId , 'package' ) ;
265- === === =
266- return this . _withTimeout ( deferred , managerId , 'package ') ;
267- >>> >>> > main
268218 }
269219
270220 public async waitForPkgManager ( uris ?: Uri [ ] ) : Promise < void > {
0 commit comments