fix: show about settings only on mobile

Hides About from desktop settings navigation and command palette
Keeps About available in mobile settings
This commit is contained in:
Bohdan Triapitsyn
2026-06-13 01:59:33 +03:00
parent ca87428216
commit b8dc25c7c8
5 changed files with 37 additions and 9 deletions
+18 -1
View File
@@ -6,7 +6,24 @@ All notable changes to this project will be documented in this file.
- Security: LAN and remote browser access now require a UI password before the server will start.
- Desktop: if LAN access was enabled without a password, the app now starts locally and asks for a password before turning LAN access back on.
- Git: worktree status and commit integration now use dedicated Git actions behind the scenes.
- Chat: file paths inside fenced code blocks are now clickable, including line and column targets (thanks to @robertoberto).
- Chat: context breakdowns now show message previews and cache hit rates (thanks to @robertoberto, @raz123).
- Chat: custom-answer question textareas resize more steadily while typing (thanks to @bigcoder84).
- Chat/Input: tab-completing a mention no longer changes the selected agent (thanks to @Quat3rnion).
- Chat/Input: Arrow Up moves the cursor inside multi-line drafts again instead of always opening prompt history.
- Files: added dedicated PDF files previews mode.
- Files: added an optional docked files editor toolbar (thanks to @robertoberto).
- Sessions: session menus now include a delete action (thanks to @ShogunPanda).
- Sessions: deleting a parent session no longer brings deleted child sessions back into the sidebar (thanks to @panzeyu2013).
- Sessions: switching sessions no longer leaves the chat area blank in some cases (thanks to @panzeyu2013).
- Sessions: selected rows now highlight across the full sidebar gutter.
- Comments: inline file/diff comment drafts now stay in place when focus changes.
- GitHub: GitHub settings can now use credentials from the `gh` CLI when available (thanks to @tomzx).
- Settings/MCP: importing MCP snippets from OpenCode config works again (thanks to @youzini).
- Usage: added Cursor plan as a usage-tracking provider..
- Notifications: notification streams now stay connected more reliably behind proxies (thanks to @kostazol).
- Mobile: the empty Changes view keeps a close control visible (thanks to @lilyzhaun).
- Security: file previews and downloads now reject paths outside the allowed workspace unless access has been granted.
## [1.12.4] - 2026-06-11
@@ -265,8 +265,8 @@ export const CommandPalette: React.FC = () => {
// ---------------------------------------------------------------------------
const settingsRuntimeCtx = React.useMemo<SettingsRuntimeContext>(() => {
const isDesktop = isDesktopShell();
return { isVSCode: isVSCodeRuntime(), isWeb: !isDesktop && isWebRuntime(), isDesktop };
}, []);
return { isVSCode: isVSCodeRuntime(), isWeb: !isDesktop && isWebRuntime(), isDesktop, isMobile };
}, [isMobile]);
const settingsEntries = React.useMemo<CommandEntry[]>(() => {
return SETTINGS_PAGE_METADATA
@@ -109,10 +109,10 @@ const pageOrder: SettingsPageSlug[] = [
const SNIPPETS_SETTINGS_ICON = { icon: 'chat-thread' } as const;
const ADD_PROVIDER_SETTINGS_ID = '__add_provider__';
function buildRuntimeContext(isDesktop: boolean): SettingsRuntimeContext {
function buildRuntimeContext(isDesktop: boolean, isMobile: boolean): SettingsRuntimeContext {
const isVSCode = isVSCodeRuntime();
const isWeb = !isDesktop && isWebRuntime();
return { isVSCode, isWeb, isDesktop };
return { isVSCode, isWeb, isDesktop, isMobile };
}
function isPageAvailable(page: SettingsPageMeta, ctx: SettingsRuntimeContext): boolean {
@@ -333,7 +333,7 @@ export const SettingsView: React.FC<SettingsViewProps> = ({ onClose, forceMobile
// keep platform check available for future window chrome tweaks
const runtimeCtx = React.useMemo(() => buildRuntimeContext(isDesktopApp), [isDesktopApp]);
const runtimeCtx = React.useMemo(() => buildRuntimeContext(isDesktopApp, isMobile), [isDesktopApp, isMobile]);
const visiblePages = React.useMemo(() => {
const allowedPages = visiblePageSlugs ? new Set<SettingsPageSlug>(visiblePageSlugs) : null;
@@ -532,12 +532,12 @@ export const SettingsView: React.FC<SettingsViewProps> = ({ onClose, forceMobile
const settingsSearchResults = React.useMemo(() => {
return buildSettingsSearchResults({
query: settingsSearchQuery,
runtimeCtx: { ...runtimeCtx, isMobile, isDesktopLocalOrigin },
runtimeCtx: { ...runtimeCtx, isDesktopLocalOrigin },
visiblePageSlugs,
t,
getPageTitle,
});
}, [getPageTitle, isDesktopLocalOrigin, isMobile, runtimeCtx, settingsSearchQuery, t, visiblePageSlugs]);
}, [getPageTitle, isDesktopLocalOrigin, runtimeCtx, settingsSearchQuery, t, visiblePageSlugs]);
const prepareSettingsSearchTarget = React.useCallback((result: SettingsSearchResult): string => {
if (result.id.startsWith('agents.')) {
+2 -1
View File
@@ -39,6 +39,7 @@ export interface SettingsRuntimeContext {
isVSCode: boolean;
isWeb: boolean;
isDesktop: boolean;
isMobile: boolean;
}
export interface SettingsPageMeta {
@@ -205,7 +206,7 @@ export const SETTINGS_PAGE_METADATA: readonly SettingsPageMeta[] = [
{ slug: 'notifications', title: 'Notifications', group: 'general', kind: 'single', keywords: ['alerts', 'native', 'summary', 'summarization'], },
{ slug: 'voice', title: 'Voice', group: 'advanced', kind: 'single', keywords: ['tts', 'speech', 'voice'], isAvailable: (ctx) => !ctx.isVSCode },
{ slug: 'tunnel', title: 'Remote Tunnel', group: 'advanced', kind: 'single', keywords: ['tunnel', 'cloudflare', 'qr', 'remote', 'mobile', 'share'], isAvailable: (ctx) => !ctx.isVSCode },
{ slug: 'about', title: 'About', group: 'advanced', kind: 'single', keywords: ['about', 'version', 'updates', 'release', 'changelog'], },
{ slug: 'about', title: 'About', group: 'advanced', kind: 'single', keywords: ['about', 'version', 'updates', 'release', 'changelog'], isAvailable: (ctx) => ctx.isMobile },
] as const;
export const LEGACY_SIDEBAR_SECTION_TO_SETTINGS_SLUG: Record<SidebarSection, SettingsPageSlug> = {
+10
View File
@@ -1,3 +1,13 @@
## [Unreleased]
- Chat: custom-answer question textareas resize more steadily while typing (thanks to @bigcoder84).
- Chat/Input: tab-completing a mention no longer changes the selected agent (thanks to @Quat3rnion).
- Chat/Input: Arrow Up moves the cursor inside multi-line drafts again instead of always opening prompt history.
- Sessions: session menus now include a delete action (thanks to @ShogunPanda).
- Sessions: deleting a parent session no longer brings deleted child sessions back into the sidebar (thanks to @panzeyu2013).
- Sessions: switching sessions no longer leaves the chat area blank in some cases (thanks to @panzeyu2013).
- Settings/MCP: importing MCP snippets from OpenCode config works again (thanks to @youzini).
## [1.12.4] - 2026-06-11
- Agent Manager: creating isolated runs now opens sessions immediately while worktree setup continues in the background.