@@ -36,6 +36,8 @@ export async function getCheckpointService(
3636 }
3737 }
3838
39+ console . log ( "[Task#getCheckpointService] initializing checkpoints service" )
40+
3941 try {
4042 const workspaceDir = getWorkspacePath ( )
4143
@@ -63,35 +65,28 @@ export async function getCheckpointService(
6365 await pWaitFor (
6466 ( ) => {
6567 console . log ( "[Task#getCheckpointService] waiting for service to initialize" )
66- return cline . checkpointService ?. isInitialized === true
68+ return ! ! cline . checkpointService && ! ! cline ?. checkpointService ?. isInitialized
6769 } ,
6870 { interval, timeout } ,
6971 )
72+ if ( cline ?. checkpointService ?. isInitialized !== true ) {
73+ cline . enableCheckpoints = false
74+ return undefined
75+ }
7076 return cline . checkpointService
7177 }
7278 if ( ! cline . enableCheckpoints ) {
7379 return undefined
7480 }
75- console . log ( "[Task#getCheckpointService] initializing checkpoints service" )
76- cline . checkpointServiceInitializing = true
7781 const service = RepoPerTaskCheckpointService . create ( options )
82+ cline . checkpointServiceInitializing = true
83+ await checkGitInstallation ( cline , service , log , provider )
7884 cline . checkpointService = service
79-
80- // Check if Git is installed before initializing the service
81- // Only assign the service after successful initialization
82- try {
83- await checkGitInstallation ( cline , service , log , provider )
84- return service
85- } catch ( err ) {
86- // Clean up on failure
87- cline . enableCheckpoints = false
88- cline . checkpointServiceInitializing = false
89- cline . checkpointService = undefined
90- throw err
91- }
85+ return service
9286 } catch ( err ) {
9387 log ( `[Task#getCheckpointService] ${ err . message } ` )
9488 cline . enableCheckpoints = false
89+ cline . checkpointServiceInitializing = false
9590 return undefined
9691 }
9792}
@@ -170,13 +165,6 @@ export async function checkpointSave(cline: Task, force = false) {
170165 return
171166 }
172167
173- if ( ! service . isInitialized ) {
174- const provider = cline . providerRef . deref ( )
175- provider ?. log ( "[checkpointSave] checkpoints didn't initialize in time, disabling checkpoints for this task" )
176- cline . enableCheckpoints = false
177- return
178- }
179-
180168 TelemetryService . instance . captureCheckpointCreated ( cline . taskId )
181169
182170 // Start the checkpoint process in the background.
0 commit comments