efce00582b
* chore: update Code to 1.72.2
* chore: refresh integration patch
* chore: refresh base-path
* chore: refresh proposed-api patch
* chore: refresh marketplace patch
* chore: refresh webview patch
* chore: refresh disable-builtin patch
* chore: refresh logout, update-check patches
* chor: refresh proxy-uri patch
* fix: delete unique-db patch
This was supposed to be removed in https://github.com/coder/code-server/pull/5519
Looks like I didn't update the series or actually delete the patch.
* fix: drop log-level patch
This was merged upstream!
* chore: refresh local-storage patch
* chore: refresh service-worker patch
* chore: refresh sourcemaps patch
* chore: refresh disable-downloads patch
* chore: refresh telemetry patch
* chore: refresh language patch
* chore: refresh cli-window-open patch
* Revert "fix: delete unique-db patch"
This reverts commit ca0506c5f6
.
* fixup!: rm extra spaces integration patch
* fixup: space
* fixup! update unique-db patch
* fixup!: update hash in webview patch
* fixup! update marketplace patch
* fixup!: remove comma
68 lines
2.6 KiB
Diff
68 lines
2.6 KiB
Diff
Add a service worker
|
|
|
|
To test try installing code-server as a PWA.
|
|
|
|
Index: code-server/lib/vscode/src/vs/base/common/product.ts
|
|
===================================================================
|
|
--- code-server.orig/lib/vscode/src/vs/base/common/product.ts
|
|
+++ code-server/lib/vscode/src/vs/base/common/product.ts
|
|
@@ -36,6 +36,10 @@ export interface IProductConfiguration {
|
|
readonly updateEndpoint?: string
|
|
readonly logoutEndpoint?: string
|
|
readonly proxyEndpointTemplate?: string
|
|
+ readonly serviceWorker?: {
|
|
+ readonly path: string;
|
|
+ readonly scope: string;
|
|
+ }
|
|
|
|
readonly version: string;
|
|
readonly date?: string;
|
|
Index: code-server/lib/vscode/src/vs/workbench/browser/client.ts
|
|
===================================================================
|
|
--- code-server.orig/lib/vscode/src/vs/workbench/browser/client.ts
|
|
+++ code-server/lib/vscode/src/vs/workbench/browser/client.ts
|
|
@@ -89,6 +89,10 @@ export class CodeServerClient extends Di
|
|
if (this.productService.logoutEndpoint) {
|
|
this.addLogoutCommand(this.productService.logoutEndpoint);
|
|
}
|
|
+
|
|
+ if (this.productService.serviceWorker) {
|
|
+ await this.registerServiceWorker(this.productService.serviceWorker);
|
|
+ }
|
|
}
|
|
|
|
private checkUpdates(updateEndpoint: string) {
|
|
@@ -161,4 +165,17 @@ export class CodeServerClient extends Di
|
|
});
|
|
}
|
|
}
|
|
+
|
|
+ private async registerServiceWorker(serviceWorker: { path: string; scope: string }) {
|
|
+ if (typeof navigator !== 'undefined' && 'serviceWorker' in navigator) {
|
|
+ try {
|
|
+ await navigator.serviceWorker.register(serviceWorker.path, {
|
|
+ scope: serviceWorker.scope,
|
|
+ });
|
|
+ this.logService.info('[Service Worker] registered');
|
|
+ } catch (error: any) {
|
|
+ this.logService.error('[Service Worker] registration', error as Error);
|
|
+ }
|
|
+ }
|
|
+ }
|
|
}
|
|
Index: code-server/lib/vscode/src/vs/server/node/webClientServer.ts
|
|
===================================================================
|
|
--- code-server.orig/lib/vscode/src/vs/server/node/webClientServer.ts
|
|
+++ code-server/lib/vscode/src/vs/server/node/webClientServer.ts
|
|
@@ -316,6 +316,10 @@ export class WebClientServer {
|
|
updateEndpoint: !this._environmentService.args['disable-update-check'] ? base + '/update/check' : undefined,
|
|
logoutEndpoint: this._environmentService.args['auth'] && this._environmentService.args['auth'] !== "none" ? base + '/logout' : undefined,
|
|
proxyEndpointTemplate: process.env.VSCODE_PROXY_URI ?? base + '/proxy/{{port}}',
|
|
+ serviceWorker: {
|
|
+ scope: vscodeBase + '/',
|
|
+ path: base + '/_static/out/browser/serviceWorker.js',
|
|
+ },
|
|
embedderIdentifier: 'server-distro',
|
|
extensionsGallery: this._productService.extensionsGallery,
|
|
},
|