@@ -76,11 +76,14 @@ export function CodeEngine({
7676 setIsLoading ( true ) ;
7777 const project = await pollChatProject ( chatId ) ;
7878 if ( project ) {
79- setLocalProject ( project ) ;
8079 // 如果成功加载项目,将状态设置为已完成
8180 if ( project . projectPath ) {
81+ setLocalProject ( project ) ;
8282 setProjectCompleted ( true ) ;
8383 isProjectLoadedRef . current = true ;
84+ fetchFiles ( ) ;
85+ } else {
86+ setLocalProject ( project ) ;
8487 }
8588 }
8689 } catch ( error ) {
@@ -340,24 +343,23 @@ export function CodeEngine({
340343 setTimerActive ( false ) ;
341344 setIsCompleting ( false ) ;
342345 setProjectCompleted ( true ) ;
343- // 同时更新ref以持久记住完成状态
344346 isProjectLoadedRef . current = true ;
345-
346- // 可选:在完成时将状态保存到localStorage
347347 try {
348348 localStorage . setItem ( `project-completed-${ chatId } ` , 'true' ) ;
349349 } catch ( e ) {
350- // 忽略localStorage错误
350+ logger . error ( 'Failed to save project completion status:' , e ) ;
351351 }
352352 } , 800 ) ;
353353 } , 500 ) ;
354354
355355 return ( ) => clearTimeout ( completionTimer ) ;
356- } else if (
356+ }
357+ if (
357358 showLoader &&
358359 ! timerActive &&
359360 ! projectCompleted &&
360- ! isProjectLoadedRef . current
361+ ! isProjectLoadedRef . current &&
362+ estimateTime > 1
361363 ) {
362364 // 只有在项目未被标记为完成时才重置
363365 setTimerActive ( true ) ;
@@ -374,8 +376,9 @@ export function CodeEngine({
374376 interval = setInterval ( ( ) => {
375377 setEstimateTime ( ( prevTime ) => {
376378 if ( prevTime <= 1 ) {
377- return initialTime ;
379+ return 1 ;
378380 }
381+
379382 const elapsedTime = initialTime - prevTime + 1 ;
380383 const newProgress = Math . min (
381384 Math . floor ( ( elapsedTime / initialTime ) * 100 ) ,
@@ -464,6 +467,11 @@ export function CodeEngine({
464467 } }
465468 />
466469 </ div >
470+ { estimateTime <= 1 && ! projectCompleted && (
471+ < p className = "text-sm text-muted-foreground mt-1" >
472+ Hang tight, almost there...
473+ </ p >
474+ ) }
467475 </ div >
468476
469477 { /* 添加不同阶段的消息 */ }
0 commit comments