Skip to content

Commit 2de3ec5

Browse files
committed
Merge branch 'dev'
2 parents 733db19 + 99bca73 commit 2de3ec5

13 files changed

Lines changed: 70 additions & 105 deletions

File tree

‎packages/ui/src/components/editor/panel/ResponsePreview/ResponsePreview.module.scss‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.container {
22
display: flex;
33
flex-direction: column;
4-
padding-top: var(--padding-4px);
4+
padding: var(--padding-4px) 0 var(--padding-8px) 0;
55
gap: var(--padding-8px);
66
}
77

@@ -23,10 +23,9 @@
2323
.instructions {
2424
position: relative;
2525
padding: var(--padding-5px) var(--padding-7px);
26-
color: var(--vscode-descriptionForeground);
2726
border: 1px solid var(--vscode-sideBarSectionHeader-border);
2827
margin: 0 var(--padding-12px);
29-
border-radius: var(--border-radius-5px);
28+
border-radius: var(--border-radius-10px);
3029
word-wrap: break-word;
3130
overflow: hidden;
3231
display: -webkit-box;
@@ -48,8 +47,12 @@
4847
display: block;
4948

5049
&__text {
50+
color: var(--vscode-descriptionForeground);
5151
font-size: var(--font-size-12px);
5252
margin: var(--padding-6px) var(--padding-12px);
53+
background: var(--vscode-list-hoverBackground);
54+
padding: var(--padding-5px) var(--padding-7px);
55+
border-radius: var(--border-radius-8px);
5356
}
5457

5558
> div:first-child {

‎packages/vscode/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "gemini-coder",
33
"displayName": "Code Web Chat",
44
"description": "Blazing fast AI pair programming for production-grade code. Select context as you go for game-changing accuracy and speed. (CWC)",
5-
"version": "1.501.0",
5+
"version": "1.502.0",
66
"scripts": {
77
"build": "npx vsce package --no-dependencies",
88
"vscode:prepublish": "rimraf out && npm run compile",

‎packages/vscode/src/commands/apply-chat-response-command/apply-chat-response-command.ts‎

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@ import * as vscode from 'vscode'
22
import * as fs from 'fs'
33
import {
44
create_checkpoint,
5-
create_temporary_checkpoint,
6-
delete_checkpoint,
7-
promote_temporary_checkpoint
5+
delete_checkpoint
86
} from '../checkpoints-command/actions'
97
import { FileInPreview } from '@shared/types/file-in-preview'
108
import { PanelProvider } from '@/views/panel/backend/panel-provider'
119
import { dictionary } from '@shared/constants/dictionary'
1210
import { WorkspaceProvider } from '@/context/providers/workspace-provider'
13-
import { code_review_promise_resolve } from './utils/preview/preview'
11+
import { response_preview_promise_resolve } from './utils/preview/preview'
1412
import { get_diff_stats } from './utils/preview/diff-utils'
1513
import { create_safe_path } from '@/utils/path-sanitizer'
1614
import {
@@ -51,15 +49,15 @@ export const apply_chat_response_command = (
5149
return
5250
}
5351

54-
if (code_review_promise_resolve) {
52+
if (response_preview_promise_resolve) {
5553
const choice = await vscode.window.showWarningMessage(
5654
dictionary.warning_message.REVIEW_ONGOING,
5755
{ modal: true },
5856
'Switch'
5957
)
6058

6159
if (choice == 'Switch') {
62-
code_review_promise_resolve({ accepted_files: [] })
60+
response_preview_promise_resolve({ accepted_files: [] })
6361
if (ongoing_review_cleanup_promise) {
6462
await ongoing_review_cleanup_promise
6563
}
@@ -69,10 +67,18 @@ export const apply_chat_response_command = (
6967
}
7068
}
7169

72-
let temp_checkpoint: Checkpoint | undefined
70+
let before_checkpoint: Checkpoint | undefined
7371
try {
74-
temp_checkpoint = await create_temporary_checkpoint(workspace_provider)
72+
before_checkpoint = await create_checkpoint(
73+
workspace_provider,
74+
context,
75+
'Before applying changes',
76+
args?.raw_instructions
77+
)
7578

79+
if (!before_checkpoint) {
80+
return
81+
}
7682
const review_data = await process_chat_response(
7783
args,
7884
chat_response,
@@ -165,35 +171,24 @@ export const apply_chat_response_command = (
165171
})
166172

167173
if (changes_accepted) {
168-
try {
169-
if (temp_checkpoint) {
170-
await promote_temporary_checkpoint({
171-
context,
172-
temp_checkpoint,
173-
title: 'Before changes approved',
174-
description: args?.raw_instructions
175-
})
176-
temp_checkpoint = undefined
177-
}
178-
} finally {
179-
await create_checkpoint(
180-
workspace_provider,
181-
context,
182-
'After changes approved',
183-
args?.raw_instructions
184-
)
185-
}
174+
await create_checkpoint(
175+
workspace_provider,
176+
context,
177+
'After changes approved',
178+
args?.raw_instructions
179+
)
180+
before_checkpoint = undefined
186181
}
187182
}
188183
} catch (err: any) {
189184
vscode.window.showErrorMessage(
190185
`An error occurred while applying changes: ${err.message}`
191186
)
192187
} finally {
193-
if (temp_checkpoint) {
188+
if (before_checkpoint) {
194189
await delete_checkpoint({
195190
context,
196-
checkpoint_to_delete: temp_checkpoint
191+
checkpoint_to_delete: before_checkpoint
197192
})
198193
}
199194
}

‎packages/vscode/src/commands/apply-chat-response-command/utils/preview/preview.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { close_review_diff_editors, show_diff_with_actions } from './vscode-ui'
1313
import { PreparedFile, ReviewableFile } from './types'
1414
import { ItemInPreview } from '@shared/types/file-in-preview'
1515

16-
export { code_review_promise_resolve } from './vscode-ui'
16+
export { response_preview_promise_resolve } from './vscode-ui'
1717
export { toggle_file_review_state } from './workspace-listener'
1818

1919
export const preview = async (params: {

‎packages/vscode/src/commands/apply-chat-response-command/utils/preview/vscode-ui.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as vscode from 'vscode'
22
import * as path from 'path'
33
import { CodeReviewDecision, CodeReviewResult, PreparedFile } from './types'
44

5-
export let code_review_promise_resolve:
5+
export let response_preview_promise_resolve:
66
| ((decision: CodeReviewDecision) => void)
77
| undefined
88

@@ -45,7 +45,7 @@ export const show_diff_with_actions = async (
4545
)
4646

4747
return new Promise<CodeReviewResult>((resolve) => {
48-
code_review_promise_resolve = async (decision) => {
48+
response_preview_promise_resolve = async (decision) => {
4949
let final_content = ''
5050
try {
5151
const right_doc = await vscode.workspace.openTextDocument(right_doc_uri)
@@ -59,6 +59,6 @@ export const show_diff_with_actions = async (
5959
})
6060
}
6161
}).finally(() => {
62-
code_review_promise_resolve = undefined
62+
response_preview_promise_resolve = undefined
6363
})
6464
}

‎packages/vscode/src/commands/apply-chat-response-command/utils/preview/workspace-listener.ts‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ export const setup_workspace_listeners = (
117117
.createHash('md5')
118118
.update(sanitized_file_path)
119119
.digest('hex')
120-
const temp_filename = `cwc-review-${hash}.tmp`
120+
const temp_filename = `cwc-${hash}.tmp`
121121
const temp_file_path = path.join(os.tmpdir(), temp_filename)
122122
const is_deleted =
123123
!is_new && new_content == '' && original_content != ''
@@ -194,7 +194,7 @@ export const setup_workspace_listeners = (
194194
.createHash('md5')
195195
.update(sanitized_file_path)
196196
.digest('hex')
197-
const temp_filename = `cwc-review-${hash}.tmp`
197+
const temp_filename = `cwc-${hash}.tmp`
198198
const temp_file_path = path.join(os.tmpdir(), temp_filename)
199199

200200
const reviewable_file: ReviewableFile = {
@@ -286,7 +286,7 @@ export const setup_workspace_listeners = (
286286
.createHash('md5')
287287
.update(sanitized_file_path)
288288
.digest('hex')
289-
const temp_filename = `cwc-review-${hash}.tmp`
289+
const temp_filename = `cwc-${hash}.tmp`
290290
const temp_file_path = path.join(os.tmpdir(), temp_filename)
291291

292292
const reviewable_file: ReviewableFile = {
@@ -386,7 +386,7 @@ export const setup_workspace_listeners = (
386386
.createHash('md5')
387387
.update(oldSanitized)
388388
.digest('hex')
389-
const oldTemp = path.join(os.tmpdir(), `cwc-review-${oldHash}.tmp`)
389+
const oldTemp = path.join(os.tmpdir(), `cwc-${oldHash}.tmp`)
390390

391391
const deleted_diff_stats = get_diff_stats({
392392
original_content: existing.original_content,
@@ -447,7 +447,7 @@ export const setup_workspace_listeners = (
447447
.createHash('md5')
448448
.update(newSanitized)
449449
.digest('hex')
450-
const newTemp = path.join(os.tmpdir(), `cwc-review-${newHash}.tmp`)
450+
const newTemp = path.join(os.tmpdir(), `cwc-${newHash}.tmp`)
451451

452452
const create_diff_stats = get_diff_stats({
453453
original_content: '',
@@ -478,7 +478,7 @@ export const setup_workspace_listeners = (
478478
.createHash('md5')
479479
.update(oldSanitized)
480480
.digest('hex')
481-
const oldTemp = path.join(os.tmpdir(), `cwc-review-${oldHash}.tmp`)
481+
const oldTemp = path.join(os.tmpdir(), `cwc-${oldHash}.tmp`)
482482

483483
const deleted_diff_stats = get_diff_stats({
484484
original_content: new_content,

‎packages/vscode/src/commands/checkpoints-command/actions/create-checkpoint.ts‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export const create_checkpoint = async (
2020
context: vscode.ExtensionContext,
2121
title: string = 'Created by user',
2222
description?: string
23-
): Promise<boolean> => {
23+
): Promise<Checkpoint | undefined> => {
2424
try {
2525
const timestamp = Date.now()
2626
const workspace_folders = vscode.workspace.workspaceFolders!
@@ -30,6 +30,8 @@ export const create_checkpoint = async (
3030
)
3131
const all_folders_use_git = folder_git_statuses.every((status) => status)
3232

33+
let new_checkpoint: Checkpoint | undefined
34+
3335
const create_checkpoint_task = async () => {
3436
await vscode.workspace.saveAll()
3537
const checkpoint_dir_path = get_checkpoint_path(timestamp)
@@ -98,16 +100,17 @@ export const create_checkpoint = async (
98100
checkpoints
99101
)
100102

101-
const new_checkpoint: Checkpoint = {
103+
const checkpoint_object: Checkpoint = {
102104
title,
103105
timestamp,
104106
description: final_description,
105107
uses_git,
106108
git_data: Object.keys(git_data).length > 0 ? git_data : undefined
107109
}
108110

109-
checkpoints.unshift(new_checkpoint)
111+
checkpoints.unshift(checkpoint_object)
110112
await context.workspaceState.update(CHECKPOINTS_STATE_KEY, checkpoints)
113+
new_checkpoint = checkpoint_object
111114
}
112115

113116
if (all_folders_use_git) {
@@ -122,11 +125,11 @@ export const create_checkpoint = async (
122125
create_checkpoint_task
123126
)
124127
}
125-
return true
128+
return new_checkpoint
126129
} catch (err: any) {
127130
vscode.window.showErrorMessage(
128131
`Failed to create checkpoint: ${err.message}`
129132
)
130-
return false
133+
return undefined
131134
}
132135
}

‎packages/vscode/src/commands/checkpoints-command/actions/index.ts‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,5 @@ export * from './create-checkpoint'
22
export * from './create-temporary-checkpoint'
33
export * from './delete-checkpoint'
44
export * from './get-checkpoints'
5-
export * from './promote-temporary-checkpoint'
65
export * from './restore-checkpoint'
76
export * from './sync-workspace-from-dir'

‎packages/vscode/src/commands/checkpoints-command/actions/promote-temporary-checkpoint.ts‎

Lines changed: 0 additions & 33 deletions
This file was deleted.

‎packages/vscode/src/commands/checkpoints-command/checkpoints-command.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ export const checkpoints_command = (
4040
)
4141
return
4242
}
43-
const success = await create_checkpoint(workspace_provider, context)
44-
if (success) {
43+
const checkpoint = await create_checkpoint(workspace_provider, context)
44+
if (checkpoint) {
4545
vscode.window.showInformationMessage('Checkpoint created successfully.')
4646
}
4747
}

0 commit comments

Comments
 (0)