diff --git a/web/src/App.tsx b/web/src/App.tsx index ac21002f..891af9c6 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -20,7 +20,6 @@ import { FavoritesLayout } from '@/features/favorites/FavoritesLayout'; import { ConversationView } from '@/features/messages/ConversationView'; import { EmptyMain } from '@/features/messages/EmptyMain'; import { MessagesLayout } from '@/features/messages/MessagesLayout'; -import { AboutPage } from '@/features/settings/AboutPage'; import { GeneralSettingsPage } from '@/features/settings/GeneralSettingsPage'; import { NotificationsSettingsPage } from '@/features/settings/NotificationsSettingsPage'; import { PrivacySettingsPage } from '@/features/settings/PrivacySettingsPage'; @@ -84,7 +83,6 @@ const router = createBrowserRouter([ { path: 'notifications', element: }, { path: 'privacy', element: }, { path: 'general', element: }, - { path: 'about', element: }, ], }, ], diff --git a/web/src/features/messages/ConversationView.tsx b/web/src/features/messages/ConversationView.tsx index 842f7415..a84959ff 100644 --- a/web/src/features/messages/ConversationView.tsx +++ b/web/src/features/messages/ConversationView.tsx @@ -546,24 +546,26 @@ export function ConversationView() { - - {avatarLetter(peerName)} - -
- - {peerName} - {isGroup ? ({groupMemberCount}) : null} - - {isGroup ? ( - groupSublineParts.length ? {groupSublineParts.join(' · ')} : null - ) : ( - - {contact?.online ? '在线' : '离线'} - - )} -
+
{isGroup ? null : ( diff --git a/web/src/features/settings/AboutPage.tsx b/web/src/features/settings/AboutPage.tsx deleted file mode 100644 index 09bbe1a5..00000000 --- a/web/src/features/settings/AboutPage.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { useMutation } from '@tanstack/react-query'; - -import { getLatestRelease } from '@/lib/api/app'; - -const CURRENT_VERSION = __APP_VERSION__; - -/** - * README §8.7's "v0.25 · 有新版本" row. Confirmed live (2026-09-08): `platform:"web"` is REJECTED - * outright -- `400 MALFORMED_REQUEST {"details":{"field":"platform"}}` -- the real backend only - * accepts the doc's own example values (`ios`/`android`), no web support at all. Passing a wrong - * platform to get SOME answer would be dishonest (it'd be checking updates for the wrong client), - * so this shows an honest "not supported" state instead of pretending the check succeeded. - */ -export function AboutPage() { - const checkMutation = useMutation({ mutationFn: () => getLatestRelease(CURRENT_VERSION) }); - - return ( -
-

关于 MeetingIM

-
-
- 当前版本 - {CURRENT_VERSION} -
- -
-
- ); -} diff --git a/web/src/features/settings/SettingsLayout.tsx b/web/src/features/settings/SettingsLayout.tsx index ba3c2212..05b34849 100644 --- a/web/src/features/settings/SettingsLayout.tsx +++ b/web/src/features/settings/SettingsLayout.tsx @@ -15,7 +15,6 @@ const DIRECTORY = [ { key: 'notifications', to: '/settings/notifications', icon: 'notifications', label: '消息通知' }, { key: 'privacy', to: '/settings/privacy', icon: 'lock', label: '隐私' }, { key: 'general', to: '/settings/general', icon: 'tune', label: '通用' }, - { key: 'about', to: '/settings/about', icon: 'info', label: '关于 MeetingIM' }, ]; /** @@ -183,14 +182,14 @@ export function SettingsLayout() {
{/* Mobile "设置" sub-list (mock `07/1e`) -- a second, DIFFERENT grouping from both the hub - above and the desktop directory: 清空缓存/意见反馈/关于 sit here directly, not nested - under 通用. 清空缓存 links through to 通用 rather than duplicating that action (and its + above and the desktop directory: 清空缓存/意见反馈 sit here directly, not nested under + 通用. 清空缓存 links through to 通用 rather than duplicating that action (and its already-established "no fake byte count" honesty) in a second place; 意见反馈 has no generic post-login feedback endpoint anywhere in this protocol (the only feedback API, `/tenant-entry-feedback`, is unauthenticated and pre-login-only per its own name) so this - is a real, recorded backend gap, not a missed wire-up. 关于 omits the mock's red-dot - "有新版本" -- already confirmed elsewhere that state can never be real (the update-check - endpoint always rejects `platform=web`), showing it would be lying about system state. */} + is a real, recorded backend gap, not a missed wire-up. 关于 MeetingIM removed entirely per + product decision -- its only real content was a version string and an update-check the + backend rejects for `platform=web`, not worth a dedicated page. */}
- {DIRECTORY.filter((item) => item.key !== 'profile' && item.key !== 'about').map((item, i, arr) => ( + {DIRECTORY.filter((item) => item.key !== 'profile').map((item, i, arr) => ( 清空缓存 - - - 关于 MeetingIM - -