diff --git a/chart/templates/server-deployment.yaml b/chart/templates/server-deployment.yaml index dcf9cf9c594166..813794b4722a8a 100644 --- a/chart/templates/server-deployment.yaml +++ b/chart/templates/server-deployment.yaml @@ -47,6 +47,13 @@ functions: group: inWorkspaceUserAction {{- end -}} +{{- define "stable-image-full" -}} +{{- $ := .root -}} +{{- $gp := .gp -}} +{{- $comp := .comp -}} +{{ template "gitpod.comp.imageRepo" . }}:{{ $comp.stableVersion }} +{{- end -}} + {{ $comp := .Values.components.server -}} {{- $this := dict "root" . "gp" $.Values "comp" $comp -}} {{- $thisWorkspace := dict "root" . "comp" .Values.components.workspace -}} @@ -159,7 +166,7 @@ spec: - name: WORKSPACE_DEFAULT_IMAGE value: "{{ template "gitpod.comp.imageFull" (dict "root" . "gp" $.Values "comp" .Values.components.workspace.defaultImage) }}" - name: IDE_IMAGE_ALIASES - value: {{ (dict "code" (include "gitpod.comp.imageFull" (dict "root" . "gp" $.Values "comp" .Values.components.workspace.codeImage))) | toJson | quote }} + value: {{ (dict "code-latest" (include "gitpod.comp.imageFull" (dict "root" . "gp" $.Values "comp" .Values.components.workspace.codeImage)) "code" (include "stable-image-full" (dict "root" . "gp" $.Values "comp" .Values.components.workspace.codeImage))) | toJson | quote }} {{- if $comp.blockNewUsers }} - name: BLOCK_NEW_USERS value: {{ $comp.blockNewUsers | quote }} diff --git a/chart/values.yaml b/chart/values.yaml index 67b06947f2fbae..8b9f0844a389c0 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -353,6 +353,7 @@ components: imageName: "ide/theia" codeImage: imageName: "ide/code" + stableVersion: "commit-0941a0805dc3c7345c45bd926317eaf045d4b7fb" supervisor: imageName: "supervisor" dockerUp: diff --git a/components/dashboard/src/settings/Preferences.tsx b/components/dashboard/src/settings/Preferences.tsx index 455644dd5ecd8d..065d6418c62ff7 100644 --- a/components/dashboard/src/settings/Preferences.tsx +++ b/components/dashboard/src/settings/Preferences.tsx @@ -14,13 +14,14 @@ import vscode from '../images/vscode.svg'; import { PageWithSubMenu } from "../components/PageWithSubMenu"; import settingsMenu from "./settings-menu"; import AlertBox from "../components/AlertBox"; +import Tooltip from "../components/Tooltip"; type Theme = 'light' | 'dark' | 'system'; export default function Preferences() { const { user } = useContext(UserContext); const { setIsDark } = useContext(ThemeContext); - const [ defaultIde, setDefaultIde ] = useState(user?.additionalData?.ideSettings?.defaultIde || 'theia'); + const [defaultIde, setDefaultIde] = useState(user?.additionalData?.ideSettings?.defaultIde || 'theia'); const actuallySetDefaultIde = async (value: string) => { const additionalData = user?.additionalData || {}; const settings = additionalData.ideSettings || {}; @@ -33,7 +34,7 @@ export default function Preferences() { await getGitpodService().server.updateLoggedInUser({ additionalData }); setDefaultIde(value); } - const [ theme, setTheme ] = useState(localStorage.theme || 'light'); + const [theme, setTheme] = useState(localStorage.theme || 'light'); const actuallySetTheme = (theme: Theme) => { if (theme === 'dark' || theme === 'system') { localStorage.theme = theme; @@ -54,13 +55,21 @@ export default function Preferences() {
actuallySetDefaultIde('code')}> -
- +
+
+ + actuallySetDefaultIde('code-latest')}> +
+ +
+ LATEST +
+
actuallySetDefaultIde('theia')}> -
- +
+
@@ -69,17 +78,17 @@ export default function Preferences() {
actuallySetTheme('light')}>
- +
actuallySetTheme('dark')}>
- +
actuallySetTheme('system')}>
- +