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. */