From 1ee251558804d08c0942fd279eafa4874822a7d3 Mon Sep 17 00:00:00 2001 From: Joyce Er Date: Fri, 12 Aug 2022 12:45:35 -0700 Subject: [PATCH] Fix edit session view preview of empty added files --- .../browser/editSessionsFileSystemProvider.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.ts b/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.ts index 954ef2af607dc..ef88486cee0d7 100644 --- a/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.ts +++ b/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.ts @@ -7,7 +7,7 @@ import { Disposable, IDisposable } from 'vs/base/common/lifecycle'; import { Event } from 'vs/base/common/event'; import { URI } from 'vs/base/common/uri'; import { FilePermission, FileSystemProviderCapabilities, FileSystemProviderErrorCode, FileType, IFileDeleteOptions, IFileOverwriteOptions, IFileSystemProviderWithFileReadCapability, IStat, IWatchOptions } from 'vs/platform/files/common/files'; -import { decodeEditSessionFileContent, EDIT_SESSIONS_SCHEME, IEditSessionsWorkbenchService } from 'vs/workbench/contrib/editSessions/common/editSessions'; +import { ChangeType, decodeEditSessionFileContent, EDIT_SESSIONS_SCHEME, IEditSessionsWorkbenchService } from 'vs/workbench/contrib/editSessions/common/editSessions'; export class EditSessionsFileSystemProvider implements IFileSystemProviderWithFileReadCapability { @@ -29,11 +29,11 @@ export class EditSessionsFileSystemProvider implements IFileSystemProviderWithFi if (!data) { throw FileSystemProviderErrorCode.FileNotFound; } - const content = data?.editSession.folders.find((f) => f.name === folderName)?.workingChanges.find((change) => change.relativeFilePath === filePath)?.contents; - if (!content) { + const change = data?.editSession.folders.find((f) => f.name === folderName)?.workingChanges.find((change) => change.relativeFilePath === filePath); + if (!change || change.type === ChangeType.Deletion) { throw FileSystemProviderErrorCode.FileNotFound; } - return decodeEditSessionFileContent(data.editSession.version, content).buffer; + return decodeEditSessionFileContent(data.editSession.version, change.contents).buffer; } async stat(resource: URI): Promise {