-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Open
Description
Reproducible in vscode.dev or in VS Code Desktop?
- Not reproducible in vscode.dev or VS Code Desktop
(Not sure how to reproduce this in VS Code, so assuming it's probably not affected)
Reproducible in the monaco editor playground?
- Not reproducible in the monaco editor playground
Monaco Editor Playground Link
Monaco Editor Playground Code
const originalModel = monaco.editor.createModel(
/* set from `originalModel`: */ `hello world`,
"text/plain"
);
const modifiedModel = monaco.editor.createModel(
/* set from `modifiedModel`: */ `Hello World! This is the modified text.`,
"text/plain"
);
const diffEditor = monaco.editor.createDiffEditor(
document.getElementById("container"),
{
originalEditable: true,
automaticLayout: true,
}
);
diffEditor.setModel({
original: originalModel,
modified: modifiedModel,
});
diffEditor.addAction({
id: "swap",
label: "Swap",
run: () => {
diffEditor.setModel({
original: modifiedModel,
modified: originalModel,
});
},
contextMenuGroupId: "swap",
});Reproduction Steps
In the Monaco Editor playground, run the provided code. In the modified editor, right-click and select Swap. In the JavaScript console, notice the "Uncaught (in promise) Canceled: Canceled" exception.
Actual (Problematic) Behavior
Here's the exception logged in the JavaScript console:
editor.api-CykLys8L.js:2921 Uncaught (in promise) Canceled: Canceled
cancel @ editor.api-CykLys8L.js:2921
dispose @ editor.api-CykLys8L.js:2930
dispose @ editor.api-CykLys8L.js:1386
clear @ editor.api-CykLys8L.js:1457
dispose @ editor.api-CykLys8L.js:1441
dispose @ editor.api-CykLys8L.js:161490
(anonymous) @ editor.api-CykLys8L.js:161516
_deliver @ editor.api-CykLys8L.js:2394
_deliverQueue @ editor.api-CykLys8L.js:2403
fire @ editor.api-CykLys8L.js:2423
setModel @ editor.api-CykLys8L.js:75061
(anonymous) @ editor.api-CykLys8L.js:96516
batchEventsGlobally @ editor.api-CykLys8L.js:8257
(anonymous) @ editor.api-CykLys8L.js:96514
transaction @ editor.api-CykLys8L.js:7046
subtransaction @ editor.api-CykLys8L.js:7076
setDiffModel @ editor.api-CykLys8L.js:96512
setModel @ editor.api-CykLys8L.js:96504
run @ VM847:27
run @ editor.api-CykLys8L.js:183055
invokeFunction @ editor.api-CykLys8L.js:181406
executeCommand @ editor.api-CykLys8L.js:182212
run @ editor.api-CykLys8L.js:14010
runAction @ editor.api-CykLys8L.js:10801
run @ editor.api-CykLys8L.js:10794
onClick @ editor.api-CykLys8L.js:86328
(anonymous) @ editor.api-CykLys8L.js:174428
setTimeout
(anonymous) @ editor.api-CykLys8L.js:174427
Expected Behavior
No response
Additional Context
Our use case was to swap the original and modified models. I'm also able to reproduce the issue just updating either the original or modified model. I was able to reproduce the issue starting on version 0.52.0.
Metadata
Metadata
Assignees
Labels
No labels