Skip to content

Commit a69a459

Browse files
committed
resolves microsoft#91431
1 parent a68bfa3 commit a69a459

2 files changed

Lines changed: 34 additions & 20 deletions

File tree

src/vs/workbench/services/dialogs/browser/dialogService.ts

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
1818
import { IProductService } from 'vs/platform/product/common/productService';
1919
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
2020
import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
21+
import { fromNow } from 'vs/base/common/date';
2122

2223
export class DialogService implements IDialogService {
2324

@@ -121,18 +122,24 @@ export class DialogService implements IDialogService {
121122
}
122123

123124
async about(): Promise<void> {
124-
const detail = nls.localize('aboutDetail',
125-
"Version: {0}\nCommit: {1}\nDate: {2}\nBrowser: {3}",
126-
this.productService.version || 'Unknown',
127-
this.productService.commit || 'Unknown',
128-
this.productService.date || 'Unknown',
129-
navigator.userAgent
130-
);
125+
const detailString = (useAgo: boolean): string => {
126+
return nls.localize('aboutDetail',
127+
"Version: {0}\nCommit: {1}\nDate: {2}\nBrowser: {3}",
128+
this.productService.version || 'Unknown',
129+
this.productService.commit || 'Unknown',
130+
this.productService.date ? `${this.productService.date}${useAgo ? ' (' + fromNow(new Date(this.productService.date), true) + ')' : ''}` : 'Unknown',
131+
navigator.userAgent
132+
);
133+
};
134+
135+
const detail = detailString(true);
136+
const detailToCopy = detailString(false);
137+
131138

132139
const { choice } = await this.show(Severity.Info, this.productService.nameLong, [nls.localize('copy', "Copy"), nls.localize('ok', "OK")], { detail, cancelId: 1 });
133140

134141
if (choice === 0) {
135-
this.clipboardService.writeText(detail);
142+
this.clipboardService.writeText(detailToCopy);
136143
}
137144
}
138145
}

src/vs/workbench/services/dialogs/electron-browser/dialogService.ts

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { IProductService } from 'vs/platform/product/common/productService';
2323
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
2424
import { IElectronService } from 'vs/platform/electron/node/electron';
2525
import { MessageBoxOptions } from 'electron';
26+
import { fromNow } from 'vs/base/common/date';
2627

2728
interface IMassagedMessageBoxOptions {
2829

@@ -216,17 +217,23 @@ class NativeDialogService implements IDialogService {
216217
}
217218

218219
const isSnap = process.platform === 'linux' && process.env.SNAP && process.env.SNAP_REVISION;
219-
const detail = nls.localize('aboutDetail',
220-
"Version: {0}\nCommit: {1}\nDate: {2}\nElectron: {3}\nChrome: {4}\nNode.js: {5}\nV8: {6}\nOS: {7}",
221-
version,
222-
product.commit || 'Unknown',
223-
product.date || 'Unknown',
224-
process.versions['electron'],
225-
process.versions['chrome'],
226-
process.versions['node'],
227-
process.versions['v8'],
228-
`${os.type()} ${os.arch()} ${os.release()}${isSnap ? ' snap' : ''}`
229-
);
220+
221+
const detailString = (useAgo: boolean): string => {
222+
return nls.localize('aboutDetail',
223+
"Version: {0}\nCommit: {1}\nDate: {2}\nElectron: {3}\nChrome: {4}\nNode.js: {5}\nV8: {6}\nOS: {7}",
224+
version,
225+
product.commit || 'Unknown',
226+
product.date ? `${product.date}${useAgo ? ' (' + fromNow(new Date(product.date), true) + ')' : ''}` : 'Unknown',
227+
process.versions['electron'],
228+
process.versions['chrome'],
229+
process.versions['node'],
230+
process.versions['v8'],
231+
`${os.type()} ${os.arch()} ${os.release()}${isSnap ? ' snap' : ''}`
232+
);
233+
};
234+
235+
const detail = detailString(true);
236+
const detailToCopy = detailString(false);
230237

231238
const ok = nls.localize('okButton', "OK");
232239
const copy = mnemonicButtonLabel(nls.localize({ key: 'copy', comment: ['&& denotes a mnemonic'] }, "&&Copy"));
@@ -249,7 +256,7 @@ class NativeDialogService implements IDialogService {
249256
});
250257

251258
if (buttons[result.response] === copy) {
252-
this.clipboardService.writeText(detail);
259+
this.clipboardService.writeText(detailToCopy);
253260
}
254261
}
255262
}

0 commit comments

Comments
 (0)