Compare commits

...

66 Commits

Author SHA1 Message Date
Semnodime
b405f160de Fix Typo (#1401) 2023-02-07 07:39:14 +02:00
Pavlo Rudy
d6e7ae1f6f chore: update ms-python api; close #1400 2023-02-06 09:47:07 +02:00
Baptiste Augrain
9ad93a467b chore: update apis 2023-02-02 21:42:21 +01:00
Baptiste Augrain
e0ce361df9 Merge branch 'insider' 2023-02-02 21:30:44 +01:00
VSCodium CI
2b463cd728 build(insider): update to commit e2816fe 2023-02-02 08:12:16 +01:00
Baptiste Augrain
fc77078868 fix: remove retry-all-errors option [skip ci] 2023-01-31 17:13:55 +01:00
Baptiste Augrain
4ccfb857a4 ci: add retry to gh install [skip ci] 2023-01-31 16:03:37 +01:00
Baptiste Augrain
4b4cfe4f74 fix: reduce mangle to minimum 2023-01-31 14:33:29 +01:00
Baptiste Augrain
4afe89a9ce feat: add command to provide reh url (#1392) 2023-01-30 00:03:37 +01:00
Baptiste Augrain
2d254e9368 feat: disable mangle 2023-01-29 17:42:40 +01:00
Baptiste Augrain
553b29623c fix: remove patch [skip ci] 2023-01-29 16:34:54 +01:00
VSCodium CI
73f8d5cc86 build(insider): update to commit 9ccc2b3 2023-01-20 08:13:01 +01:00
VSCodium CI
a409e6a7ec build(insider): update to commit b899232 2023-01-19 08:12:45 +01:00
Simon Sobisch
11f4749bdb Merge pull request #1374 from jaredreich/patch-1
Update README.md (updated special thanks for logo)
2023-01-18 11:27:33 +01:00
VSCodium CI
f701fd714b build(insider): update to commit 1379f03 2023-01-17 08:12:57 +01:00
VSCodium CI
ad388af833 build(insider): update to commit 2438547 2023-01-14 08:12:30 +01:00
VSCodium CI
617cc85c43 build(insider): update to commit 6d40104 2023-01-12 08:15:29 +01:00
Baptiste Augrain
6fdca57be5 build: improve patch script 2023-01-11 12:22:54 +01:00
VSCodium CI
7fffa6bcf1 build(insider): update to commit e7b5449 2023-01-11 08:16:21 +01:00
VSCodium CI
b98ae5fe32 build(insider): update to commit 04b15ff 2023-01-10 08:10:54 +01:00
Jared Reich
519d9d1e30 Update README.md special thanks for logo
Just keeping this up to date since we reverted back to the original logo from #4 
Great continued work on this project!!!
2023-01-09 14:31:44 -07:00
Baptiste Augrain
e82cd45830 fix: retrieve BUILD_SOURCEVERSION when force update versions [skip ci] 2023-01-08 16:08:05 +01:00
Baptiste Augrain
30fea6fcbd fix: force update versions [skip ci] 2023-01-08 15:37:11 +01:00
Baptiste Augrain
32637c09c8 feat: allows to forcely update versions [skip ci] 2023-01-08 15:33:27 +01:00
Baptiste Augrain
9618e11b99 chore: update api 2023-01-08 11:11:51 +01:00
Baptiste Augrain
43f11068ce fix: update mangle patch 2023-01-08 10:44:54 +01:00
Baptiste Augrain
8474e2eec6 Merge branch 'master' into insider 2023-01-08 10:39:27 +01:00
Baptiste Augrain
ceaf9ce37b fix: don't compile build dir and fix patch 2023-01-07 14:07:56 +01:00
Baptiste Augrain
57507e0abf feat: compile build dir before building editor 2023-01-07 13:40:46 +01:00
Baptiste Augrain
15addf4476 fix: patch mangle for windows (#1370) 2023-01-07 12:16:19 +01:00
VSCodium CI
df7ed19561 build(insider): update to commit 727d2d3 2023-01-07 08:12:16 +01:00
VSCodium CI
35b7b32db0 build(insider): update to commit 79c4f9b 2023-01-06 08:12:02 +01:00
VSCodium CI
26f90e6511 build(insider): update to commit 4acf2d9 2023-01-05 08:11:55 +01:00
Baptiste Augrain
3a9c276c70 fix: update github patch 2023-01-03 12:10:17 +01:00
Baptiste Augrain
1753520ee0 fix: update ms commit 2023-01-03 11:57:29 +01:00
Baptiste Augrain
2d51987163 fix: update github patch 2023-01-03 11:53:10 +01:00
Hulusi Kafalıer
f73d7b632b docs: fix invalid product.json example (#1366) 2023-01-02 08:57:17 +01:00
Nicolas Hedger
369ff79b9f Fix broken workflow badges (#1361)
* Fix broken workflow badges

* Add missing parentheses
2022-12-30 19:52:55 +02:00
VSCodium CI
a4b47f50a4 build(insider): update to commit 11238fa 2022-12-13 08:19:45 +01:00
VSCodium CI
557fc06d55 build(insider): update to commit 250a8f3 2022-12-12 08:17:47 +01:00
VSCodium CI
14ca97b75c build(insider): update to commit f076d55 2022-12-10 08:14:22 +01:00
Baptiste Augrain
3cf93c6ded enhance: update apis 2022-12-08 20:22:27 +01:00
Baptiste Augrain
12121c9c9b Merge branch 'insider' 2022-12-08 19:54:34 +01:00
VSCodium CI
5d3b20bf8f build(insider): update to commit b928944 2022-12-08 08:17:37 +01:00
VSCodium CI
b57285ebae build(insider): update to commit 5235c6b 2022-12-06 08:16:53 +01:00
Baptiste Augrain
a31e11a51e feat: add default apis for open-remote-ssh (#1344) 2022-12-02 22:22:58 +01:00
Baptiste Augrain
ee8c7f094a fix: remove recommendationsUrl 2022-12-02 20:31:45 +01:00
eugen-auschew
078ce9427f docs: changed packagename in docs.md for ApplePressAndHoldEnabled setting (#1341)
Co-authored-by: eauw <info@ea-it.de>
2022-11-30 14:02:35 +01:00
VSCodium CI
f781310c69 build(insider): update to commit d0e44be 2022-11-26 08:11:48 +01:00
Simon Sobisch
33b563c334 Merge pull request #1330 from VSCodium/docs-extensions
update concerning extension gallery
2022-11-24 20:56:04 +01:00
VSCodium CI
71277ceb29 build(insider): update to commit 2eca6d3 2022-11-24 08:22:11 +01:00
Baptiste Augrain
8b260dc895 fix(insider): update patches 2022-11-23 21:52:51 +01:00
Baptiste Augrain
25985ec81b fix(insider): test before using getPreferredSystemLanguages
closes #1335
2022-11-21 15:51:03 +01:00
VSCodium CI
50313cace5 build(insider): update to commit fef85ea 2022-11-21 08:11:50 +01:00
Baptiste Augrain
61ab6ebb68 build: add title to github's release 2022-11-20 00:42:22 +01:00
Baptiste Augrain
ef0a3400d5 fix: update patch 2022-11-18 10:36:13 +01:00
Baptiste Augrain
1bfa2d920c fix: update patch 2022-11-17 22:56:46 +01:00
VSCodium CI
7ecd465204 build(insider): update to commit 3fb8e8f 2022-11-15 08:10:09 +01:00
Simon Sobisch
c57d5aa768 update concerning extension gallery 2022-11-12 14:59:47 +01:00
Baptiste Augrain
5c3db580d5 feat(1.74): support windows 7 (#1329) 2022-11-12 10:14:22 +01:00
Baptiste Augrain
de28e119be feat(1.74): update custom gallery patch 2022-11-12 10:09:54 +01:00
Pavlo Rudy
522300a657 feat(issue): add sandbox info [skip ci] 2022-11-11 12:02:38 +02:00
Baptiste Augrain
d0b246a9e1 fix: update patches 2022-11-10 18:36:08 +01:00
Baptiste Augrain
1b48e182cb Merge branch 'master' into insider 2022-11-10 18:20:15 +01:00
Baptiste Augrain
ab5bc94dc5 Merge branch 'master' into insider 2022-11-05 13:01:29 +01:00
Baptiste Augrain
0a4c9f8822 fix: disable windows' appx (#1321) 2022-11-04 12:48:12 +01:00
25 changed files with 412 additions and 175 deletions

View File

@@ -34,6 +34,7 @@ If applicable, add screenshots to help explain your problem.
- Architecture [e.g. x64, ia32, arm64]
- Version [e.g. 1.33.0]
- App Manager [e.g. Winget, Homebrew, Snap, AUR, RPM, Nix, ...]
- Sandboxed [e.g. no, Flatpak, Snap]
**Additional context**
Add any other context about the problem here.

View File

@@ -6,6 +6,9 @@ on:
new_release:
type: boolean
description: Force new Release
force_version:
type: boolean
description: Force update version
schedule:
- cron: '0 18 * * *'
push:
@@ -188,10 +191,11 @@ jobs:
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.SHOULD_DEPLOY == 'yes'
aur:
needs:

View File

@@ -6,6 +6,9 @@ on:
new_release:
type: boolean
description: Force new Release
force_version:
type: boolean
description: Force update version
schedule:
- cron: '0 18 * * *'
push:
@@ -81,10 +84,11 @@ jobs:
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.SHOULD_DEPLOY == 'yes'
- name: Clean up keychain
if: always()

View File

@@ -6,6 +6,9 @@ on:
new_release:
type: boolean
description: Force new Release
force_version:
type: boolean
description: Force update version
schedule:
- cron: '0 18 * * *'
push:
@@ -93,10 +96,11 @@ jobs:
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.SHOULD_DEPLOY == 'yes'
winget:
needs: build

55
DOCS.md
View File

@@ -45,51 +45,72 @@ Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Exten
## <a id="extensions-marketplace"></a>Extensions + Marketplace
### <a id="howto-openvsx-marketplace"></a>How to use the OpenVSX Marketplace
Being a vscode based editor, VSCodium gets additional features by installing VS Code extensions.
Unfortunately, as Microsoft [prohibits usages of the Microsoft marketplace by any other products](https://github.com/microsoft/vscode/issues/31168) or redistribution of `.vsix` files from it, in order to use VS Code extensions in non-Microsoft products those need to be installed differently.
By default the `product.json` file is set up to use [open-vsx.org](https://open-vsx.org/) as extension gallery, which has an [adapter](https://github.com/eclipse/openvsx/wiki/Using-Open-VSX-in-VS-Code) to the Marketplace API used by VS Code. Since that is a rather new project, you will likely miss some extensions you know from the VS Code Marketplace. You have the following options to obtain such missing extensions:
By default, the `product.json` file is set up to use [open-vsx.org](https://open-vsx.org/) as extension gallery, which has an [adapter](https://github.com/eclipse/openvsx/wiki/Using-Open-VSX-in-VS-Code) to the Marketplace API used by VS Code. Since that is a rather new project, you will likely miss some extensions you know from the VS Code Marketplace. You have the following options to obtain such missing extensions:
* Ask the extension maintainers to publish to [open-vsx.org](https://open-vsx.org/) in addition to the VS Code Marketplace. The publishing process is documented in the [Open VSX Wiki](https://github.com/eclipse/openvsx/wiki/Publishing-Extensions).
* Create a pull request to [this repository](https://github.com/open-vsx/publish-extensions) to have the [@open-vsx](https://github.com/open-vsx) service account publish the extensions for you.
* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix).
* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix), for example from the release page in their source repository.
### <a id="howto-openvsx-marketplace"></a>How to use the Open VSX Registry
As noted above, the [Open VSX Registry](https://open-vsx.org/) is the pre-set extension gallery in VSCodium. Using the extension view in VSCodium will therefore by default use it.
See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on the motivation behind Open VSX.
### <a id="howto-vscode-marketplace"></a>How to use the VS Code Marketplace
### <a id="howto-switch-marketplace"></a>How to use a different extension gallery
You can switch and use the VS Code marketplace by using the following solutions. However, note that [ this is not legal](https://github.com/microsoft/vscode/issues/31168).
You can switch from the pre-set Open VSX Registry by configuring the endpoints using the following solutions.
These examples use the URLs for Microsoft's VS Code Marketplace, see [below](#howto-vscode-marketplace) for more information on that.
With the following environment variables:
- `VSCODE_GALLERY_SERVICE_URL='https://marketplace.visualstudio.com/_apis/public/gallery'`
- `VSCODE_GALLERY_CACHE_URL='https://vscode.blob.core.windows.net/gallery/index'`
- `VSCODE_GALLERY_ITEM_URL='https://marketplace.visualstudio.com/items'`
- `VSCODE_GALLERY_CACHE_URL='https://vscode.blob.core.windows.net/gallery/index'`
- `VSCODE_GALLERY_CONTROL_URL=''`
- `VSCODE_GALLERY_RECOMMENDATIONS_URL=''`
Or by creating a custom `product.json` at the following location:
Or by creating a custom `product.json` at the following location (replace `VSCodium` by `VSCodium - Insiders` if you use that):
- Windows: `%APPDATA%\VSCodium` or `%USERPROFILE%\AppData\Roaming\VSCodium`
- macOS: `~/Library/Application Support/VSCodium`
- Linux: `$XDG_CONFIG_HOME/VSCodium` or `~/.config/VSCodium`
with the content:
```json
- Note: set `cacheUrl` to empty string for every other extension gallery
```jsonc
{
"extensionsGallery": {
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
"itemUrl": "https://marketplace.visualstudio.com/items",
"controlUrl": "",
"recommendationsUrl": ""
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
"controlUrl": ""
}
}
```
### <a id="howto-selfhost-marketplace"></a>How to self-host your own VS Code Marketplace
### <a id="howto-selfhost-marketplace"></a>How to self-host your own extension gallery
Individual developers and enterprise companies in regulated or security-conscious industries can self-host their own VS Code Marketplace using the [code-marketplace](https://coder.com/blog/running-a-private-vs-code-extension-marketplace) open-source project.
Individual developers and enterprise companies in regulated or security-conscious industries can self-host their own extension gallery. In all of these cases you'd enter its endpoint URLs as noted above, replacing `marketplace.visualstudio.com` with `your-self-hosted-marketplace-address.example.com` (or IP address), setting `cacheUrl` / `VSCODE_GALLERY_CACHE_URL` to an empty string.
> `code-marketplace` is a self-contained go binary that does not have a frontend or any mechanisms for extension authors to add or update extensions in the marketplace. It simply reads extensions from file storage and provides an API for VSCode compatible editors to consume.
There are likely other options, but the following were reported to work:
* [Open VSX](https://github.com/eclipse/openvsx) eclipse open-source project
While the public instance which is run by the Eclipse Foundation is the pre-set endpoint in VSCodium, you can host your own instance.
> Open VSX is a [vendor-neutral](https://projects.eclipse.org/projects/ecd.openvsx) open-source alternative to the [Visual Studio Marketplace](https://marketplace.visualstudio.com/vscode). It provides a server application that manages [VS Code extensions](https://code.visualstudio.com/api) in a database, a web application similar to the VS Code Marketplace, and a command-line tool for publishing extensions similar to [vsce](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#vsce).
* [code-marketplace](https://coder.com/blog/running-a-private-vs-code-extension-marketplace) open-source project
> `code-marketplace` is a self-contained go binary that does not have a frontend or any mechanisms for extension authors to add or update extensions in the marketplace. It simply reads extensions from file storage and provides an API for VSCode compatible editors to consume.
### <a id="howto-vscode-marketplace"></a>How to use the VS Code Marketplace
As with any online service, ensure you've understood [its terms of use](https://aka.ms/vsmarketplace-ToU).
Also note that this extension gallery hosts multiple extensions that are non-free and have license-agreements that explicitly forbid using them in non-Microsoft products, along with using telemetry.
The endpoint URLs are given in the [example above](#howto-switch-marketplace).
### <a id="proprietary-debugging-tools"></a>Proprietary Debugging Tools
@@ -102,7 +123,7 @@ A workaround exists to get debugging working in C# projects, by using Samsung's
Like the debuggers mentioned above, some extensions you may find in the marketplace (like the [Remote Development Extensions](https://code.visualstudio.com/docs/remote/remote-overview)) only function with the official Visual Studio Code build. You can work around this by adding the extension's internal ID (found on the extension's page) to the `extensionAllowedProposedApi` property of the product.json in your VSCodium installation. For example:
```json
```jsonc
"extensionAllowedProposedApi": [
// ...
"ms-vscode-remote.vscode-remote-extensionpack",
@@ -172,7 +193,7 @@ inode/directory=codium.desktop;org.gnome.Nautilus.desktop;
This is a common question for Visual Studio Code and the procedure is slightly different in VSCodium because the `defaults` path is different.
```bash
$ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
$ defaults write com.vscodium ApplePressAndHoldEnabled -bool false
```
## <a id="terminal-support"></a>How do I open VSCodium from the terminal?

View File

@@ -13,9 +13,9 @@
[![codium](https://snapcraft.io//codium/badge.svg)](https://snapcraft.io/codium)
[![codium](https://snapcraft.io//codium/trending.svg?name=0)](https://snapcraft.io/codium)
[![build status (linux)](https://img.shields.io/github/workflow/status/VSCodium/vscodium/linux_build/master?label=build%28linux%29)](https://github.com/VSCodium/vscodium/actions/workflows/linux.yml?query=branch%3Amaster)
[![build status (macos)](https://img.shields.io/github/workflow/status/VSCodium/vscodium/macos_build/master?label=build%28macos%29)](https://github.com/VSCodium/vscodium/actions/workflows/macos.yml?query=branch%3Amaster)
[![build status (windows)](https://img.shields.io/github/workflow/status/VSCodium/vscodium/windows_build/master?label=build%28windows%29)](https://github.com/VSCodium/vscodium/actions/workflows/windows.yml?query=branch%3Amaster)
[![build status (linux)](https://img.shields.io/github/actions/workflow/status/VSCodium/vscodium/stable-linux.yml?branch=master&label=build%28linux%29)](https://github.com/VSCodium/vscodium/actions/workflows/stable-linux.yml?query=branch%3Amaster)
[![build status (macos)](https://img.shields.io/github/actions/workflow/status/VSCodium/vscodium/stable-macos.yml?branch=master&label=build%28macOS%29)](https://github.com/VSCodium/vscodium/actions/workflows/stable-macos.yml?query=branch%3Amaster)
[![build status (windows)](https://img.shields.io/github/actions/workflow/status/VSCodium/vscodium/stable-windows.yml?branch=master&label=build%28windows%29)](https://github.com/VSCodium/vscodium/actions/workflows/stable-windows.yml?query=branch%3Amaster)
</div>
@@ -166,13 +166,9 @@ If you would like to support the development of VSCodium, feel free to send BTC
Special thanks to:
<table>
<tr>
<td>@estatra</td>
<td>for the latest logo</td>
</tr>
<tr>
<td><a href="https://github.com/jaredreich" target="_blank">@jaredreich</a></td>
<td>for the previous logo</td>
<td>for the logo</td>
</tr>
<tr>
<td><a href="https://github.com/PalinuroSec" target="_blank">@PalinuroSec</a></td>

View File

@@ -7,8 +7,9 @@
export APP_NAME="VSCodium"
export CI_BUILD="no"
export SHOULD_BUILD="yes"
export SKIP_BUILD="no"
export SKIP_ASSETS="yes"
export SKIP_BUILD="no"
export SKIP_SOURCE="no"
export VSCODE_LATEST="no"
export VSCODE_QUALITY="stable"
@@ -26,6 +27,9 @@ while getopts ":ilop" opt; do
p)
export SKIP_ASSETS="no"
;;
s)
export SKIP_SOURCE="yes"
;;
esac
done
@@ -50,29 +54,29 @@ else
fi
echo "OS_NAME=\"${OS_NAME}\""
echo "SKIP_SOURCE=\"${SKIP_SOURCE}\""
echo "SKIP_BUILD=\"${SKIP_BUILD}\""
echo "SKIP_ASSETS=\"${SKIP_ASSETS}\""
echo "VSCODE_ARCH=\"${VSCODE_ARCH}\""
echo "VSCODE_LATEST=\"${VSCODE_LATEST}\""
echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\""
if [[ "${SKIP_BUILD}" == "no" ]]; then
if [[ "${SKIP_SOURCE}" == "no" ]]; then
rm -rf vscode* VSCode*
. get_repo.sh
. version.sh
# save variables for later
echo "MS_TAG=\"${MS_TAG}\"" > build.env
echo "MS_COMMIT=\"${MS_COMMIT}\"" >> build.env
echo "RELEASE_VERSION=\"${RELEASE_VERSION}\"" >> build.env
echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\"" >> build.env
. build.sh
if [[ "${VSCODE_QUALITY}" == "insider" && "${VSCODE_LATEST}" == "yes" ]]; then
echo "$( cat "insider.json" | jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. | .tag=$tag | .commit=$commit' )" > "insider.json"
fi
else
if [[ "${SKIP_ASSETS}" != "no" ]]; then
rm -rf VSCode*
fi
. build.env
echo "MS_TAG=\"${MS_TAG}\""
@@ -81,6 +85,23 @@ else
echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\""
fi
if [[ "${SKIP_BUILD}" == "no" ]]; then
if [[ "${SKIP_SOURCE}" != "no" ]]; then
cd vscode || { echo "'vscode' dir not found"; exit 1; }
git add .
git reset -q --hard HEAD
cd ..
fi
. build.sh
if [[ "${VSCODE_QUALITY}" == "insider" && "${VSCODE_LATEST}" == "yes" ]]; then
echo "$( cat "insider.json" | jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. | .tag=$tag | .commit=$commit' )" > "insider.json"
fi
fi
if [[ "${SKIP_ASSETS}" == "no" ]]; then
if [[ "${OS_NAME}" == "windows" ]]; then
rm -rf build/windows/msi/releasedir

View File

@@ -30,4 +30,6 @@ fi
APIS=`cat ${DIRECTORY}/resources/app/product.json | jq -r '.extensionEnabledApiProposals'`
APIS=`echo "${APIS}" | jq '. += {"jeanp413.open-remote-ssh": ["resolvers", "tunnels", "terminalDataWriteEvent", "contribRemoteHelp", "contribViewsRemote"]}'`
cat <<< $(jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json) > product.json

View File

@@ -1,21 +1,50 @@
#!/bin/bash
export VSCODE_QUALITY="stable"
while getopts ":ilp" opt; do
case "$opt" in
i)
export VSCODE_QUALITY="insider"
;;
esac
done
cd vscode || { echo "'vscode' dir not found"; exit 1; }
git add .
git reset -q --hard HEAD
for file in ../patches/*.patch; do
if [ -f "${file}" ]; then
echo applying patch: "${file}"
git apply --ignore-whitespace "${file}"
for FILE in ../patches/*.patch; do
if [ -f "${FILE}" ]; then
echo applying patch: "${FILE}"
git apply --ignore-whitespace "${FILE}"
if [ $? -ne 0 ]; then
echo failed to apply patch "${file}"
git apply --reject "${file}"
echo failed to apply patch "${FILE}"
git apply --reject "${FILE}"
read -p "Press any key when the conflict have been resolved..." -n1 -s
git diff -U1 > "${file}"
git add .
git diff --staged -U1 > "${FILE}"
fi
git add .
git reset -q --hard HEAD
fi
done
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
for FILE in ../patches/insider/*.patch; do
if [ -f "${FILE}" ]; then
echo applying patch: "${FILE}"
git apply --ignore-whitespace "${FILE}"
if [ $? -ne 0 ]; then
echo failed to apply patch "${FILE}"
git apply --reject "${FILE}"
read -p "Press any key when the conflict have been resolved..." -n1 -s
git add .
git diff --staged -U1 > "${FILE}"
fi
git add .
git reset -q --hard HEAD
fi
done
fi

View File

@@ -1,4 +1,4 @@
{
"tag": "1.73.0",
"commit": "8fa188b2b301d36553cbc9ce1b0a146ccb93351f"
"tag": "1.75.0",
"commit": "e2816fe719a4026ffa1ee0189dc89bdfdbafb164"
}

View File

@@ -1,12 +1,12 @@
#!/bin/bash
set -e
set -ex
GH_ARCH="amd64"
VERSION=`curl "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2-`
VERSION=`curl --retry 12 --retry-delay 30 "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2-`
curl -sSL "https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
curl --retry 12 --retry-delay 120 -sSL "https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
tar xf "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"

View File

@@ -1,6 +1,10 @@
#!/bin/bash
FILE="../patches/${1}.patch"
if [[ "${1}" == *patch ]]; then
FILE="../patches/${1}"
else
FILE="../patches/${1}.patch"
fi
cd vscode || { echo "'vscode' dir not found"; exit 1; }
@@ -11,8 +15,12 @@ if [[ -f "${FILE}" ]]; then
git apply --reject "${FILE}"
fi
git apply --reject "../patches/helper/settings.patch"
read -p "Press any key when the conflict have been resolved..." -n1 -s
git restore .vscode/settings.json
git add .
git diff --staged -U1 > "${FILE}"

View File

@@ -1,78 +1,69 @@
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 3907bc7..1772769 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -88,3 +88,3 @@
"editor.defaultFormatter": "vscode.typescript-language-features",
- "editor.formatOnSave": true
+ // "editor.formatOnSave": true
},
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index 980f647..959fb88 100644
index f3cdbff..ac7c39b 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -245,4 +245,5 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
@@ -246,4 +246,5 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
const name = product.nameShort;
+ const release = packageJson.release;
const packageJsonStream = gulp.src(['remote/package.json'], { base: 'remote' })
- .pipe(json({ name, version, dependencies: undefined, optionalDependencies: undefined }));
+ .pipe(json({ name, version, release, dependencies: undefined, optionalDependencies: undefined }));
@@ -251,3 +252,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
@@ -252,3 +253,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
const productJsonStream = gulp.src(['product.json'], { base: '.' })
- .pipe(json({ commit, date, version }));
+ .pipe(json({ commit, date, version, release }));
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 6947d1e..80f358e 100644
index cdc802b..49ab315 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -224,3 +224,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
@@ -227,3 +227,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
- let version = packageJson.version;
+ let version = packageJson.version
const quality = product.quality;
@@ -232,3 +232,4 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
@@ -235,3 +235,4 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
const name = product.nameShort;
- const packageJsonUpdates = { name, version };
+ const release = packageJson.release;
+ const packageJsonUpdates = { name, version, release };
@@ -243,3 +244,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
@@ -246,3 +247,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
const date = new Date().toISOString();
- const productJsonUpdate = { commit, date, checksums, version };
+ const productJsonUpdate = { commit, date, checksums, version, release };
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
index 4a25ca5..ca33d2e 100644
index cdc8870..f6e4e09 100644
--- a/build/gulpfile.vscode.linux.js
+++ b/build/gulpfile.vscode.linux.js
@@ -24,4 +24,2 @@ const commit = util.getVersion(root);
@@ -25,4 +25,2 @@ const commit = getVersion(root);
-const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
-
/**
@@ -87,3 +85,3 @@ function prepareDebPackage(arch) {
@@ -88,3 +86,3 @@ function prepareDebPackage(arch) {
.pipe(replace('@@NAME@@', product.applicationName))
- .pipe(replace('@@VERSION@@', packageJson.version + '-' + linuxPackageRevision))
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
.pipe(replace('@@ARCHITECTURE@@', debArch))
@@ -192,4 +190,3 @@ function prepareRpmPackage(arch) {
@@ -193,4 +191,3 @@ function prepareRpmPackage(arch) {
.pipe(replace('@@ICON@@', product.linuxIconName))
- .pipe(replace('@@VERSION@@', packageJson.version))
- .pipe(replace('@@RELEASE@@', linuxPackageRevision))
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
.pipe(replace('@@ARCHITECTURE@@', rpmArch))
@@ -266,3 +263,3 @@ function prepareSnapPackage(arch) {
@@ -267,3 +264,3 @@ function prepareSnapPackage(arch) {
.pipe(replace('@@NAME@@', product.applicationName))
- .pipe(replace('@@VERSION@@', commit.substr(0, 8)))
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
// Possible run-on values https://snapcraft.io/docs/architectures
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
index 81ba509..43f5377 100644
index 0d3abda..2606af5 100644
--- a/build/gulpfile.vscode.win32.js
+++ b/build/gulpfile.vscode.win32.js
@@ -93,4 +93,4 @@ function buildWin32Setup(arch, target) {
@@ -94,4 +94,4 @@ function buildWin32Setup(arch, target) {
DirName: product.win32DirName,
- Version: pkg.version,
- RawVersion: pkg.version.replace(/-\w+$/, ''),
@@ -89,7 +80,7 @@ index 61659d2..5cafa06 100644
+Release: el7
Summary: Code editing. Redefined.
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
index e07695c..55ccc32 100644
index 7ec238b..9295018 100644
--- a/src/vs/base/common/product.ts
+++ b/src/vs/base/common/product.ts
@@ -34,2 +34,3 @@ export interface IProductConfiguration {
@@ -97,22 +88,22 @@ index e07695c..55ccc32 100644
+ readonly release: string;
readonly date?: string;
diff --git a/src/vs/platform/diagnostics/node/diagnosticsService.ts b/src/vs/platform/diagnostics/node/diagnosticsService.ts
index 66e35c8..087c055 100644
index 561966b..30814a0 100644
--- a/src/vs/platform/diagnostics/node/diagnosticsService.ts
+++ b/src/vs/platform/diagnostics/node/diagnosticsService.ts
@@ -238,3 +238,3 @@ export class DiagnosticsService implements IDiagnosticsService {
@@ -236,3 +236,3 @@ export class DiagnosticsService implements IDiagnosticsService {
const output: string[] = [];
- output.push(`Version: ${this.productService.nameShort} ${this.productService.version} (${this.productService.commit || 'Commit unknown'}, ${this.productService.date || 'Date unknown'})`);
+ output.push(`Version: ${this.productService.nameShort} ${this.productService.version} ${this.productService.release || 'Release unknown'} (${this.productService.commit || 'Commit unknown'}, ${this.productService.date || 'Date unknown'})`);
output.push(`OS Version: ${osLib.type()} ${osLib.arch()} ${osLib.release()}`);
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
index bceda01..4fe44e2 100644
index ef798fa..cfa7866 100644
--- a/src/vs/platform/product/common/product.ts
+++ b/src/vs/platform/product/common/product.ts
@@ -49,6 +49,7 @@ else if (typeof require?.__$__nodeRequire === 'function') {
@@ -43,6 +43,7 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
if (!product.version) {
- const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string };
+ const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string, release: string };
- const pkg = globalThis._VSCODE_PACKAGE_JSON as { version: string };
+ const pkg = globalThis._VSCODE_PACKAGE_JSON as { version: string, release: string };
Object.assign(product, {
- version: pkg.version
@@ -120,19 +111,19 @@ index bceda01..4fe44e2 100644
+ release: pkg.release
});
diff --git a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
index ec4ff95..2ed2c03 100644
index 6a3768d..023eeed 100644
--- a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
+++ b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
@@ -22,2 +22,3 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { MarkdownRenderer } from 'vs/editor/contrib/markdownRenderer/browser/markdownRenderer';
@@ -21,2 +21,3 @@ import { MarkdownRenderer } from 'vs/editor/contrib/markdownRenderer/browser/mar
import { defaultButtonStyles, defaultCheckboxStyles, defaultDialogStyles, defaultInputBoxStyles } from 'vs/platform/theme/browser/defaultStyles';
+import { getReleaseString } from 'vs/workbench/common/release';
@@ -145,2 +146,4 @@ export class BrowserDialogHandler implements IDialogHandler {
@@ -147,2 +148,4 @@ export class BrowserDialogHandler implements IDialogHandler {
const detailString = (useAgo: boolean): string => {
+ const releaseString = getReleaseString();
+
return localize('aboutDetail',
@@ -151,3 +154,3 @@ export class BrowserDialogHandler implements IDialogHandler {
@@ -153,3 +156,3 @@ export class BrowserDialogHandler implements IDialogHandler {
navigator.userAgent
- );
+ ).replace('\n', `\n${releaseString} ${this.productService.release || 'Unknown'}\n`);

View File

@@ -1,20 +1,21 @@
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
index bceda01..174c766 100644
index ef798fa..5a0550b 100644
--- a/src/vs/platform/product/common/product.ts
+++ b/src/vs/platform/product/common/product.ts
@@ -6,3 +6,3 @@
import { FileAccess } from 'vs/base/common/network';
@@ -5,3 +5,4 @@
-import { globals } from 'vs/base/common/platform';
+import { AppResourcePath, FileAccess } from 'vs/base/common/network';
+import { globals, isWindows } from 'vs/base/common/platform';
import { env } from 'vs/base/common/process';
@@ -11,2 +11,3 @@ import { dirname, joinPath } from 'vs/base/common/resources';
@@ -9,2 +10,3 @@ import { IProductConfiguration } from 'vs/base/common/product';
import { ISandboxConfiguration } from 'vs/base/parts/sandbox/common/sandboxTypes';
+import { getUserDataPath } from 'vs/platform/environment/node/userDataPath';
@@ -35,2 +36,41 @@ else if (typeof require?.__$__nodeRequire === 'function') {
@@ -29,2 +31,40 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
+ // Set user-defined extension gallery
+ const { serviceUrl, searchUrl, itemUrl, controlUrl, recommendationsUrl } = product.extensionsGallery || {}
+ const { serviceUrl, searchUrl, itemUrl, controlUrl } = product.extensionsGallery || {}
+
+ Object.assign(product, {
+ extensionsGallery: {
@@ -22,7 +23,6 @@ index bceda01..174c766 100644
+ searchUrl: env['VSCODE_GALLERY_SEARCH_URL'] || searchUrl,
+ itemUrl: env['VSCODE_GALLERY_ITEM_URL'] || itemUrl,
+ controlUrl: env['VSCODE_GALLERY_CONTROL_URL'] || controlUrl,
+ recommendationsUrl: env['VSCODE_GALLERY_RECOMMENDATIONS_URL'] || recommendationsUrl
+ }
+ })
+
@@ -46,7 +46,7 @@ index bceda01..174c766 100644
+ const userDataPath = getUserDataPath({} as any, product.nameShort);
+ const userProductPath = isWindows ? `file:///${userDataPath}/product.json` : `file://${userDataPath}/product.json`;
+
+ const userProduct = require.__$__nodeRequire(FileAccess.asFileUri(userProductPath, require).fsPath);
+ const userProduct = require.__$__nodeRequire(FileAccess.asFileUri(userProductPath as AppResourcePath).fsPath);
+
+ product = merge(product, userProduct);
+ } catch (ex) {

View File

@@ -0,0 +1,23 @@
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 7ae8bce..724b9ad 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -9,5 +9,5 @@
"cli/target": true,
- "build/**/*.js": {
- "when": "$(basename).ts"
- }
+ // "build/**/*.js": {
+ // "when": "$(basename).ts"
+ // }
},
@@ -81,3 +81,3 @@
"gulp.autoDetect": "off",
- "files.insertFinalNewline": true,
+ // "files.insertFinalNewline": true,
"[plaintext]": {
@@ -91,3 +91,3 @@
"editor.defaultFormatter": "vscode.typescript-language-features",
- "editor.formatOnSave": true
+ // "editor.formatOnSave": true
},

View File

@@ -0,0 +1,23 @@
diff --git a/src/vs/workbench/contrib/remote/browser/remote.contribution.ts b/src/vs/workbench/contrib/remote/browser/remote.contribution.ts
index 63e7f2d..e9a6b7d 100644
--- a/src/vs/workbench/contrib/remote/browser/remote.contribution.ts
+++ b/src/vs/workbench/contrib/remote/browser/remote.contribution.ts
@@ -13,2 +13,4 @@ import { RemoteStatusIndicator } from 'vs/workbench/contrib/remote/browser/remot
import { AutomaticPortForwarding, ForwardedPortsView, PortRestore } from 'vs/workbench/contrib/remote/browser/remoteExplorer';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { localize } from 'vs/nls';
@@ -23 +25,13 @@ workbenchContributionsRegistry.registerWorkbenchContribution(AutomaticPortForwar
workbenchContributionsRegistry.registerWorkbenchContribution(RemoteMarkers, LifecyclePhase.Eventually);
+
+CommandsRegistry.registerCommand({
+ id: 'remote.serverDownloadUrlTemplate',
+ description: {
+ description: localize('remote.serverDownloadUrlTemplate', 'Provides the url template to download the server archive'),
+ args: [],
+ returns: 'string',
+ },
+ handler: async (_) => {
+ return 'https://github.com/VSCodium/vscodium-insiders/releases/download/${version}.${release}-insider/vscodium-reh-${os}-${arch}-${version}.${release}-insider.tar.gz';
+ }
+});

View File

@@ -1,21 +1,9 @@
diff --git a/src/vs/platform/windows/electron-main/windowImpl.ts b/src/vs/platform/windows/electron-main/windowImpl.ts
index c9501cb..a6958ff 100644
index 3b8a644..71ea0ad 100644
--- a/src/vs/platform/windows/electron-main/windowImpl.ts
+++ b/src/vs/platform/windows/electron-main/windowImpl.ts
@@ -42,7 +42,6 @@ import { Color } from 'vs/base/common/color';
import { IPolicyService } from 'vs/platform/policy/common/policy';
import { IUserDataProfile } from 'vs/platform/userDataProfile/common/userDataProfile';
import { IStateMainService } from 'vs/platform/state/electron-main/state';
-import product from 'vs/platform/product/common/product';
import { IUserDataProfilesMainService } from 'vs/platform/userDataProfile/electron-main/userDataProfile';
export interface IWindowCreationOptions {
@@ -203,7 +202,7 @@ export class CodeWindow extends Disposable implements ICodeWindow {
if (typeof windowSettings?.experimental?.useSandbox === 'boolean') {
useSandbox = windowSettings.experimental.useSandbox;
} else {
- useSandbox = typeof product.quality === 'string' && product.quality !== 'stable';
+ useSandbox = false;
@@ -213,4 +213,2 @@ export class CodeWindow extends Disposable implements ICodeWindow {
useSandbox = true;
- } else {
- useSandbox = typeof this.productService.quality === 'string' && this.productService.quality !== 'stable';
}
const options: BrowserWindowConstructorOptions & { experimentalDarkMode: boolean } = {

View File

@@ -0,0 +1,15 @@
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
index 0d3abda..9e5143a 100644
--- a/build/gulpfile.vscode.win32.js
+++ b/build/gulpfile.vscode.win32.js
@@ -116,6 +116,6 @@ function buildWin32Setup(arch, target) {
- if (quality === 'insider') {
- definitions['AppxPackage'] = `code_insiders_explorer_${arch === 'ia32' ? 'x86' : arch}.appx`;
- definitions['AppxPackageFullname'] = `Microsoft.${product.win32RegValueName}_1.0.0.0_neutral__8wekyb3d8bbwe`;
- }
+ // if (quality === 'insider') {
+ // definitions['AppxPackage'] = `code_insiders_explorer_${arch === 'ia32' ? 'x86' : arch}.appx`;
+ // definitions['AppxPackageFullname'] = `Microsoft.${product.win32RegValueName}_1.0.0.0_neutral__8wekyb3d8bbwe`;
+ // }

View File

@@ -0,0 +1,66 @@
diff --git a/build/lib/compilation.js b/build/lib/compilation.js
index 71bc9fb..238a3b9 100644
--- a/build/lib/compilation.js
+++ b/build/lib/compilation.js
@@ -20,3 +20,2 @@ const File = require("vinyl");
const task = require("./task");
-const mangleTypeScript_1 = require("./mangleTypeScript");
const watch = require('./watch');
@@ -103,23 +102,3 @@ function compileTask(src, out, build) {
}
- // mangle: TypeScript to TypeScript
- let mangleStream = es.through();
- if (build) {
- let ts2tsMangler = new mangleTypeScript_1.Mangler(compile.projectPath, (...data) => fancyLog(ansiColors.blue('[mangler]'), ...data));
- const newContentsByFileName = ts2tsMangler.computeNewFileContents();
- mangleStream = es.through(function write(data) {
- const newContents = newContentsByFileName.get(data.path);
- if (newContents !== undefined) {
- data.contents = Buffer.from(newContents.out);
- data.sourceMap = newContents.sourceMap && JSON.parse(newContents.sourceMap);
- }
- this.push(data);
- }, function end() {
- this.push(null);
- // free resources
- newContentsByFileName.clear();
- ts2tsMangler = undefined;
- });
- }
return srcPipe
- .pipe(mangleStream)
.pipe(generator.stream)
diff --git a/build/lib/compilation.ts b/build/lib/compilation.ts
index 8e0f19a..27ea44c 100644
--- a/build/lib/compilation.ts
+++ b/build/lib/compilation.ts
@@ -19,4 +19,2 @@ import * as File from 'vinyl';
import * as task from './task';
-import { Mangler } from './mangleTypeScript';
-import { RawSourceMap } from 'source-map';
const watch = require('./watch');
@@ -123,24 +121,3 @@ export function compileTask(src: string, out: string, build: boolean): () => Nod
- // mangle: TypeScript to TypeScript
- let mangleStream = es.through();
- if (build) {
- let ts2tsMangler = new Mangler(compile.projectPath, (...data) => fancyLog(ansiColors.blue('[mangler]'), ...data));
- const newContentsByFileName = ts2tsMangler.computeNewFileContents();
- mangleStream = es.through(function write(data: File & { sourceMap?: RawSourceMap }) {
- const newContents = newContentsByFileName.get(data.path);
- if (newContents !== undefined) {
- data.contents = Buffer.from(newContents.out);
- data.sourceMap = newContents.sourceMap && JSON.parse(newContents.sourceMap);
- }
- this.push(data);
- }, function end() {
- this.push(null);
- // free resources
- newContentsByFileName.clear();
- (<any>ts2tsMangler) = undefined;
- });
- }
-
return srcPipe
- .pipe(mangleStream)
.pipe(generator.stream)

View File

@@ -1,18 +1,19 @@
diff --git a/extensions/github-authentication/src/githubServer.ts b/extensions/github-authentication/src/githubServer.ts
index 830e698..cd6f27e 100644
index 8565178..e35d29f 100644
--- a/extensions/github-authentication/src/githubServer.ts
+++ b/extensions/github-authentication/src/githubServer.ts
@@ -7,4 +7,2 @@ import * as vscode from 'vscode';
import fetch, { Response } from 'node-fetch';
-import { v4 as uuid } from 'uuid';
@@ -6,4 +6,2 @@
import * as vscode from 'vscode';
-import * as path from 'path';
-import { PromiseAdapter, promiseFromEvent } from './common/utils';
import { ExperimentationTelemetry } from './experimentationService';
@@ -12,13 +10,4 @@ import { AuthProviderType } from './github';
import { ExperimentationTelemetry } from './common/experimentationService';
@@ -11,14 +9,6 @@ import { AuthProviderType, UriEventHandler } from './github';
import { Log } from './common/logger';
-import { isSupportedEnvironment } from './common/env';
-import { LoopbackAuthServer } from './authServer';
-import path = require('path');
-
-import { LoopbackAuthServer } from './node/authServer';
-import { crypto } from './node/crypto';
import { fetching } from './node/fetch';
-const CLIENT_ID = '01ab8ac9400c4e429b23';
-const GITHUB_TOKEN_URL = 'https://vscode.dev/codeExchangeProxyEndpoints/github/login/oauth/access_token';
const NETWORK_ERROR = 'network error';
@@ -20,8 +21,8 @@ index 830e698..cd6f27e 100644
-const REDIRECT_URL_STABLE = 'https://vscode.dev/redirect';
-const REDIRECT_URL_INSIDERS = 'https://insiders.vscode.dev/redirect';
-
class UriEventHandler extends vscode.EventEmitter<vscode.Uri> implements vscode.UriHandler {
@@ -42,9 +31,2 @@ export interface IGitHubServer extends vscode.Disposable {
export interface IGitHubServer {
@@ -30,8 +20,2 @@ export interface IGitHubServer {
-interface IGitHubDeviceCodeResponse {
- device_code: string;
@@ -29,32 +30,29 @@ index 830e698..cd6f27e 100644
- verification_uri: string;
- interval: number;
-}
-
async function getScopes(token: string, serverUri: vscode.Uri, logger: Log): Promise<string[]> {
@@ -55,3 +37,3 @@ async function getScopes(token: string, serverUri: vscode.Uri, logger: Log): Pro
Authorization: `token ${token}`,
- 'User-Agent': 'Visual-Studio-Code'
+ 'User-Agent': 'VSCodium'
}
@@ -75,7 +57,4 @@ export class GitHubServer implements IGitHubServer {
- private _pendingNonces = new Map<string, string[]>();
- private _codeExchangePromises = new Map<string, { promise: Promise<string>; cancel: vscode.EventEmitter<void> }>();
private _disposable: vscode.Disposable | undefined;
private static _uriHandler: UriEventHandler | undefined;
@@ -63,8 +47,4 @@ export class GitHubServer implements IGitHubServer {
- private readonly _pendingNonces = new Map<string, string[]>();
- private readonly _codeExchangePromises = new Map<string, { promise: Promise<string>; cancel: vscode.EventEmitter<void> }>();
private readonly _type: AuthProviderType;
- private _redirectEndpoint: string | undefined;
@@ -83,2 +62,3 @@ export class GitHubServer implements IGitHubServer {
public readonly type: AuthProviderType,
-
constructor(
@@ -72,3 +52,5 @@ export class GitHubServer implements IGitHubServer {
private readonly _telemetryReporter: ExperimentationTelemetry,
+ // @ts-ignore
private readonly _supportDeviceCodeFlow: boolean,
@@ -102,41 +82,2 @@ export class GitHubServer implements IGitHubServer {
private readonly _uriHandler: UriEventHandler,
+ // @ts-ignore
private readonly _extensionKind: vscode.ExtensionKind,
@@ -87,41 +69,2 @@ export class GitHubServer implements IGitHubServer {
- private async getRedirectEndpoint(): Promise<string> {
- if (this._redirectEndpoint) {
- return this._redirectEndpoint;
- }
- if (this.type === AuthProviderType.github) {
- if (this._type === AuthProviderType.github) {
- const proxyEndpoints = await vscode.commands.executeCommand<{ [providerId: string]: string } | undefined>('workbench.getCodeExchangeProxyEndpoints');
- // If we are running in insiders vscode.dev, then ensure we use the redirect route on that.
- this._redirectEndpoint = REDIRECT_URL_STABLE;
@@ -64,7 +62,7 @@ index 830e698..cd6f27e 100644
- return this._redirectEndpoint;
- } else {
- // GHES
- const result = await fetch(this.getServerUri('/meta').toString(true));
- const result = await fetching(this.getServerUri('/meta').toString(true));
- if (result.ok) {
- try {
- const json: { installed_version: string } = await result.json();
@@ -89,8 +87,8 @@ index 830e698..cd6f27e 100644
- return this._redirectEndpoint;
- }
-
dispose() {
@@ -156,58 +97,8 @@ export class GitHubServer implements IGitHubServer {
// TODO@joaomoreno TODO@TylerLeonhardt
@@ -137,57 +80,2 @@ export class GitHubServer implements IGitHubServer {
let userCancelled: boolean | undefined;
- const yes = vscode.l10n.t('Yes');
- const no = vscode.l10n.t('No');
@@ -108,9 +106,9 @@ index 830e698..cd6f27e 100644
- }
- };
-
- const nonce = uuid();
- const nonce: string = crypto.getRandomValues(new Uint32Array(2)).reduce((prev, curr) => prev += curr.toString(16), '');
- const callbackUri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://vscode.github-authentication/did-authenticate?nonce=${encodeURIComponent(nonce)}`));
-
- const supported = isSupportedEnvironment(callbackUri);
- if (supported) {
- try {
@@ -121,8 +119,13 @@ index 830e698..cd6f27e 100644
- }
- }
-
- // Starting a local server isn't supported in web
- if (vscode.env.uiKind === vscode.UIKind.Desktop) {
- // Starting a local server is only supported if:
- // 1. We are in a UI extension because we need to open a port on the machine that has the browser
- // 2. We are in a node runtime because we need to open a port on the machine
- if (
- this._extensionKind === vscode.ExtensionKind.UI &&
- typeof navigator === 'undefined'
- ) {
- try {
- await promptToContinue();
- return await this.doLoginWithLocalServer(scopes);
@@ -132,7 +135,8 @@ index 830e698..cd6f27e 100644
- }
- }
-
- if (this._supportDeviceCodeFlow) {
- // We only can use the Device Code flow when we have a full node environment because of CORS.
- if (typeof navigator === 'undefined') {
- try {
- await promptToContinue();
- return await this.doLoginDeviceCodeFlow(scopes);
@@ -140,7 +144,11 @@ index 830e698..cd6f27e 100644
- this._logger.error(e);
- userCancelled = e.message ?? e === 'User Cancelled';
- }
- } else if (!supported) {
- }
@@ -195,10 +83,7 @@ export class GitHubServer implements IGitHubServer {
// With that said, GitHub Enterprise isn't used by Settings Sync so we can use PATs for that.
- if (!supported || this._type === AuthProviderType.githubEnterprise) {
- try {
- await promptToContinue();
- return await this.doLoginWithPat(scopes);
@@ -154,7 +162,7 @@ index 830e698..cd6f27e 100644
+ this._logger.error(e);
+ userCancelled = e.message ?? e === 'User Cancelled';
}
@@ -217,136 +108,2 @@ export class GitHubServer implements IGitHubServer {
@@ -208,136 +93,2 @@ export class GitHubServer implements IGitHubServer {
- private async doLoginWithoutLocalServer(scopes: string, nonce: string, callbackUri: vscode.Uri): Promise<string> {
- this._logger.info(`Trying without local server... (${scopes})`);
@@ -187,7 +195,7 @@ index 830e698..cd6f27e 100644
- // before completing it.
- let codeExchangePromise = this._codeExchangePromises.get(scopes);
- if (!codeExchangePromise) {
- codeExchangePromise = promiseFromEvent(GitHubServer._uriHandler!.event, this.handleUri(scopes));
- codeExchangePromise = promiseFromEvent(this._uriHandler!.event, this.handleUri(scopes));
- this._codeExchangePromises.set(scopes, codeExchangePromise);
- }
-
@@ -258,7 +266,7 @@ index 830e698..cd6f27e 100644
- path: '/login/device/code',
- query: `client_id=${CLIENT_ID}&scope=${scopes}`
- });
- const result = await fetch(uri.toString(true), {
- const result = await fetching(uri.toString(true), {
- method: 'POST',
- headers: {
- Accept: 'application/json'
@@ -291,7 +299,7 @@ index 830e698..cd6f27e 100644
- }
-
private async doLoginWithPat(scopes: string): Promise<string> {
@@ -374,124 +131,2 @@ export class GitHubServer implements IGitHubServer {
@@ -381,124 +132,2 @@ export class GitHubServer implements IGitHubServer {
- private async waitForDeviceCodeAccessToken(
- json: IGitHubDeviceCodeResponse,
@@ -322,7 +330,7 @@ index 830e698..cd6f27e 100644
- }
- let accessTokenResult;
- try {
- accessTokenResult = await fetch(refreshTokenUri.toString(true), {
- accessTokenResult = await fetching(refreshTokenUri.toString(true), {
- method: 'POST',
- headers: {
- Accept: 'application/json'
@@ -388,11 +396,11 @@ index 830e698..cd6f27e 100644
- const endpointUrl = proxyEndpoints?.github ? `${proxyEndpoints.github}login/oauth/access_token` : GITHUB_TOKEN_URL;
-
- const body = new URLSearchParams([['code', code]]);
- if (this.type === AuthProviderType.githubEnterprise) {
- if (this._type === AuthProviderType.githubEnterprise) {
- body.append('github_enterprise', this.baseUri.toString(true));
- body.append('redirect_uri', await this.getRedirectEndpoint());
- }
- const result = await fetch(endpointUrl, {
- const result = await fetching(endpointUrl, {
- method: 'POST',
- headers: {
- Accept: 'application/json',
@@ -417,19 +425,19 @@ index 830e698..cd6f27e 100644
-
private getServerUri(path: string = '') {
diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
index ce2a3e8..2a5cf60 100644
index 266311d..f066323 100644
--- a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
+++ b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
@@ -306,3 +306,3 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem {
@@ -307,3 +307,3 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem {
- if (providers.length && !menus.length) {
+ if (!menus.length) {
const noAccountsAvailableAction = disposables.add(new Action('noAccountsAvailable', localize('noAccounts', "You are not signed in to any accounts"), undefined, false));
diff --git a/src/vs/workbench/services/authentication/browser/authenticationService.ts b/src/vs/workbench/services/authentication/browser/authenticationService.ts
index d5e2b75..a996eb7 100644
index 8dd6e19..10c2611 100644
--- a/src/vs/workbench/services/authentication/browser/authenticationService.ts
+++ b/src/vs/workbench/services/authentication/browser/authenticationService.ts
@@ -279,12 +279,2 @@ export class AuthenticationService extends Disposable implements IAuthentication
@@ -274,12 +274,2 @@ export class AuthenticationService extends Disposable implements IAuthentication
}
-
- if (!this._authenticationProviders.size) {

9
patches/win7.patch Normal file
View File

@@ -0,0 +1,9 @@
diff --git a/build/win32/code.iss b/build/win32/code.iss
index d365ab1..1a02701 100644
--- a/build/win32/code.iss
+++ b/build/win32/code.iss
@@ -28,3 +28,3 @@ ChangesEnvironment=true
ChangesAssociations=true
-MinVersion=6.2
+MinVersion=6.1.7600
SourceDir={#SourceDir}

View File

@@ -48,10 +48,10 @@
],
"extensionEnabledApiProposals": {
"ms-vscode.vscode-selfhost-test-provider": [
"testObserver"
"testObserver",
"testContinuousRun"
],
"VisualStudioExptTeam.vscodeintellicode-completions": [
"inlineCompletionsNew",
"inlineCompletionsAdditions"
],
"ms-vsliveshare.vsliveshare": [
@@ -70,7 +70,6 @@
"portsAttributes",
"findTextInFiles",
"workspaceTrust",
"resolvers",
"tunnels"
],
"ms-toolsai.vscode-ai-remote": [
@@ -78,7 +77,8 @@
],
"ms-python.python": [
"quickPickSortByLabel",
"testObserver"
"testObserver",
"telemetryLogger"
],
"ms-dotnettools.dotnet-interactive-vscode": [
"notebookMessaging"
@@ -112,6 +112,7 @@
"fileSearchProvider",
"quickPickSortByLabel",
"workspaceTrust",
"scmActionButton",
"scmSelectedProvider",
"scmValidation",
"textSearchProvider",
@@ -119,6 +120,7 @@
],
"ms-vscode-remote.remote-wsl": [
"resolvers",
"contribRemoteHelp",
"contribViewsRemote",
"telemetry"
],
@@ -126,14 +128,15 @@
"resolvers",
"tunnels",
"terminalDataWriteEvent",
"contribRemoteHelp",
"contribViewsRemote",
"telemetry"
],
"ms-vscode.remote-server": [
"resolvers",
"tunnels"
"resolvers"
],
"ms-vscode.remote-explorer": [
"contribRemoteHelp",
"contribViewsRemote",
"extensionsAny"
],
@@ -143,31 +146,34 @@
"tunnels",
"workspaceTrust",
"terminalDimensions",
"contribRemoteHelp",
"contribViewsRemote"
],
"ms-vscode.js-debug-nightly": [
"portsAttributes",
"findTextInFiles",
"workspaceTrust",
"resolvers",
"tunnels"
],
"ms-vscode.lsif-browser": [
"documentFiltersExclusive"
],
"GitHub.vscode-pull-request-github": [
"contribCommentThreadAdditionalMenu",
"tokenInformation",
"commentsResolvedState",
"contribShareMenu",
"contribCommentPeekContext",
"treeItemCheckbox"
"treeItemCheckbox",
"codiconDecoration",
"diffCommand",
"contribCommentEditorActionsMenu",
"quickDiffProvider"
],
"GitHub.copilot": [
"inlineCompletionsNew",
"inlineCompletionsAdditions"
],
"GitHub.copilot-nightly": [
"inlineCompletionsNew",
"inlineCompletionsAdditions"
],
"GitHub.remotehub": [
@@ -211,7 +217,6 @@
"notebookCellExecutionState"
],
"ms-vscode.azure-sphere-tools-ui": [
"resolvers",
"tunnels"
],
"ms-azuretools.vscode-azureappservice": [
@@ -222,6 +227,16 @@
],
"ms-vscode.cpptools": [
"terminalDataWriteEvent"
],
"redhat.java": [
"documentPaste"
],
"jeanp413.open-remote-ssh": [
"resolvers",
"tunnels",
"terminalDataWriteEvent",
"contribRemoteHelp",
"contribViewsRemote"
]
},
"extensionKind": {

View File

@@ -23,7 +23,7 @@ if [[ $( gh release view --repo "${ASSETS_REPOSITORY}" "${RELEASE_VERSION}" 2>&1
CREATE_OPTIONS="--generate-notes"
fi
gh release create "${RELEASE_VERSION}" --repo "${ASSETS_REPOSITORY}" --notes "${NOTES}" ${CREATE_OPTIONS}
gh release create "${RELEASE_VERSION}" --repo "${ASSETS_REPOSITORY}" --title "${RELEASE_VERSION}" --notes "${NOTES}" ${CREATE_OPTIONS}
fi
cd assets

View File

@@ -14,12 +14,12 @@ REPLACEMENT="s|//[^/]+\.data\.microsoft\.com|//0\.0\.0\.0|g"
if is_gnu_sed; then
replace_with_debug () {
echo "found: ${2} (`date`)"
echo "found: ${2}"
sed -i -E "${1}" "${2}"
}
else
replace_with_debug () {
echo "found: ${2} (`date`)"
echo "found: ${2}"
sed -i '' -E "${1}" "${2}"
}
fi

View File

@@ -2,7 +2,7 @@
set -e
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
if [[ "${SHOULD_BUILD}" != "yes" && "${FORCE_UPDATE}" != "true" ]]; then
echo "Will not update version JSON because we did not build"
exit
fi
@@ -12,6 +12,15 @@ if [[ -z "${GITHUB_TOKEN}" ]]; then
exit
fi
if [[ "${FORCE_UPDATE}" == "true" ]]; then
. version.sh
fi
if [[ -z "${BUILD_SOURCEVERSION}" ]]; then
echo "Will not update version JSON because no BUILD_SOURCEVERSION defined"
exit
fi
# {
# "url": "https://az764295.vo.msecnd.net/stable/51b0b28134d51361cf996d2f0a1c698247aeabd8/VSCode-darwin-stable.zip",
# "name": "1.33.1",
@@ -75,11 +84,11 @@ generateJson() {
updateLatestVersion() {
echo "Generating ${VERSION_PATH}/latest.json"
# do not update the same version since BUILD_SOURCEVERSION might be different
# do not update the same version
if [[ -f "versions/${VERSION_PATH}/latest.json" ]]; then
CURRENT_VERSION=$( jq -r '.name' "versions/${VERSION_PATH}/latest.json" )
if [[ "${CURRENT_VERSION}" == "${RELEASE_VERSION}" ]]; then
if [[ "${CURRENT_VERSION}" == "${RELEASE_VERSION}" && "${FORCE_UPDATE}" != "true" ]]; then
return
fi
fi