@@ -2266,21 +2266,108 @@ export const webviewMessageHandler = async (
22662266 }
22672267 if ( manager . isFeatureEnabled && manager . isFeatureConfigured ) {
22682268 if ( ! manager . isInitialized ) {
2269- await manager . initialize ( provider . contextProxy )
2269+ try {
2270+ await manager . initialize ( provider . contextProxy )
2271+ } catch ( initError ) {
2272+ // Initialization failed - send detailed error to user
2273+ const errorMessage = initError instanceof Error ? initError . message : String ( initError )
2274+ provider . log ( `Code index initialization failed: ${ errorMessage } ` )
2275+
2276+ // Send error status to webview with user-friendly message
2277+ provider . postMessageToWebview ( {
2278+ type : "indexingStatusUpdate" ,
2279+ values : {
2280+ systemStatus : "Error" ,
2281+ message : errorMessage ,
2282+ processedItems : 0 ,
2283+ totalItems : 0 ,
2284+ currentItemUnit : "items" ,
2285+ } ,
2286+ } )
2287+
2288+ // Show error notification to user
2289+ vscode . window . showErrorMessage (
2290+ t ( "embeddings:validation.initializationFailed" , { error : errorMessage } ) ||
2291+ `Code indexing initialization failed: ${ errorMessage } ` ,
2292+ )
2293+ return
2294+ }
22702295 }
22712296
22722297 // startIndexing now handles error recovery internally
22732298 manager . startIndexing ( )
22742299
22752300 // If startIndexing recovered from error, we need to reinitialize
22762301 if ( ! manager . isInitialized ) {
2277- await manager . initialize ( provider . contextProxy )
2278- // Try starting again after initialization
2279- manager . startIndexing ( )
2302+ try {
2303+ await manager . initialize ( provider . contextProxy )
2304+ // Try starting again after initialization
2305+ manager . startIndexing ( )
2306+ } catch ( reinitError ) {
2307+ // Re-initialization failed - send detailed error to user
2308+ const errorMessage =
2309+ reinitError instanceof Error ? reinitError . message : String ( reinitError )
2310+ provider . log ( `Code index re-initialization failed: ${ errorMessage } ` )
2311+
2312+ // Send error status to webview
2313+ provider . postMessageToWebview ( {
2314+ type : "indexingStatusUpdate" ,
2315+ values : {
2316+ systemStatus : "Error" ,
2317+ message : errorMessage ,
2318+ processedItems : 0 ,
2319+ totalItems : 0 ,
2320+ currentItemUnit : "items" ,
2321+ } ,
2322+ } )
2323+
2324+ // Show error notification to user
2325+ vscode . window . showErrorMessage (
2326+ t ( "embeddings:validation.initializationFailed" , { error : errorMessage } ) ||
2327+ `Code indexing initialization failed: ${ errorMessage } ` ,
2328+ )
2329+ }
22802330 }
2331+ } else {
2332+ // Feature is not enabled or not configured
2333+ const message = ! manager . isFeatureEnabled
2334+ ? t ( "embeddings:validation.featureDisabled" ) || "Code indexing is disabled"
2335+ : t ( "embeddings:validation.notConfigured" ) || "Code indexing is not properly configured"
2336+
2337+ provider . postMessageToWebview ( {
2338+ type : "indexingStatusUpdate" ,
2339+ values : {
2340+ systemStatus : "Error" ,
2341+ message : message ,
2342+ processedItems : 0 ,
2343+ totalItems : 0 ,
2344+ currentItemUnit : "items" ,
2345+ } ,
2346+ } )
2347+
2348+ vscode . window . showErrorMessage ( message )
22812349 }
22822350 } catch ( error ) {
2283- provider . log ( `Error starting indexing: ${ error instanceof Error ? error . message : String ( error ) } ` )
2351+ const errorMessage = error instanceof Error ? error . message : String ( error )
2352+ provider . log ( `Error starting indexing: ${ errorMessage } ` )
2353+
2354+ // Send error status to webview
2355+ provider . postMessageToWebview ( {
2356+ type : "indexingStatusUpdate" ,
2357+ values : {
2358+ systemStatus : "Error" ,
2359+ message : errorMessage ,
2360+ processedItems : 0 ,
2361+ totalItems : 0 ,
2362+ currentItemUnit : "items" ,
2363+ } ,
2364+ } )
2365+
2366+ // Show error notification to user
2367+ vscode . window . showErrorMessage (
2368+ t ( "embeddings:validation.startIndexingFailed" , { error : errorMessage } ) ||
2369+ `Failed to start indexing: ${ errorMessage } ` ,
2370+ )
22842371 }
22852372 break
22862373 }
0 commit comments