Skip to content

Commit 49ae8e1

Browse files
committed
Files Changed Overview- Logs cleaned up
1 parent 1c736c9 commit 49ae8e1

File tree

2 files changed

+36
-78
lines changed

2 files changed

+36
-78
lines changed

src/services/files-changed/FcoTextDocumentContentProvider.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ export class FcoTextDocumentContentProvider implements vscode.TextDocumentConten
2323
provideTextDocumentContent(uri: vscode.Uri): string {
2424
const content = this.contentStore.get(uri.path)
2525
if (!content) {
26-
console.warn(`FcoTextDocumentContentProvider: No content found for URI path: ${uri.path}`)
2726
return ""
2827
}
2928
return content
@@ -98,9 +97,7 @@ export class FcoTextDocumentContentProvider implements vscode.TextDocumentConten
9897
cleanup(uris: string[]): void {
9998
uris.forEach((uri) => {
10099
const key = uri.replace("fco-diff:", "")
101-
if (this.contentStore.delete(key)) {
102-
console.debug(`FcoTextDocumentContentProvider: Cleaned up content for ${key}`)
103-
}
100+
this.contentStore.delete(key)
104101
})
105102
}
106103

src/services/files-changed/FilesChangedMessageHandler.ts

Lines changed: 35 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ export class FilesChangedMessageHandler {
110110
try {
111111
await this.refreshEditedFile(task, uri)
112112
} catch (error) {
113-
this.provider.log(`FilesChanged: Failed to process queued file ${uri}: ${error}`)
113+
// Ignore queued file processing errors
114114
}
115115
}
116116
}
@@ -195,19 +195,13 @@ export class FilesChangedMessageHandler {
195195
}
196196

197197
if (enabled) {
198-
if (task) {
199-
try {
200-
await getCheckpointService(task)
201-
} catch (error) {
202-
this.provider.log(`FilesChanged: Failed to initialize checkpoint service: ${error}`)
203-
this.isEnabled = false
204-
return
205-
}
198+
if (task && !(await this.initializeCheckpointService(task))) {
199+
this.isEnabled = false
200+
return
206201
}
207202

208203
this.isEnabled = true
209204
this.markWaitingForTask(task, true)
210-
this.provider.log("FilesChanged: Enabled, waiting for next checkpoint to establish monitoring baseline")
211205
this.clearFilesChangedDisplay()
212206
await this.attachToTask(task)
213207
this.replayTaskChanges(task)
@@ -221,7 +215,6 @@ export class FilesChangedMessageHandler {
221215
}
222216
await this.attachToTask(undefined)
223217
this.clearFilesChangedDisplay()
224-
this.provider.log("FilesChanged: Disabled")
225218
}
226219
}
227220

@@ -331,30 +324,19 @@ export class FilesChangedMessageHandler {
331324
if (hasExistingFiles && hadQueued) {
332325
// Adding child files to existing parent files - preserve existing files
333326
manager.setBaseline(baseline)
334-
this.provider.log(
335-
`FilesChanged: Updated baseline to ${baseline}, preserving ${manager.getChanges().files.length} existing files`,
336-
)
337327
} else {
338328
// Starting fresh or no existing files - clear is appropriate
339329
manager.reset(baseline)
340-
this.provider.log(`FilesChanged: Reset to baseline ${baseline}`)
341330
}
342331
}
343332
this.markWaitingForTask(task, false)
344333

345334
if (hadQueued) {
346335
await this.drainQueuedUris(task, manager)
347-
this.provider.log(
348-
`FilesChanged: Processed queued Files Changed state after establishing baseline ${baseline ?? manager.getChanges().baseCheckpoint}`,
349-
)
350-
} else {
351-
this.provider.log(
352-
`FilesChanged: Established monitoring baseline at ${baseline ?? manager.getChanges().baseCheckpoint}`,
353-
)
354336
}
355337
this.postChanges(manager)
356338
} catch (error) {
357-
this.provider.log(`FilesChanged: Failed to process checkpoint event: ${error}`)
339+
this.provider.log(`FilesChanged: Failed to process checkpoint: ${error}`)
358340
}
359341
}
360342
if (task?.checkpointService?.on) {
@@ -406,7 +388,7 @@ export class FilesChangedMessageHandler {
406388
try {
407389
await this.handleFileEditBatch(listeningTask)
408390
} catch (error) {
409-
this.provider.log(`FilesChanged: batch refresh failed: ${error}`)
391+
// Batch refresh fallback is handled
410392
}
411393
}, debounceMs)
412394
}
@@ -558,19 +540,16 @@ export class FilesChangedMessageHandler {
558540
if (fileChangeData) {
559541
await this.showFileDiff(message.uri, fileChangeData)
560542
} else {
561-
console.warn(`FilesChangedMessageHandler: No file change data found for URI: ${message.uri}`)
562543
vscode.window.showInformationMessage(`No changes found for ${message.uri}`)
563544
}
564545
} catch (error) {
565-
console.error(`FilesChangedMessageHandler: Failed to open diff for ${message.uri}:`, error)
546+
this.provider.log(`FilesChanged: Failed to open diff: ${error}`)
566547
vscode.window.showErrorMessage(`Failed to open diff for ${message.uri}: ${error.message}`)
567548
}
568549
} else {
569-
console.warn(`FilesChangedMessageHandler: File change not found in changeset for URI: ${message.uri}`)
570550
vscode.window.showInformationMessage(`File change not found for ${message.uri}`)
571551
}
572552
} else {
573-
console.warn(`FilesChangedMessageHandler: Missing dependencies for viewDiff. URI: ${message.uri}`)
574553
vscode.window.showErrorMessage("Unable to view diff - missing required dependencies")
575554
}
576555
}
@@ -592,9 +571,6 @@ export class FilesChangedMessageHandler {
592571
{ preview: false },
593572
)
594573
} catch (fileError) {
595-
console.error(
596-
`Failed to open diff view: ${fileError instanceof Error ? fileError.message : String(fileError)}`,
597-
)
598574
vscode.window.showErrorMessage(
599575
`Failed to open diff view: ${fileError instanceof Error ? fileError.message : String(fileError)}`,
600576
)
@@ -641,14 +617,14 @@ export class FilesChangedMessageHandler {
641617
try {
642618
await vscode.window.tabGroups.close(tab)
643619
} catch (error) {
644-
this.provider.log(`FilesChanged: Error closing diff tab: ${error}`)
620+
// Ignore tab closing errors
645621
}
646622
}
647623

648624
// Clean up stored content
649625
fcoProvider.cleanupFile(filePath)
650626
} catch (error) {
651-
this.provider.log(`FilesChanged: Error during diff tab cleanup for ${filePath}: ${error}`)
627+
// Ignore cleanup errors
652628
}
653629
}
654630

@@ -664,21 +640,19 @@ export class FilesChangedMessageHandler {
664640

665641
// Accept the change
666642
manager.acceptChange(message.uri)
667-
this.provider.log(`FilesChanged: Accepted change for ${message.uri} in task ${task?.taskId ?? "unknown"}`)
668643
this.postChanges(manager)
669644

670645
// Open the modified file for user to see the accepted changes
671646
try {
672647
if (!task?.cwd) {
673-
this.provider.log(`FilesChanged: Cannot open file - no task or workspace available`)
674648
return
675649
}
676650
// Resolve relative path to absolute path within workspace
677651
const absolutePath = path.resolve(task.cwd, message.uri)
678652
const fileUri = vscode.Uri.file(absolutePath)
679653
await vscode.window.showTextDocument(fileUri, { preview: false })
680654
} catch (error) {
681-
this.provider.log(`FilesChanged: Could not open file after accept: ${error}`)
655+
// Ignore file open failures
682656
}
683657
}
684658

@@ -705,7 +679,6 @@ export class FilesChangedMessageHandler {
705679
}
706680

707681
manager.rejectChange(message.uri)
708-
this.provider.log(`FilesChanged: Rejected change for ${message.uri} in task ${task?.taskId ?? "unknown"}`)
709682
this.postChanges(manager)
710683

711684
// Open the reverted file (if it still exists after reject)
@@ -715,7 +688,7 @@ export class FilesChangedMessageHandler {
715688
const fileUri = vscode.Uri.file(absolutePath)
716689
await vscode.window.showTextDocument(fileUri, { preview: false })
717690
} catch (error) {
718-
this.provider.log(`FilesChanged: File may have been deleted after reject: ${error}`)
691+
// File may have been deleted after reject
719692
}
720693

721694
currentTask.fileContextTracker?.emit?.("user_edited", message.uri)
@@ -724,7 +697,6 @@ export class FilesChangedMessageHandler {
724697
// Still clean up diff tabs and UI even if revert failed
725698
await this.closeDiffTabsForFile(message.uri)
726699
manager.rejectChange(message.uri)
727-
this.provider.log(`FilesChanged: Rejected change for ${message.uri} in task ${task?.taskId ?? "unknown"}`)
728700
this.postChanges(manager)
729701
}
730702
}
@@ -736,7 +708,6 @@ export class FilesChangedMessageHandler {
736708
const nextBaseline = checkpointService?.getCurrentCheckpoint?.()
737709

738710
manager?.acceptAll()
739-
this.provider.log(`FilesChanged: Accepted all changes for task ${task?.taskId ?? "unknown"}`)
740711
this.prepareForNextCheckpoint(task, nextBaseline, manager)
741712
}
742713

@@ -763,19 +734,15 @@ export class FilesChangedMessageHandler {
763734
try {
764735
await this.revertFileToCheckpoint(fileChange.uri, fileChange.fromCheckpoint, checkpointService)
765736
} catch (error) {
766-
this.provider.log(`FilesChanged: Failed to revert ${fileChange.uri}: ${error}`)
737+
// Ignore individual file revert failures
767738
}
768739
}
769740

770741
manager.rejectAll()
771-
this.provider.log(
772-
`FilesChanged: Rejected ${filesToReject.length} change(s) for task ${task?.taskId ?? "unknown"}`,
773-
)
774742
this.prepareForNextCheckpoint(currentTask, undefined, manager)
775743
} catch (error) {
776744
this.provider.log(`FilesChanged: Failed to reject all changes: ${error}`)
777745
manager.rejectAll()
778-
this.provider.log(`FilesChanged: Rejected all remaining changes for task ${task?.taskId ?? "unknown"}`)
779746
this.prepareForNextCheckpoint(currentTask, undefined, manager)
780747
}
781748
}
@@ -789,7 +756,7 @@ export class FilesChangedMessageHandler {
789756
}
790757
this.postChanges(manager)
791758
} catch (error) {
792-
this.provider.log(`FilesChangedMessageHandler: Error handling filesChangedRequest: ${error}`)
759+
// Error handling files changed request
793760
}
794761
}
795762

@@ -807,7 +774,7 @@ export class FilesChangedMessageHandler {
807774
this.prepareForNextCheckpoint(task, message.baseline, manager)
808775
}
809776
} catch (error) {
810-
this.provider.log(`FilesChangedMessageHandler: Failed to update baseline: ${error}`)
777+
// Failed to update baseline
811778
}
812779
}
813780

@@ -821,6 +788,23 @@ export class FilesChangedMessageHandler {
821788
await this.applyExperimentsToTask(this.provider.getCurrentTask() as Task | undefined)
822789
}
823790

791+
/**
792+
* Safely initialize checkpoint service with error logging
793+
*/
794+
private async initializeCheckpointService(task: Task | undefined): Promise<boolean> {
795+
if (!task) {
796+
return false
797+
}
798+
799+
try {
800+
await getCheckpointService(task)
801+
return true
802+
} catch (error) {
803+
this.provider.log(`FilesChanged: Failed to initialize checkpoint service: ${error}`)
804+
return false
805+
}
806+
}
807+
824808
public async applyExperimentsToTask(task: Task | undefined): Promise<void> {
825809
const state = await this.provider.getState()
826810
const shouldBeEnabled = experiments.isEnabled(state?.experiments ?? {}, EXPERIMENT_IDS.FILES_CHANGED_OVERVIEW)
@@ -838,10 +822,7 @@ export class FilesChangedMessageHandler {
838822
return
839823
}
840824

841-
try {
842-
await getCheckpointService(task)
843-
} catch (error) {
844-
this.provider.log(`FilesChanged: Failed to initialize checkpoint service: ${error}`)
825+
if (!(await this.initializeCheckpointService(task))) {
845826
return
846827
}
847828

@@ -918,8 +899,6 @@ export class FilesChangedMessageHandler {
918899

919900
this.postChanges(manager)
920901
} catch (error) {
921-
this.provider.log(`FilesChanged: Failed to refresh ${filePath}: ${error}`)
922-
923902
// If we get "bad object" errors, reset FCO state to wait for next checkpoint
924903
if (
925904
error &&
@@ -976,11 +955,8 @@ export class FilesChangedMessageHandler {
976955
manager.upsertFile(mapped)
977956
}
978957
}
979-
980958
// Single UI update for entire batch
981959
this.postChanges(manager)
982-
983-
this.provider.log(`FilesChanged: Batch processed ${filePaths.length} files in single operation`)
984960
} catch (error) {
985961
this.provider.log(`FilesChanged: Failed to batch refresh files: ${error}`)
986962

@@ -989,7 +965,7 @@ export class FilesChangedMessageHandler {
989965
try {
990966
await this.refreshEditedFile(task, filePath)
991967
} catch (individualError) {
992-
this.provider.log(`FilesChanged: Failed to refresh ${filePath}: ${individualError}`)
968+
// Individual refresh errors handled in refreshEditedFile
993969
}
994970
}
995971
}
@@ -1027,7 +1003,7 @@ export class FilesChangedMessageHandler {
10271003

10281004
this.postChanges(manager)
10291005
} catch (error) {
1030-
this.provider.log(`FilesChanged: Failed to refresh changes from baseline: ${error}`)
1006+
// Failed to refresh changes from baseline
10311007
}
10321008
}
10331009

@@ -1099,7 +1075,6 @@ export class FilesChangedMessageHandler {
10991075
this.markWaitingForTask(task, true)
11001076
this.clearFilesChangedDisplay()
11011077
const suffix = baselineHint ? ` (${baselineHint})` : ""
1102-
this.provider.log(`FilesChanged: Cleared state; waiting for next checkpoint${suffix} to re-establish baseline`)
11031078
}
11041079

11051080
public async handleChildTaskCompletion(childTask: Task | undefined, parentTask: Task | undefined): Promise<void> {
@@ -1119,17 +1094,10 @@ export class FilesChangedMessageHandler {
11191094
childTask.checkpointService.baseHash ||
11201095
childTask.checkpointService.getCurrentCheckpoint?.()
11211096

1122-
if (!fallbackBaseline) {
1123-
this.provider.log(
1124-
`FilesChanged: No baseline available for fallback diff on subtask ${childTask.taskId}`,
1125-
)
1126-
} else {
1097+
if (fallbackBaseline) {
11271098
const checkpointDiff = await childTask.checkpointService.getDiff({ from: fallbackBaseline })
11281099
if (checkpointDiff && checkpointDiff.length > 0) {
11291100
pendingUris = checkpointDiff.map((diff: any) => diff.paths.relative)
1130-
this.provider.log(
1131-
`FilesChanged: Fallback detected ${pendingUris.length} file(s) from subtask ${childTask.taskId} via diff from ${fallbackBaseline}`,
1132-
)
11331101
}
11341102
}
11351103
} catch (error) {
@@ -1156,9 +1124,6 @@ export class FilesChangedMessageHandler {
11561124
}
11571125

11581126
if (!this.isEnabled) {
1159-
this.provider.log(
1160-
`FilesChanged: Ignored queued files from subtask ${childTaskId} because FilesChanged is disabled`,
1161-
)
11621127
return
11631128
}
11641129

@@ -1168,9 +1133,5 @@ export class FilesChangedMessageHandler {
11681133
if (!this.isWaitingForTask(parentTask)) {
11691134
void this.drainQueuedUris(parentTask)
11701135
}
1171-
1172-
this.provider.log(
1173-
`FilesChanged: Queued ${childFileUris.length} file(s) from subtask ${childTaskId} for parent ${parentTask.taskId}`,
1174-
)
11751136
}
11761137
}

0 commit comments

Comments
 (0)