From 19d87a72e6da026cc3f0cc620808d336d9fb0a04 Mon Sep 17 00:00:00 2001 From: Luke Parker <10430890+Hona@users.noreply.github.com> Date: Tue, 27 Oct 2026 12:47:26 +1000 Subject: [PATCH] fix(app): list What's new with About in settings (#59471) --- packages/app/src/settings/shell.tsx | 16 ++++++++++------ packages/gui-plugins/src/updater/renderer.tsx | 1 + packages/plugin/src/gui/registries.ts | 5 +++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/app/src/settings/shell.tsx b/packages/app/src/settings/shell.tsx index e2294d2b0b9..1fc1f68ad0d 100644 --- a/packages/app/src/settings/shell.tsx +++ b/packages/app/src/settings/shell.tsx @@ -279,6 +279,12 @@ function RootSettings() { const addServer = () => void dialog.push(() => ) + const pluginTabs = (group?: "about") => + surface.plugins + .pages() + .filter((item) => item.value.group === group) + .map((item) => ({ value: item.value.id, icon: item.value.icon ?? pageIcons.extensions, label: item.value.title })) + const groups = createMemo(() => [ { items: serverTabs.map((item) => ({ @@ -290,11 +296,7 @@ function RootSettings() { { items: [ ...rootClientTabs.map((item) => ({ ...item, label: language.t(item.label) })), - ...surface.plugins.pages().map((item) => ({ - value: item.value.id, - icon: item.value.icon ?? pageIcons.extensions, - label: item.value.title, - })), + ...pluginTabs(), ], }, { @@ -310,7 +312,9 @@ function RootSettings() { ? [{ items: experimentalTab.map((item) => ({ ...item, label: language.t(item.label) })) }] : []), ...(showPlugins ? [{ items: pluginsTab.map((item) => ({ ...item, label: language.t(item.label) })) }] : []), - { items: aboutTab.map((item) => ({ ...item, label: language.t(item.label) })) }, + { + items: [...aboutTab.map((item) => ({ ...item, label: language.t(item.label) })), ...pluginTabs("about")], + }, ]) const change = (value: string) => { diff --git a/packages/gui-plugins/src/updater/renderer.tsx b/packages/gui-plugins/src/updater/renderer.tsx index a1bc217560b..282db0cc966 100644 --- a/packages/gui-plugins/src/updater/renderer.tsx +++ b/packages/gui-plugins/src/updater/renderer.tsx @@ -87,6 +87,7 @@ function betaNotes(ctx: SetupContext) { ctx.add(SettingsPage, { id: "whats-new", icon: "flask", + group: "about", get title() { return ctx.t("beta.title") }, diff --git a/packages/plugin/src/gui/registries.ts b/packages/plugin/src/gui/registries.ts index ac44b926d00..86be563d9c2 100644 --- a/packages/plugin/src/gui/registries.ts +++ b/packages/plugin/src/gui/registries.ts @@ -391,6 +391,11 @@ export interface SettingsPage { * section. */ readonly section?: "general" + /** + * The nav group of a page. Omit it to list the page after the app's own pages, such as Shortcuts. + * - `about`: below About, in its group, for pages about the app itself such as release notes. + */ + readonly group?: "about" /** Nav label of a page; search shows it as the section of every entry, except rows placed in a host `section`. */ readonly title: string /** The page's nav icon. */