From 9b1f206cc63ec8e472661ccf9bcf85a962d8c899 Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Mon, 16 Jun 2025 17:14:38 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9Bfix:=20showing=20release=20notes=20?= =?UTF-8?q?for=20beta=20and=20prod=20(#5292)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🐛fix: showing release notes for beta and prod * ♻️refactor: make an utils env * ♻️refactor: hide MCP for production * ♻️refactor: simplify the boolean expression fetch release note --- web-app/src/containers/SettingsMenu.tsx | 14 ++++++++++---- web-app/src/containers/dialogs/AppUpdater.tsx | 16 +++++++--------- web-app/src/lib/version.ts | 5 +++++ 3 files changed, 22 insertions(+), 13 deletions(-) create mode 100644 web-app/src/lib/version.ts diff --git a/web-app/src/containers/SettingsMenu.tsx b/web-app/src/containers/SettingsMenu.tsx index 4494aa44c..c23ed6acf 100644 --- a/web-app/src/containers/SettingsMenu.tsx +++ b/web-app/src/containers/SettingsMenu.tsx @@ -2,6 +2,7 @@ import { Link, useMatches } from '@tanstack/react-router' import { route } from '@/constants/routes' import { useTranslation } from 'react-i18next' import { useModelProvider } from '@/hooks/useModelProvider' +import { isProd } from '@/lib/version' const menuSettings = [ { @@ -24,10 +25,15 @@ const menuSettings = [ title: 'Hardware', route: route.settings.hardware, }, - { - title: 'MCP Servers', - route: route.settings.mcp_servers, - }, + // Only show MCP Servers in non-production environment + ...(!isProd + ? [ + { + title: 'MCP Servers', + route: route.settings.mcp_servers, + }, + ] + : []), { title: 'Local API Server', route: route.settings.local_api_server, diff --git a/web-app/src/containers/dialogs/AppUpdater.tsx b/web-app/src/containers/dialogs/AppUpdater.tsx index a17876a15..313937c34 100644 --- a/web-app/src/containers/dialogs/AppUpdater.tsx +++ b/web-app/src/containers/dialogs/AppUpdater.tsx @@ -7,6 +7,7 @@ import { useState, useEffect } from 'react' import { useReleaseNotes } from '@/hooks/useReleaseNotes' import { RenderMarkdown } from '../RenderMarkdown' import { cn, isDev } from '@/lib/utils' +import { isNightly, isBeta } from '@/lib/version' const DialogAppUpdater = () => { const { @@ -22,16 +23,13 @@ const DialogAppUpdater = () => { setRemindMeLater(true) } - const nightly = VERSION.includes('-') - const beta = VERSION.includes('beta') - const { release, fetchLatestRelease } = useReleaseNotes() useEffect(() => { if (!isDev()) { - fetchLatestRelease(beta ? true : false) + fetchLatestRelease(isBeta) } - }, [beta, fetchLatestRelease]) + }, [fetchLatestRelease]) // Check for updates when component mounts useEffect(() => { @@ -71,7 +69,7 @@ const DialogAppUpdater = () => {
New Version: Jan {updateState.updateInfo?.version}
-
+
There's a new app update available to download.
@@ -79,9 +77,9 @@ const DialogAppUpdater = () => { {showReleaseNotes && ( -
- {nightly ? ( -

+

+ {isNightly && !isBeta ? ( +

You are using a nightly build. This version is built from the latest development branch and may not have release notes. diff --git a/web-app/src/lib/version.ts b/web-app/src/lib/version.ts new file mode 100644 index 000000000..f8e7df5b0 --- /dev/null +++ b/web-app/src/lib/version.ts @@ -0,0 +1,5 @@ +import { isDev } from './utils' + +export const isNightly = VERSION.includes('-') +export const isBeta = VERSION.includes('beta') +export const isProd = !isNightly && !isBeta && !isDev