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:
+18
-1
@@ -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.')) {
|
||||
|
||||
@@ -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> = {
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user