@@ -810,10 +810,10 @@ index 096b9e23493539c9937940a56e555d95bbae38d9..ef37e614004f550f7b64eacd362f6894
810810 remove(key: string, scope: StorageScope): void {
811811diff --git a/src/vs/server/browser/client.ts b/src/vs/server/browser/client.ts
812812new file mode 100644
813- index 0000000000000000000000000000000000000000..ead6a3cd5e98fdde074f19ee5043f152ed407146
813+ index 0000000000000000000000000000000000000000..8a92b722b38f8743403892ea97cfb2a2a8726e3b
814814--- /dev/null
815815+++ b/src/vs/server/browser/client.ts
816- @@ -0,0 +1,240 @@
816+ @@ -0,0 +1,241 @@
817817+ import { Emitter } from 'vs/base/common/event';
818818+ import { URI } from 'vs/base/common/uri';
819819+ import { localize } from 'vs/nls';
@@ -967,8 +967,7 @@ index 0000000000000000000000000000000000000000..ead6a3cd5e98fdde074f19ee5043f152
967967+
968968+ const logService = (services.get(ILogService) as ILogService);
969969+ const storageService = (services.get(IStorageService) as IStorageService);
970- + // We set this here first in case the path changes.
971- + const updateCheckEndpoint = path.join(window.location.pathname, '/update/check');
970+ + const updateCheckEndpoint = path.join(options.base, '/update/check');
972971+ const getUpdate = async (): Promise<void> => {
973972+ logService.debug('Checking for update...');
974973+
@@ -988,8 +987,8 @@ index 0000000000000000000000000000000000000000..ead6a3cd5e98fdde074f19ee5043f152
988987+
989988+ const lastNoti = storageService.getNumber('csLastUpdateNotification', StorageScope.GLOBAL);
990989+ if (lastNoti) {
991- + // Only remind them again after two days .
992- + const timeout = 1000*60*24*2 ;
990+ + // Only remind them again after 1 week .
991+ + const timeout = 1000*60*60* 24*7 ;
993992+ const threshold = lastNoti + timeout;
994993+ if (Date.now() < threshold) {
995994+ return;
@@ -1008,11 +1007,13 @@ index 0000000000000000000000000000000000000000..ead6a3cd5e98fdde074f19ee5043f152
10081007+ logService.debug(`failed to check for update: ${error}`);
10091008+ }).finally(() => {
10101009+ // Check again every 6 hours.
1011- + setTimeout(updateLoop, 1000*60*6);
1010+ + setTimeout(updateLoop, 1000*60*60* 6);
10121011+ });
10131012+ };
10141013+
1015- + updateLoop();
1014+ + if (!options.disableUpdateCheck) {
1015+ + updateLoop();
1016+ + }
10161017+
10171018+ // This will be used to set the background color while VS Code loads.
10181019+ const theme = storageService.get('colorThemeData', StorageScope.GLOBAL);
@@ -1446,16 +1447,18 @@ index 0000000000000000000000000000000000000000..56331ff1fc32bbd82e769aaecb551e42
14461447+ require('../../bootstrap-amd').load('vs/server/entry');
14471448diff --git a/src/vs/server/ipc.d.ts b/src/vs/server/ipc.d.ts
14481449new file mode 100644
1449- index 0000000000000000000000000000000000000000..0a4a91e5e36bda7f888feedda348aaff5fe32d27
1450+ index 0000000000000000000000000000000000000000..c8a613ac2db1ff154a49aa7b6da5f7d2af902ec7
14501451--- /dev/null
14511452+++ b/src/vs/server/ipc.d.ts
1452- @@ -0,0 +1,131 @@
1453+ @@ -0,0 +1,133 @@
14531454+ /**
14541455+ * External interfaces for integration into code-server over IPC. No vs imports
14551456+ * should be made in this file.
14561457+ */
14571458+ export interface Options {
1459+ + base: string
14581460+ disableTelemetry: boolean
1461+ + disableUpdateCheck: boolean
14591462+ }
14601463+
14611464+ export interface InitMessage {
0 commit comments