Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 494a3e0

Browse files
Update Code to 1.95.1 (#7059)
* Update Code to 1.95.1 * Update Node to 20.18.0 * Update build.yaml to use Ubuntu 22.04 This is to resolve a gcc error. Might have to address the release step later as well. * Fix --stdin-to-clipboard With the switch to esm, the fs require is failing. fs is already imported, so we can just use it anyway. * Fix mangled exports * Update CSP hashes
1 parent dd2e9fc commit 494a3e0

22 files changed

+147
-180
lines changed

‎.github/workflows/build.yaml‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ concurrency:
2424
jobs:
2525
prettier:
2626
name: Format with Prettier
27-
runs-on: ubuntu-20.04
27+
runs-on: ubuntu-22.04
2828
timeout-minutes: 5
2929
steps:
3030
- name: Checkout repo
@@ -37,7 +37,7 @@ jobs:
3737

3838
doctoc:
3939
name: Doctoc markdown files
40-
runs-on: ubuntu-20.04
40+
runs-on: ubuntu-22.04
4141
timeout-minutes: 5
4242
steps:
4343
- name: Checkout repo
@@ -68,7 +68,7 @@ jobs:
6868

6969
lint-helm:
7070
name: Lint Helm chart
71-
runs-on: ubuntu-20.04
71+
runs-on: ubuntu-22.04
7272
timeout-minutes: 5
7373
steps:
7474
- name: Checkout repo
@@ -97,7 +97,7 @@ jobs:
9797

9898
lint-ts:
9999
name: Lint TypeScript files
100-
runs-on: ubuntu-20.04
100+
runs-on: ubuntu-22.04
101101
timeout-minutes: 5
102102
steps:
103103
- name: Checkout repo
@@ -146,7 +146,7 @@ jobs:
146146

147147
test-unit:
148148
name: Run unit tests
149-
runs-on: ubuntu-20.04
149+
runs-on: ubuntu-22.04
150150
timeout-minutes: 5
151151
steps:
152152
- name: Checkout repo
@@ -187,7 +187,7 @@ jobs:
187187

188188
build:
189189
name: Build code-server
190-
runs-on: ubuntu-20.04
190+
runs-on: ubuntu-22.04
191191
timeout-minutes: 60
192192
env:
193193
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -269,7 +269,7 @@ jobs:
269269
test-e2e:
270270
name: Run e2e tests
271271
needs: build
272-
runs-on: ubuntu-20.04
272+
runs-on: ubuntu-22.04
273273
timeout-minutes: 25
274274
steps:
275275
- name: Checkout repo
@@ -318,7 +318,7 @@ jobs:
318318
test-e2e-proxy:
319319
name: Run e2e tests behind proxy
320320
needs: build
321-
runs-on: ubuntu-20.04
321+
runs-on: ubuntu-22.04
322322
timeout-minutes: 25
323323
steps:
324324
- name: Checkout repo

‎.node-version‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20.16.0
1+
20.18.0

‎CHANGELOG.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ Code v99.99.999
2222

2323
## Unreleased
2424

25+
Code v1.95.0
26+
27+
### Changed
28+
29+
- Update to Code 1.95.0.
30+
2531
## [4.93.1](https://github.com/coder/code-server/releases/tag/v4.93.1) - 2024年09月23日
2632

2733
Code v1.93.1

‎flake.lock‎

Lines changed: 10 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎flake.nix‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
{
22
description = "code-server";
33

4-
inputs.flake-utils.url = "github:numtide/flake-utils";
4+
inputs = {
5+
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small";
6+
flake-utils.url = "github:numtide/flake-utils";
7+
};
58

69
outputs = { self, nixpkgs, flake-utils }:
710
flake-utils.lib.eachDefaultSystem

‎lib/vscode‎

Submodule vscode updated 1144 files

‎patches/base-path.diff‎

Lines changed: 27 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Index: code-server/lib/vscode/src/vs/base/common/network.ts
1010
===================================================================
1111
--- code-server.orig/lib/vscode/src/vs/base/common/network.ts
1212
+++ code-server/lib/vscode/src/vs/base/common/network.ts
13-
@@ -215,7 +215,9 @@ class RemoteAuthoritiesImpl {
13+
@@ -220,7 +220,9 @@ class RemoteAuthoritiesImpl {
1414
return URI.from({
1515
scheme: platform.isWeb ? this._preferredWebSchema : Schemas.vscodeRemoteResource,
1616
authority: `${host}:${port}`,
@@ -46,18 +46,18 @@ Index: code-server/lib/vscode/src/vs/code/browser/workbench/workbench-dev.html
4646
+ <link rel="icon" href="{{BASE}}/_static/src/browser/media/favicon-dark-support.svg" />
4747
+ <link rel="alternate icon" href="{{BASE}}/_static/src/browser/media/favicon.ico" type="image/x-icon" />
4848
+ <link rel="manifest" href="{{VS_BASE}}/manifest.json" crossorigin="use-credentials" />
49-
</head>
49+
<style id="vscode-css-modules" type="text/css" media="screen"></style>
5050

51-
<body aria-label="">
51+
</head>
5252
@@ -39,7 +39,7 @@
53-
<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/loader.js"></script>
54-
<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/webPackagePaths.js"></script>
53+
54+
<!-- Startup (do not modify order of script tags!) -->
5555
<script>
5656
- const baseUrl = new URL('{{WORKBENCH_WEB_BASE_URL}}', window.location.origin).toString();
5757
+ const baseUrl = new URL('{{WORKBENCH_WEB_BASE_URL}}', window.location).toString();
58-
Object.keys(self.webPackagePaths).map(function (key, index) {
59-
self.webPackagePaths[key] = `${baseUrl}/remote/web/node_modules/${key}/${self.webPackagePaths[key]}`;
60-
});
58+
globalThis._VSCODE_FILE_ROOT = baseUrl + '/out/';
59+
</script>
60+
<script>
6161
Index: code-server/lib/vscode/src/vs/code/browser/workbench/workbench.html
6262
===================================================================
6363
--- code-server.orig/lib/vscode/src/vs/code/browser/workbench/workbench.html
@@ -83,18 +83,18 @@ Index: code-server/lib/vscode/src/vs/code/browser/workbench/workbench.html
8383
+ <link rel="icon" href="{{BASE}}/_static/src/browser/media/favicon-dark-support.svg" />
8484
+ <link rel="alternate icon" href="{{BASE}}/_static/src/browser/media/favicon.ico" type="image/x-icon" />
8585
+ <link rel="manifest" href="{{VS_BASE}}/manifest.json" crossorigin="use-credentials" />
86-
<link data-name="vs/workbench/workbench.web.main" rel="stylesheet" href="{{WORKBENCH_WEB_BASE_URL}}/out/vs/workbench/workbench.web.main.css">
86+
<link rel="stylesheet" href="{{WORKBENCH_WEB_BASE_URL}}/out/vs/code/browser/workbench/workbench.css">
8787

8888
</head>
89-
@@ -40,7 +40,7 @@
90-
<script>
89+
@@ -36,7 +36,7 @@
9190

92-
// Packages
91+
<!-- Startup (do not modify order of script tags!) -->
92+
<script>
9393
- const baseUrl = new URL('{{WORKBENCH_WEB_BASE_URL}}', window.location.origin).toString();
9494
+ const baseUrl = new URL('{{WORKBENCH_WEB_BASE_URL}}', window.location).toString();
95-
Object.keys(self.webPackagePaths).map(function (key, index) {
96-
self.webPackagePaths[key] = `${baseUrl}/node_modules/${key}/${self.webPackagePaths[key]}`;
97-
});
95+
globalThis._VSCODE_FILE_ROOT = baseUrl + '/out/';
96+
</script>
97+
<script>
9898
Index: code-server/lib/vscode/src/vs/platform/remote/browser/browserSocketFactory.ts
9999
===================================================================
100100
--- code-server.orig/lib/vscode/src/vs/platform/remote/browser/browserSocketFactory.ts
@@ -111,7 +111,7 @@ Index: code-server/lib/vscode/src/vs/server/node/webClientServer.ts
111111
===================================================================
112112
--- code-server.orig/lib/vscode/src/vs/server/node/webClientServer.ts
113113
+++ code-server/lib/vscode/src/vs/server/node/webClientServer.ts
114-
@@ -272,16 +272,15 @@ export class WebClientServer {
114+
@@ -271,16 +271,15 @@ export class WebClientServer {
115115
return void res.end();
116116
}
117117

@@ -133,7 +133,7 @@ Index: code-server/lib/vscode/src/vs/server/node/webClientServer.ts
133133
);
134134
if (!remoteAuthority) {
135135
return serveError(req, res, 400, `Bad request.`);
136-
@@ -308,8 +307,12 @@ export class WebClientServer {
136+
@@ -307,8 +306,12 @@ export class WebClientServer {
137137
scopes: [['user:email'], ['repo']]
138138
} : undefined;
139139

@@ -146,7 +146,7 @@ Index: code-server/lib/vscode/src/vs/server/node/webClientServer.ts
146146
embedderIdentifier: 'server-distro',
147147
extensionsGallery: this._webExtensionResourceUrlTemplate && this._productService.extensionsGallery ? {
148148
...this._productService.extensionsGallery,
149-
@@ -338,7 +341,7 @@ export class WebClientServer {
149+
@@ -337,7 +340,7 @@ export class WebClientServer {
150150
folderUri: resolveWorkspaceURI(this._environmentService.args['default-folder']),
151151
workspaceUri: resolveWorkspaceURI(this._environmentService.args['default-workspace']),
152152
productConfiguration,
@@ -155,7 +155,7 @@ Index: code-server/lib/vscode/src/vs/server/node/webClientServer.ts
155155
};
156156

157157
const cookies = cookie.parse(req.headers.cookie || '');
158-
@@ -355,9 +358,11 @@ export class WebClientServer {
158+
@@ -354,9 +357,11 @@ export class WebClientServer {
159159
const values: { [key: string]: string } = {
160160
WORKBENCH_WEB_CONFIGURATION: asJSON(workbenchWebConfiguration),
161161
WORKBENCH_AUTH_SESSION: authSessionInfo ? asJSON(authSessionInfo) : '',
@@ -169,18 +169,16 @@ Index: code-server/lib/vscode/src/vs/server/node/webClientServer.ts
169169
};
170170

171171
// DEV ---------------------------------------------------------------------------------------
172-
@@ -395,8 +400,8 @@ export class WebClientServer {
172+
@@ -393,7 +398,7 @@ export class WebClientServer {
173+
'default-src \'self\';',
173174
'img-src \'self\' https: data: blob:;',
174175
'media-src \'self\';',
175-
isESM ?
176-
- `script-src 'self' 'unsafe-eval' ${WORKBENCH_NLS_BASE_URL ?? ''} blob: 'nonce-1nline-m4p' ${this._getScriptCspHashes(data).join(' ')} '${webWorkerExtensionHostIframeScriptSHA}' 'sha256-/r7rqQ+yrxt57sxLuQ6AMYcy/lUpvAIzHjIJt/OeLWU=' ${useTestResolver ? '' : `http://${remoteAuthority}`};` : // the sha is the same as in src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.esm.html
177-
- `script-src 'self' 'unsafe-eval' ${WORKBENCH_NLS_BASE_URL ?? ''} ${this._getScriptCspHashes(data).join(' ')} '${webWorkerExtensionHostIframeScriptSHA}' ${useTestResolver ? '' : `http://${remoteAuthority}`};`, // the sha is the same as in src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html
178-
+ `script-src 'self' 'unsafe-eval' ${WORKBENCH_NLS_BASE_URL ?? ''} blob: 'nonce-1nline-m4p' ${this._getScriptCspHashes(data).join(' ')} '${webWorkerExtensionHostIframeScriptSHA}' 'sha256-/r7rqQ+yrxt57sxLuQ6AMYcy/lUpvAIzHjIJt/OeLWU=' ${useTestResolver ? '' : ``};` : // the sha is the same as in src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.esm.html
179-
+ `script-src 'self' 'unsafe-eval' ${WORKBENCH_NLS_BASE_URL ?? ''} ${this._getScriptCspHashes(data).join(' ')} '${webWorkerExtensionHostIframeScriptSHA}' ${useTestResolver ? '' : ``};`, // the sha is the same as in src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html
176+
- `script-src 'self' 'unsafe-eval' ${WORKBENCH_NLS_BASE_URL ?? ''} blob: 'nonce-1nline-m4p' ${this._getScriptCspHashes(data).join(' ')} '${webWorkerExtensionHostIframeScriptSHA}' 'sha256-/r7rqQ+yrxt57sxLuQ6AMYcy/lUpvAIzHjIJt/OeLWU=' ${useTestResolver ? '' : `http://${remoteAuthority}`};`, // the sha is the same as in src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html
177+
+ `script-src 'self' 'unsafe-eval' ${WORKBENCH_NLS_BASE_URL ?? ''} blob: 'nonce-1nline-m4p' ${this._getScriptCspHashes(data).join(' ')} '${webWorkerExtensionHostIframeScriptSHA}' 'sha256-/r7rqQ+yrxt57sxLuQ6AMYcy/lUpvAIzHjIJt/OeLWU=' ${useTestResolver ? '' : ``};`, // the sha is the same as in src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html
180178
'child-src \'self\';',
181179
`frame-src 'self' https://*.vscode-cdn.net data:;`,
182180
'worker-src \'self\' data: blob:;',
183-
@@ -469,3 +474,70 @@ export class WebClientServer {
181+
@@ -466,3 +471,70 @@ export class WebClientServer {
184182
return void res.end(data);
185183
}
186184
}
@@ -267,7 +265,7 @@ Index: code-server/lib/vscode/src/vs/code/browser/workbench/workbench.ts
267265
===================================================================
268266
--- code-server.orig/lib/vscode/src/vs/code/browser/workbench/workbench.ts
269267
+++ code-server/lib/vscode/src/vs/code/browser/workbench/workbench.ts
270-
@@ -304,7 +304,8 @@ class LocalStorageURLCallbackProvider ex
268+
@@ -317,7 +317,8 @@ class LocalStorageURLCallbackProvider ex
271269
this.startListening();
272270
}
273271

@@ -277,7 +275,7 @@ Index: code-server/lib/vscode/src/vs/code/browser/workbench/workbench.ts
277275
}
278276

279277
private startListening(): void {
280-
@@ -550,17 +551,6 @@ class WorkspaceProvider implements IWork
278+
@@ -563,17 +564,6 @@ class WorkspaceProvider implements IWork
281279
}
282280
}
283281

@@ -295,7 +293,7 @@ Index: code-server/lib/vscode/src/vs/code/browser/workbench/workbench.ts
295293
(function () {
296294

297295
// Find config by checking for DOM
298-
@@ -569,8 +559,8 @@ function readCookie(name: string): strin
296+
@@ -582,8 +572,8 @@ function readCookie(name: string): strin
299297
if (!configElement || !configElementAttribute) {
300298
throw new Error('Missing web configuration element');
301299
}
@@ -319,73 +317,3 @@ Index: code-server/lib/vscode/src/vs/platform/extensionResourceLoader/common/ext
319317
}
320318
return undefined;
321319
}
322-
Index: code-server/lib/vscode/src/vs/code/browser/workbench/workbench-dev.esm.html
323-
===================================================================
324-
--- code-server.orig/lib/vscode/src/vs/code/browser/workbench/workbench-dev.esm.html
325-
+++ code-server/lib/vscode/src/vs/code/browser/workbench/workbench-dev.esm.html
326-
@@ -11,7 +11,8 @@
327-
<meta name="mobile-web-app-capable" content="yes" />
328-
<meta name="apple-mobile-web-app-capable" content="yes" />
329-
<meta name="apple-mobile-web-app-title" content="Code">
330-
- <link rel="apple-touch-icon" href="{{WORKBENCH_WEB_BASE_URL}}/resources/server/code-192.png" />
331-
+ <link rel="apple-touch-icon" sizes="192x192" href="{{BASE}}/_static/src/browser/media/pwa-icon-192.png" />
332-
+ <link rel="apple-touch-icon" sizes="512x512" href="{{BASE}}/_static/src/browser/media/pwa-icon-512.png" />
333-
334-
<!-- Disable pinch zooming -->
335-
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
336-
@@ -26,8 +27,9 @@
337-
<meta id="vscode-workbench-builtin-extensions" data-settings="{{WORKBENCH_BUILTIN_EXTENSIONS}}">
338-
339-
<!-- Workbench Icon/Manifest/CSS -->
340-
- <link rel="icon" href="{{WORKBENCH_WEB_BASE_URL}}/resources/server/favicon.ico" type="image/x-icon" />
341-
- <link rel="manifest" href="{{WORKBENCH_WEB_BASE_URL}}/resources/server/manifest.json" crossorigin="use-credentials" />
342-
+ <link rel="icon" href="{{BASE}}/_static/src/browser/media/favicon-dark-support.svg" />
343-
+ <link rel="alternate icon" href="{{BASE}}/_static/src/browser/media/favicon.ico" type="image/x-icon" />
344-
+ <link rel="manifest" href="{{VS_BASE}}/manifest.json" crossorigin="use-credentials" />
345-
<style id="vscode-css-modules" type="text/css" media="screen"></style>
346-
347-
</head>
348-
@@ -37,7 +39,7 @@
349-
350-
<!-- Startup (do not modify order of script tags!) -->
351-
<script>
352-
- const baseUrl = new URL('{{WORKBENCH_WEB_BASE_URL}}', window.location.origin).toString();
353-
+ const baseUrl = new URL('{{WORKBENCH_WEB_BASE_URL}}', window.location).toString();
354-
globalThis._VSCODE_FILE_ROOT = baseUrl + '/out/';
355-
</script>
356-
<script>
357-
Index: code-server/lib/vscode/src/vs/code/browser/workbench/workbench.esm.html
358-
===================================================================
359-
--- code-server.orig/lib/vscode/src/vs/code/browser/workbench/workbench.esm.html
360-
+++ code-server/lib/vscode/src/vs/code/browser/workbench/workbench.esm.html
361-
@@ -11,7 +11,8 @@
362-
<meta name="mobile-web-app-capable" content="yes" />
363-
<meta name="apple-mobile-web-app-capable" content="yes" />
364-
<meta name="apple-mobile-web-app-title" content="Code">
365-
- <link rel="apple-touch-icon" href="{{WORKBENCH_WEB_BASE_URL}}/resources/server/code-192.png" />
366-
+ <link rel="apple-touch-icon" sizes="192x192" href="{{BASE}}/_static/src/browser/media/pwa-icon-192.png" />
367-
+ <link rel="apple-touch-icon" sizes="512x512" href="{{BASE}}/_static/src/browser/media/pwa-icon-512.png" />
368-
369-
<!-- Disable pinch zooming -->
370-
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
371-
@@ -23,8 +24,9 @@
372-
<meta id="vscode-workbench-auth-session" data-settings="{{WORKBENCH_AUTH_SESSION}}">
373-
374-
<!-- Workbench Icon/Manifest/CSS -->
375-
- <link rel="icon" href="{{WORKBENCH_WEB_BASE_URL}}/resources/server/favicon.ico" type="image/x-icon" />
376-
- <link rel="manifest" href="{{WORKBENCH_WEB_BASE_URL}}/resources/server/manifest.json" crossorigin="use-credentials" />
377-
+ <link rel="icon" href="{{BASE}}/_static/src/browser/media/favicon-dark-support.svg" />
378-
+ <link rel="alternate icon" href="{{BASE}}/_static/src/browser/media/favicon.ico" type="image/x-icon" />
379-
+ <link rel="manifest" href="{{VS_BASE}}/manifest.json" crossorigin="use-credentials" />
380-
<link rel="stylesheet" href="{{WORKBENCH_WEB_BASE_URL}}/out/vs/code/browser/workbench/workbench.css">
381-
382-
</head>
383-
@@ -34,7 +36,7 @@
384-
385-
<!-- Startup (do not modify order of script tags!) -->
386-
<script>
387-
- const baseUrl = new URL('{{WORKBENCH_WEB_BASE_URL}}', window.location.origin).toString();
388-
+ const baseUrl = new URL('{{WORKBENCH_WEB_BASE_URL}}', window.location).toString();
389-
globalThis._VSCODE_FILE_ROOT = baseUrl + '/out/';
390-
</script>
391-
<script>

‎patches/clipboard.diff‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ Index: code-server/lib/vscode/src/vs/workbench/api/browser/mainThreadCLICommands
1010
import { CommandsRegistry, ICommandService } from '../../../platform/commands/common/commands.js';
1111
import { IExtensionGalleryService, IExtensionManagementService } from '../../../platform/extensionManagement/common/extensionManagement.js';
1212
import { ExtensionManagementCLI } from '../../../platform/extensionManagement/common/extensionManagementCLI.js';
13-
@@ -89,6 +90,11 @@ CommandsRegistry.registerCommand('_remot
14-
return lines.join('\n');
13+
@@ -95,6 +96,11 @@ CommandsRegistry.registerCommand('_remot
14+
1515
});
1616

1717
+CommandsRegistry.registerCommand('_remoteCLI.setClipboard', function (accessor: ServicesAccessor, content: string) {
@@ -102,15 +102,15 @@ Index: code-server/lib/vscode/src/vs/server/node/server.cli.ts
102102
===================================================================
103103
--- code-server.orig/lib/vscode/src/vs/server/node/server.cli.ts
104104
+++ code-server/lib/vscode/src/vs/server/node/server.cli.ts
105-
@@ -75,6 +75,7 @@ const isSupportedForPipe = (optionId: ke
105+
@@ -76,6 +76,7 @@ const isSupportedForPipe = (optionId: ke
106106
case 'verbose':
107107
case 'remote':
108108
case 'locate-shell-integration-path':
109109
+ case 'stdin-to-clipboard':
110110
return true;
111111
default:
112112
return false;
113-
@@ -292,6 +293,23 @@ export async function main(desc: Product
113+
@@ -293,6 +294,22 @@ export async function main(desc: Product
114114
}
115115
}
116116
} else {
@@ -119,7 +119,6 @@ Index: code-server/lib/vscode/src/vs/server/node/server.cli.ts
119119
+ console.error("stdin has a tty.");
120120
+ return;
121121
+ }
122-
+ const fs = require("fs");
123122
+ const stdinBuffer = fs.readFileSync(0); // STDIN_FILENO = 0
124123
+ const clipboardContent = stdinBuffer.toString();
125124
+ sendToPipe({

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /