diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 569407d581c1..7d24603a9ae6 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -79,6 +79,9 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
with:
submodules: true
+ # When an update/ branch is merged, a release is automatically created
+ # which requires secrets.
+ allow-unsafe-pr-checkout: true
- run: quilt push -a
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
@@ -173,6 +176,9 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
with:
submodules: true
+ # When an update/ branch is merged, a release is automatically created
+ # which requires secrets.
+ allow-unsafe-pr-checkout: true
- run: quilt push -a
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
@@ -233,6 +239,9 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
with:
submodules: true
+ # When an update/ branch is merged, a release is automatically created
+ # which requires secrets.
+ allow-unsafe-pr-checkout: true
# quilt has no windows build. The patches are ordinary -p1 diffs
# against the repository root, so git applies them in series order.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 02b7ae8fce49..df14a21744fb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,23 @@ Code v99.99.999
## Unreleased
+Code v1.141.0
+
+### Added
+
+- A new `--enable-remote-storage` flag can be used to make code-server persist
+ workbench storage on the remote server instead of browser storage. Use this if
+ you want to share storage between multiple devices.
+
+### Fixed
+
+- The Typescript extension was trying to load as a browser extension even though
+ we build the remote server version, causing it to fail to activate.
+
+### Changed
+
+- Update to Code 1.141.0
+
## [4.140.0](https://github.com/coder/code-server/releases/tag/v4.140.0) - 2026-10-02
Code v1.140.0
diff --git a/ci/build/build-vscode.sh b/ci/build/build-vscode.sh
index a7db93a1a177..c38b0ae22acc 100755
--- a/ci/build/build-vscode.sh
+++ b/ci/build/build-vscode.sh
@@ -58,10 +58,17 @@ main() {
exit 1
fi
- # Add the date, our name, links, enable telemetry (this just makes telemetry
- # available; telemetry can still be disabled by flag or setting), and
- # configure trusted extensions (since some, like github.copilot-chat, never
- # ask to be trusted and this is the only way to get auth working).
+ # Modify the product.json:
+ # - Add the date
+ # - Set the code-server name.
+ # - Add our links
+ # - Enable telemetry (this just makes telemetry available; telemetry can still
+ # be disabled by flag or setting)
+ # - Configure trusted extensions (since some, like github.copilot-chat, never
+ # ask to be trusted and this is the only way to get auth working).
+ # - Make Typescript server plugins run in the workspace. We build the remote
+ # server version, so there is no browser distribution, and this key is not
+ # added automatically.
#
# This needs to be done before building as Code will read this file and embed
# it into the client-side code.
@@ -103,6 +110,9 @@ main() {
],
"aiConfig": {
"ariaKey": "code-server"
+ },
+ "extensionPointExtensionKind": {
+ "typescriptServerPlugins": ["workspace"]
}
}
EOF
diff --git a/lib/vscode b/lib/vscode
index 07f806f99922..2a59476c9bfc 160000
--- a/lib/vscode
+++ b/lib/vscode
@@ -1 +1 @@
-Subproject commit 07f806f999227108933c2e30515b26eecc1fda74
+Subproject commit 2a59476c9bfcb90b3ddc372c36762471b7dfad1c
diff --git a/patches/base-path.diff b/patches/base-path.diff
index 2c39fe6f53a1..a300b5904ecb 100644
--- a/patches/base-path.diff
+++ b/patches/base-path.diff
@@ -48,8 +48,8 @@ Index: code-server/lib/vscode/src/vs/code/browser/workbench/workbench-dev.html
+
-
-@@ -41,7 +41,7 @@
+