Skip to content

Commit

Permalink
better fix for #10932
Browse files Browse the repository at this point in the history
  • Loading branch information
bpasero committed Aug 26, 2016
1 parent be91bc8 commit 1c5567c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions src/vs/workbench/parts/files/browser/fileTracker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ export class FileTracker implements IWorkbenchContribution {
return false;
}

if (Date.now() - model.getLastSaveTime() < FileTracker.FILE_CHANGE_UPDATE_DELAY) {
if (Date.now() - model.getLastSaveAttemptTime() < FileTracker.FILE_CHANGE_UPDATE_DELAY) {
return false; // this is a weak check to see if the change came from outside the editor or not
}

Expand Down Expand Up @@ -232,7 +232,7 @@ export class FileTracker implements IWorkbenchContribution {

// We only ever update models that are in good saved state
if (textModel.getState() === ModelState.SAVED) {
const lastSaveTime = textModel.getLastSaveTime();
const lastSaveTime = textModel.getLastSaveAttemptTime();

// Force a reopen of the input if this change came in later than our wait interval before we consider it
if (Date.now() - lastSaveTime > FileTracker.FILE_CHANGE_UPDATE_DELAY) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ export class TextFileEditorModel extends BaseTextEditorModel implements IEncodin
private disposed: boolean;
private inConflictResolutionMode: boolean;
private inErrorMode: boolean;
private lastSaveTime: number;
private lastSaveAttemptTime: number;
private createTextEditorModelPromise: TPromise<TextFileEditorModel>;

constructor(
Expand All @@ -107,7 +107,7 @@ export class TextFileEditorModel extends BaseTextEditorModel implements IEncodin
this.dirty = false;
this.autoSavePromises = [];
this.versionId = 0;
this.lastSaveTime = 0;
this.lastSaveAttemptTime = 0;
this.mapPendingSaveToVersionId = {};

this.updateAutoSaveConfiguration(textFileService.getAutoSaveConfiguration());
Expand Down Expand Up @@ -449,6 +449,9 @@ export class TextFileEditorModel extends BaseTextEditorModel implements IEncodin
// Clear error flag since we are trying to save again
this.inErrorMode = false;

// Remember when this model was saved last
this.lastSaveAttemptTime = Date.now();

// Save to Disk
diag('doSave(' + versionId + ') - before updateContent()', this.resource, new Date());
this.mapPendingSaveToVersionId[versionId] = this.fileService.updateContent(this.versionOnDiskStat.resource, this.getValue(), {
Expand All @@ -460,9 +463,6 @@ export class TextFileEditorModel extends BaseTextEditorModel implements IEncodin
}).then((stat: IFileStat) => {
diag('doSave(' + versionId + ') - after updateContent()', this.resource, new Date());

// Remember when this model was saved last
this.lastSaveTime = Date.now();

// Telemetry
this.telemetryService.publicLog('filePUT', { mimeType: stat.mime, ext: paths.extname(this.versionOnDiskStat.resource.fsPath) });

Expand Down Expand Up @@ -580,10 +580,10 @@ export class TextFileEditorModel extends BaseTextEditorModel implements IEncodin
}

/**
* Returns the time in millies when this working copy was saved by the user.
* Returns the time in millies when this working copy was attempted to be saved.
*/
public getLastSaveTime(): number {
return this.lastSaveTime;
public getLastSaveAttemptTime(): number {
return this.lastSaveAttemptTime;
}

/**
Expand Down

0 comments on commit 1c5567c

Please sign in to comment.