diff --git a/ci/dev/vscode.patch b/ci/dev/vscode.patch index f15c7d7a7ae2..390ec52937fa 100644 --- a/ci/dev/vscode.patch +++ b/ci/dev/vscode.patch @@ -3165,6 +3165,51 @@ index 18ea0bfedb4492327429a38237b05915b29f6dd0..d59a17c17f4fffa23d786ce36b4ff624 this._filenameKey.set(value ? basename(value) : null); this._langIdKey.set(value ? this._modeService.getModeIdByFilepathOrFirstLine(value) : null); this._extensionKey.set(value ? extname(value) : null); +diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts b/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts +index 33ab9f5a25e4124706ef38d6bf39f77e0ccafb32..8e479f579ee70ba5781b68f6b460ce223ec32e07 100644 +--- a/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts ++++ b/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts +@@ -408,6 +408,40 @@ export class ExtensionsViewPaneContainer extends ViewPaneContainer implements IE + addClass(parent, 'extensions-viewlet'); + this.root = parent; + ++ // NOTE@coder this UI element helps users understand the extension marketplace divergence ++ const extensionHelperLocalStorageKey = 'coder.extension-help-message'; ++ if (localStorage.getItem(extensionHelperLocalStorageKey) === null) { ++ const helperHeader = append(this.root, $('.header')); ++ helperHeader.id = 'codeServerMarketplaceHelper'; ++ helperHeader.style.height = 'auto'; ++ helperHeader.style.border = '3px solid red'; ++ helperHeader.style.borderRadius = '10px'; ++ helperHeader.style.fontWeight = '600'; ++ helperHeader.style.padding = 'padding: 5px 16px'; ++ helperHeader.style.position = 'relative'; ++ helperHeader.innerHTML = ` ++
++ NOTE: code-server has its own marketplace of open-source extensions due to ++ legal distribution restrictions. ++ VSIX assets from the official marketplace can be ++ downloaded and installed by uploading through the dropdown above. ++
++