Skip to content
Closed
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a35c678
feat: Implement Files Changed Overview
playcations Jun 23, 2025
e0f1793
fix(core): resolve latent bugs in telemetry and webview CSP
playcations Jun 24, 2025
0f126e2
fix(files-changed): critical fixes for FilesChangedOverview feature
playcations Jun 27, 2025
592b98e
fix(files-changed): apply comprehensive fixes for FilesChangedOvervie…
playcations Jun 27, 2025
9b0011c
Merge branch 'main' into feature/files-changed-overview
playcations Jun 28, 2025
2e39d51
merge: integrate main branch changes with FilesChangedOverview feature
playcations Jun 28, 2025
d96871c
fix(checkpoints): correct nested git repository detection logic
playcations Jun 28, 2025
895d3f0
fix(checkpoints): remove unnecessary nested git repository detection
playcations Jun 28, 2025
06153a3
swapped locations of accept and reject buttons
playcations Jun 28, 2025
232ae14
fixed ts errors
playcations Jun 28, 2025
e39757d
fix(file-changes): ensure all file change updates are persisted
playcations Jun 28, 2025
eb4d960
remove package-lock.json (project uses pnpm-lock.yaml)
playcations Jun 28, 2025
78849b5
refactor: move file change components to dedicated directory
playcations Jun 28, 2025
0abe985
Moved files to proper file structure.
playcations Jun 28, 2025
fd3d2a0
Fix FileChangeManager initialization timing and duplicate checkpoint …
playcations Jun 28, 2025
d6474a1
Testing and localization added.
playcations Jul 1, 2025
cd0f506
Merge branch 'feature/files-changed-overview'
playcations Jul 1, 2025
bedbe33
Added settings to enable filesChangedManager and display count.
playcations Jul 4, 2025
5967a60
Settings changes
playcations Jul 4, 2025
52900cf
bug fixes
playcations Jul 4, 2025
86add68
settings bug fixes.
playcations Jul 4, 2025
afaf431
Merge main into feature/files-changed-overview
playcations Jul 4, 2025
7a2887a
Updated the localization to include missing languages and added setti…
playcations Jul 5, 2025
149ea1c
clean up
playcations Jul 5, 2025
0bc3918
more dependency cleanup, removed unused file
playcations Jul 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ logs
.qodo/
.vercel
.roo/mcp.json
CLAUDE.md
3 changes: 2 additions & 1 deletion apps/web-roo-code/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
"@types/react-dom": "^18.3.7",
"autoprefixer": "^10.4.21",
"postcss": "^8.5.4",
"tailwindcss": "^3.4.17"
"tailwindcss": "^3.4.17",
"tsx": "^4.19.3"
}
}
74 changes: 38 additions & 36 deletions locales/ca/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/de/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/es/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/fr/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/hi/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/id/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/it/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/ja/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/ko/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/nl/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/pl/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/pt-BR/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/ru/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/tr/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/vi/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/zh-CN/README.md

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions locales/zh-TW/README.md

Large diffs are not rendered by default.

21 changes: 15 additions & 6 deletions packages/telemetry/src/PostHogTelemetryClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { BaseTelemetryClient } from "./BaseTelemetryClient"
* Respects user privacy settings and VSCode's global telemetry configuration.
*/
export class PostHogTelemetryClient extends BaseTelemetryClient {
private client: PostHog
private client?: PostHog
private distinctId: string = vscode.env.machineId
// Git repository properties that should be filtered out
private readonly gitPropertyNames = ["repositoryUrl", "repositoryName", "defaultBranch"]
Expand All @@ -25,7 +25,12 @@ export class PostHogTelemetryClient extends BaseTelemetryClient {
debug,
)

this.client = new PostHog(process.env.POSTHOG_API_KEY || "", { host: "https://us.i.posthog.com" })
const apiKey = process.env.POSTHOG_API_KEY
if (apiKey) {
this.client = new PostHog(apiKey, { host: "https://us.i.posthog.com" })
} else {
console.warn("[PostHogTelemetryClient] POSTHOG_API_KEY is not set. Telemetry will be disabled.")
}
}

/**
Expand All @@ -42,11 +47,10 @@ export class PostHogTelemetryClient extends BaseTelemetryClient {
}

public override async capture(event: TelemetryEvent): Promise<void> {
if (!this.isTelemetryEnabled() || !this.isEventCapturable(event.event)) {
if (this.debug) {
if (!this.client || !this.isTelemetryEnabled() || !this.isEventCapturable(event.event)) {
if (this.debug && this.client) {
console.info(`[PostHogTelemetryClient#capture] Skipping event: ${event.event}`)
}

return
}

Expand Down Expand Up @@ -80,6 +84,9 @@ export class PostHogTelemetryClient extends BaseTelemetryClient {
}

// Update PostHog client state based on telemetry preference.
if (!this.client) {
return
}
if (this.telemetryEnabled) {
this.client.optIn()
} else {
Expand All @@ -88,6 +95,8 @@ export class PostHogTelemetryClient extends BaseTelemetryClient {
}

public override async shutdown(): Promise<void> {
await this.client.shutdown()
if (this.client) {
await this.client.shutdown()
}
}
}
21 changes: 21 additions & 0 deletions packages/types/src/file-changes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
export type FileChangeType = "create" | "delete" | "edit"

export interface FileChange {
uri: string
type: FileChangeType
// Note: Checkpoint hashes are for backend use, but can be included
fromCheckpoint: string
toCheckpoint: string
// Line count information for display
linesAdded?: number
linesRemoved?: number
}

/**
* Represents the set of file changes for the webview.
* The `files` property is an array for easy serialization.
*/
export interface FileChangeset {
baseCheckpoint: string
files: FileChange[]
}
1 change: 1 addition & 0 deletions packages/types/src/global-settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ export const globalSettingsSchema = z.object({
historyPreviewCollapsed: z.boolean().optional(),
profileThresholds: z.record(z.string(), z.number()).optional(),
hasOpenedModeSelector: z.boolean().optional(),
filesChangedEnabled: z.boolean().optional(),
lastModeExportPath: z.string().optional(),
lastModeImportPath: z.string().optional(),
})
Expand Down
1 change: 1 addition & 0 deletions packages/types/src/history.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export const historyItemSchema = z.object({
totalCost: z.number(),
size: z.number().optional(),
workspace: z.string().optional(),
filesChanged: z.number().optional(),
})

export type HistoryItem = z.infer<typeof historyItemSchema>
2 changes: 2 additions & 0 deletions packages/types/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ export * from "./terminal.js"
export * from "./tool.js"
export * from "./type-fu.js"
export * from "./vscode.js"

export * from "./file-changes.js"
1 change: 1 addition & 0 deletions packages/types/src/message.ts
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ export const clineSays = [
"condense_context",
"condense_context_error",
"codebase_search_result",
"files_changed",
] as const

export const clineSaySchema = z.enum(clineSays)
Expand Down
Loading
Loading