Merge pull request #194379 from microsoft/joh/breakable-takin

disable settings migration, workaround for https://github.com/microsoft/vscode/issues/194375
This commit is contained in:
Johannes Rieken
2023-09-28 11:48:39 +02:00
committed by GitHub
2 changed files with 30 additions and 25 deletions
+14 -14
View File
@@ -193,17 +193,17 @@ registerEditorSettingMigration('experimental.stickyScroll.maxLineCount', (value,
}
});
// Code Actions on Save
registerEditorSettingMigration('codeActionsOnSave', (value, read, write) => {
if (value && typeof value === 'object') {
const newValue = {} as any;
for (const entry of Object.entries(value)) {
if (typeof entry[1] === 'boolean') {
newValue[entry[0]] = entry[1] ? 'explicit' : 'never';
} else {
newValue[entry[0]] = entry[1];
}
}
write(`codeActionsOnSave`, newValue);
}
});
// // Code Actions on Save
// registerEditorSettingMigration('codeActionsOnSave', (value, read, write) => {
// if (value && typeof value === 'object') {
// const newValue = {} as any;
// for (const entry of Object.entries(value)) {
// if (typeof entry[1] === 'boolean') {
// newValue[entry[0]] = entry[1] ? 'explicit' : 'never';
// } else {
// newValue[entry[0]] = entry[1];
// }
// }
// write(`codeActionsOnSave`, newValue);
// }
// });
@@ -521,21 +521,26 @@ export class ChatModel extends Disposable implements IChatModel {
this._welcomeMessage = new ChatWelcomeMessageModel(this, content);
}
return requests.map((raw: ISerializableChatRequestData) => {
const parsedRequest = typeof raw.message === 'string' ? this.getParsedRequestFromString(raw.message) :
reviveParsedChatRequest(raw.message);
const request = new ChatRequestModel(this, parsedRequest, raw.providerRequestId);
if (raw.response || raw.responseErrorDetails) {
const agent = raw.agent && this.chatAgentService.getAgents().find(a => a.id === raw.agent!.id); // TODO do something reasonable if this agent has disappeared since the last session
request.response = new ChatResponseModel(raw.response ?? [new MarkdownString(raw.response)], this, agent, true, raw.isCanceled, raw.vote, raw.providerRequestId, raw.responseErrorDetails, raw.followups);
}
return request;
});
try {
return requests.map((raw: ISerializableChatRequestData) => {
const parsedRequest = typeof raw.message === 'string' ? this.getParsedRequestFromString(raw.message) :
reviveParsedChatRequest(raw.message);
const request = new ChatRequestModel(this, parsedRequest, raw.providerRequestId);
if (raw.response || raw.responseErrorDetails) {
const agent = raw.agent && this.chatAgentService.getAgents().find(a => a.id === raw.agent!.id); // TODO do something reasonable if this agent has disappeared since the last session
request.response = new ChatResponseModel(raw.response ?? [new MarkdownString(raw.response)], this, agent, true, raw.isCanceled, raw.vote, raw.providerRequestId, raw.responseErrorDetails, raw.followups);
}
return request;
});
} catch (error) {
this.logService.error('Failed to parse chat data', error);
return [];
}
}
private getParsedRequestFromString(message: string): IParsedChatRequest {
// TODO These offsets won't be used, but chat replies need to go through the parser as well
const parts = [new ChatRequestTextPart(new OffsetRange(1, message.length), { startColumn: 1, startLineNumber: 1, endColumn: 1, endLineNumber: 1 }, message)];
const parts = [new ChatRequestTextPart(new OffsetRange(0, message.length), { startColumn: 1, startLineNumber: 1, endColumn: 1, endLineNumber: 1 }, message)];
return {
text: message,
parts