adding trace logs to trace double paste issue (#286158)

* adding trace logs to trace double paste issue

* adding more logs
This commit is contained in:
Aiday Marlen Kyzy
2026-01-06 16:48:24 +01:00
committed by GitHub
parent d0576dab05
commit 31de8ea351
3 changed files with 5 additions and 0 deletions

View File

@@ -101,6 +101,7 @@ export function computePasteData(e: ClipboardEvent, context: ViewContext, logSer
return;
}
PasteOptions.electronBugWorkaroundPasteEventHasFired = true;
logService.trace('(computePasteData) PasteOptions.electronBugWorkaroundPasteEventHasFired : ', PasteOptions.electronBugWorkaroundPasteEventHasFired);
metadata = metadata || InMemoryClipboardMetadataManager.INSTANCE.get(text);
return getPasteDataFromMetadata(text, metadata, context);
}

View File

@@ -318,15 +318,18 @@ if (PasteAction) {
logService.trace('registerExecCommandImpl (before triggerPaste)');
PasteOptions.electronBugWorkaroundPasteEventHasFired = false;
logService.trace('(before triggerPaste) PasteOptions.electronBugWorkaroundPasteEventHasFired : ', PasteOptions.electronBugWorkaroundPasteEventHasFired);
const triggerPaste = clipboardService.triggerPaste(getActiveWindow().vscodeWindowId);
if (triggerPaste) {
logService.trace('registerExecCommandImpl (triggerPaste defined)');
PasteOptions.electronBugWorkaroundPasteEventLock = false;
return triggerPaste.then(async () => {
logService.trace('(triggerPaste) PasteOptions.electronBugWorkaroundPasteEventHasFired : ', PasteOptions.electronBugWorkaroundPasteEventHasFired);
if (PasteOptions.electronBugWorkaroundPasteEventHasFired === false) {
// Ensure this doesn't run twice, what appears to be happening is
// triggerPasteis called once but it's handler is called multiple times
// when it reproduces
logService.trace('(triggerPaste) PasteOptions.electronBugWorkaroundPasteEventLock : ', PasteOptions.electronBugWorkaroundPasteEventLock);
if (PasteOptions.electronBugWorkaroundPasteEventLock === true) {
return;
}

View File

@@ -265,6 +265,7 @@ export class CopyPasteController extends Disposable implements IEditorContributi
private async handlePaste(e: ClipboardEvent) {
PasteOptions.electronBugWorkaroundPasteEventHasFired = true;
this._logService.trace('(handlePaste) PasteOptions.electronBugWorkaroundPasteEventHasFired : ', PasteOptions.electronBugWorkaroundPasteEventHasFired);
if (e.clipboardData) {
const [text, metadata] = ClipboardEventUtils.getTextData(e.clipboardData);
const metadataComputed = metadata || InMemoryClipboardMetadataManager.INSTANCE.get(text);