Skip to content

Commit b850b82

Browse files
committed
fix: inline chat controller timing
1 parent 4d68e23 commit b850b82

3 files changed

Lines changed: 7 additions & 5 deletions

File tree

packages/ai-native/src/browser/contrib/problem-fix/problem-fix.handler.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,12 @@ export class ProblemFixHandler extends IAIMonacoContribHandler {
107107
const model = monacoEditor.getModel();
108108

109109
// 以 marker 的 range 为中心,向上取 2 行,向下取 3 行
110+
const endLineNumber = Math.min(part.range.endLineNumber + 3, model!.getLineCount());
110111
const editRange = new Range(
111112
Math.max(part.range.startLineNumber - 2, 0),
112113
1,
113-
Math.min(part.range.endLineNumber + 3, model!.getLineCount() ?? 0),
114-
model!.getLineMaxColumn(part.range.endLineNumber + 3) ?? 0,
114+
endLineNumber,
115+
model!.getLineMaxColumn(endLineNumber),
115116
);
116117

117118
const context = {

packages/ai-native/src/browser/widget/inline-diff/inline-diff.handler.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,6 @@ export class InlineDiffHandler extends IAIMonacoContribHandler {
177177
previewer.onReady(() => {
178178
if (InlineChatController.is(chatResponse)) {
179179
const controller = chatResponse as InlineChatController;
180-
controller.listen();
181180

182181
disposable.addDispose([
183182
controller.onData((data) => {
@@ -198,6 +197,8 @@ export class InlineDiffHandler extends IAIMonacoContribHandler {
198197
onFinish();
199198
}),
200199
]);
200+
201+
controller.listen();
201202
} else {
202203
previewer.setValue((chatResponse as ReplyResponse).message);
203204
onFinish();

packages/ai-native/src/browser/widget/inline-input/inline-input.handler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@ export class InlineInputHandler extends Disposable {
8686
if (InlineChatController.is(previewResponse)) {
8787
const controller = previewResponse as InlineChatController;
8888

89-
controller.listen();
90-
9189
let latestContent: string | undefined;
9290
const schedulerEdit: RunOnceScheduler = this.registerDispose(
9391
new RunOnceScheduler(() => {
@@ -122,6 +120,8 @@ export class InlineInputHandler extends Disposable {
122120
widget.launchChatStatus(EInlineChatStatus.DONE);
123121
}),
124122
]);
123+
124+
controller.listen();
125125
}
126126
}
127127
}

0 commit comments

Comments
 (0)