Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 16 additions & 4 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ jobs:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
DISABLE_V8_COMPILE_CACHE: 1
VERSION: 0.0.0
VSCODE_ARCH: x64
VSCODE_TARGET: linux-x64
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
Expand All @@ -179,13 +180,13 @@ jobs:
cache-dependency-path: |
package-lock.json
test/package-lock.json
- run: SKIP_SUBMODULE_DEPS=1 npm ci
- run: npm run build

# Get Code's git hash. When this changes it means the content is
# different and we need to rebuild.
- name: Get latest lib/vscode rev
id: vscode-rev
run: echo "rev=$(git rev-parse HEAD:./lib/vscode)" >> $GITHUB_OUTPUT

# We need to rebuild when we have a new version of Code, when any of the
# patches changed, or when the code-server version changes (since it gets
# embedded into the code). Use VSCODE_CACHE_VERSION to force a rebuild.
Expand All @@ -198,10 +199,21 @@ jobs:
- name: Build vscode
if: steps.cache-vscode.outputs.cache-hit != 'true'
run: |
pushd lib/vscode
cd lib/vscode/build
npm ci
cd ..
source ./build/azure-pipelines/linux/setup-env.sh
# Run preinstall script before root dependencies are installed
# so that v8 headers are patched correctly for native modules.
node build/npm/preinstall.ts
npm ci
popd
cd ../..
npm run build:vscode

# Build the code-server wrapper.
- run: SKIP_SUBMODULE_DEPS=1 npm ci
- run: npm run build

# Push up an artifact containing the linux-x64 release.
- run: KEEP_MODULES=1 npm run release
- run: tar -czf package.tar.gz release
Expand Down
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
24.18.1
24.20.0
11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,17 @@ Code v99.99.999

## Unreleased

Code v1.139.1

### Changed

- Update to Code 1.139.1

### Fixed

- `--idle-timeout-seconds` was only validated when passed as `--idle-timeout-seconds=<value>`;
values of 60 or less passed as `--idle-timeout-seconds <value>` were silently accepted.
- `--idle-timeout-seconds` was only validated when passed as
`--idle-timeout-seconds=<value>`; values of 60 or less passed as
`--idle-timeout-seconds <value>` were silently accepted.

## [4.138.0](https://github.com/coder/code-server/releases/tag/v4.138.0) - 2026-09-19

Expand Down
2 changes: 1 addition & 1 deletion lib/vscode
Submodule vscode updated 1480 files
10 changes: 7 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion patches/copilot.diff
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Index: code-server/lib/vscode/build/lib/extensions.ts
import watcher from './watch/index.ts';

import { createRequire } from 'module';
@@ -491,6 +492,116 @@ export function packageCopilotExtensionS
@@ -487,6 +488,116 @@ export function packageCopilotExtensionS
).pipe(util2.setExecutableBit(['**/*.sh']));
}

Expand Down
2 changes: 1 addition & 1 deletion patches/display-language.diff
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Index: code-server/lib/vscode/src/vs/server/node/remoteLanguagePacks.ts
import type { INLSConfiguration } from '../../nls.js';
@@ -33,7 +35,94 @@ export async function getNLSConfiguratio
if (!result) {
result = resolveNLSConfiguration({ userLocale: language, osLocale: language, commit: product.commit, userDataPath, nlsMetadataPath });
result = resolveNLSConfiguration({ userLocale: language, osLocale: language, commit: product.commit, nlsMetadataHash: product.nlsMetadataHash, userDataPath, nlsMetadataPath });
nlsConfigurationCache.set(cacheKey, result);
+ // If the language pack does not yet exist, it defaults to English, which is
+ // then cached and you have to restart even if you then install the pack.
Expand Down
6 changes: 3 additions & 3 deletions patches/getting-started.diff
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Index: code-server/lib/vscode/src/vs/workbench/contrib/welcomeGettingStarted/bro
import { renderFormattedText } from '../../../../base/browser/formattedTextRenderer.js';
import { status } from '../../../../base/browser/ui/aria/aria.js';
import { StandardKeyboardEvent } from '../../../../base/browser/keyboardEvent.js';
@@ -54,7 +54,7 @@ import { IRecentFolder, IRecentWorkspace
@@ -55,7 +55,7 @@ import { IRecentFolder, IRecentWorkspace
import { OpenRecentAction } from '../../../browser/actions/windowActions.js';
import { OpenFileFolderAction, OpenFolderAction, OpenFolderViaWorkspaceAction } from '../../../browser/actions/workspaceActions.js';
import { EditorPane } from '../../../browser/parts/editor/editorPane.js';
Expand All @@ -28,7 +28,7 @@ Index: code-server/lib/vscode/src/vs/workbench/contrib/welcomeGettingStarted/bro
import { IEditorOpenContext, IEditorSerializer } from '../../../common/editor.js';
import { IWebviewElement, IWebviewService } from '../../webview/browser/webview.js';
import './gettingStartedColors.js';
@@ -928,6 +928,72 @@ export class GettingStartedPage extends
@@ -930,6 +930,72 @@ export class GettingStartedPage extends
$('p.subtitle.description', {}, localize({ key: 'gettingStarted.editingEvolved', comment: ['Shown as subtitle on the Welcome page.'] }, "Editing evolved"))
);

Expand Down Expand Up @@ -101,7 +101,7 @@ Index: code-server/lib/vscode/src/vs/workbench/contrib/welcomeGettingStarted/bro
const leftColumn = $('.categories-column.categories-column-left', {},);
const rightColumn = $('.categories-column.categories-column-right', {},);

@@ -977,6 +1043,9 @@ export class GettingStartedPage extends
@@ -980,6 +1046,9 @@ export class GettingStartedPage extends
recentList.setLimit(5);
reset(leftColumn, startList.getDomElement(), recentList.getDomElement());
}
Expand Down
4 changes: 2 additions & 2 deletions patches/local-storage.diff
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Index: code-server/lib/vscode/src/vs/workbench/services/configuration/browser/co
===================================================================
--- code-server.orig/lib/vscode/src/vs/workbench/services/configuration/browser/configurationService.ts
+++ code-server/lib/vscode/src/vs/workbench/services/configuration/browser/configurationService.ts
@@ -148,8 +148,10 @@ export class WorkspaceService extends Di
@@ -150,8 +150,10 @@ export class WorkspaceService extends Di
this.workspaceConfiguration = this._register(new WorkspaceConfiguration(configurationCache, fileService, uriIdentityService, logService));
this._register(this.workspaceConfiguration.onDidUpdateConfiguration(fromCache => {
this.onWorkspaceConfigurationChanged(fromCache).then(() => {
Expand All @@ -79,7 +79,7 @@ Index: code-server/lib/vscode/src/vs/workbench/services/configuration/browser/co
});
}));

@@ -561,6 +563,12 @@ export class WorkspaceService extends Di
@@ -563,6 +565,12 @@ export class WorkspaceService extends Di
previousFolders = this.workspace.folders;
this.workspace.update(workspace);
} else {
Expand Down
2 changes: 1 addition & 1 deletion patches/marketplace.diff
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Index: code-server/lib/vscode/src/vs/platform/product/common/product.ts
--- code-server.orig/lib/vscode/src/vs/platform/product/common/product.ts
+++ code-server/lib/vscode/src/vs/platform/product/common/product.ts
@@ -65,6 +65,17 @@ else if (globalThis._VSCODE_PRODUCT_JSON
Object.assign(product, { copilotVersions: { runtime, sdk } });
Object.assign(product, { copilotVersions: { runtime: packageConfiguration.copilotRuntimeVersion, sdk } });
}
}
+
Expand Down
2 changes: 1 addition & 1 deletion patches/sourcemaps.diff
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Index: code-server/lib/vscode/build/gulpfile.reh.ts
===================================================================
--- code-server.orig/lib/vscode/build/gulpfile.reh.ts
+++ code-server/lib/vscode/build/gulpfile.reh.ts
@@ -344,10 +344,15 @@ function packageTask(type: string, platf
@@ -260,10 +260,15 @@ function packageTask(type: string, platf
const destination = path.join(BUILD_ROOT, destinationFolderName);

return () => {
Expand Down
2 changes: 1 addition & 1 deletion patches/update-check.diff
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ Index: code-server/lib/vscode/src/vs/base/common/product.ts

readonly version: string;
readonly date?: string;
@@ -145,6 +146,7 @@ export interface IProductConfiguration {
@@ -148,6 +149,7 @@ export interface IProductConfiguration {
};

readonly extensionsGallery?: {
Expand Down
6 changes: 3 additions & 3 deletions test/e2e/extensions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@ function runExternalUriTests(proxyEndpointTemplate?: string) {
await codeServerPage.waitForTestExtensionLoaded()
await codeServerPage.executeCommandViaMenus("code-server: asExternalUri test")

const inputBox = codeServerPage.page.locator(".quick-input-widget input")
await inputBox.fill(input)
await inputBox.press("Enter")
await codeServerPage.page.waitForSelector(".quick-input-widget:focus-within")
await codeServerPage.page.keyboard.type(input)
await codeServerPage.page.keyboard.press("Enter")

// The test extension displays URI.toString(), which also encodes query delimiters.
const output = `${proxyBase.replace(/\/$/, "")}${suffix}`
Expand Down
1 change: 1 addition & 0 deletions test/e2e/models/CodeServer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,7 @@ export class CodeServerPage {
async executeCommandViaMenus(command: string) {
await this.navigateMenus(["View", "Command Palette..."])

await this.page.waitForSelector(".quick-input-widget:focus-within")
await this.page.keyboard.type(command)

await this.page.hover(`text=${command}`)
Expand Down
Loading