Phase 004: remove the desktop shell, website tooling, and bundled hermes CLI
- Drop all desktop/Electron branches, scripts, and UI (title bar, pets, desktop bridge); LAN endpoint kind is now web/custom only - Replace the bundled hermes CLI with user-side installation: add GET /api/hermes/cli-status plus a HermesMissingView onboarding guide - Remove the version-management UI (snapshots handled by git) and prune dead website/mcu/claude scripts and lockfile entries
This commit is contained in:
@@ -6,14 +6,11 @@ import { useI18n } from 'vue-i18n'
|
||||
import { getThemeOverrides } from '@/styles/theme'
|
||||
import { useTheme } from '@/composables/useTheme'
|
||||
import AppSidebar from '@/components/layout/AppSidebar.vue'
|
||||
import DesktopTitleBar from '@/components/layout/DesktopTitleBar.vue'
|
||||
import { useKeyboard } from '@/composables/useKeyboard'
|
||||
import { useAppStore } from '@/stores/hermes/app'
|
||||
import SessionSearchModal from '@/components/hermes/chat/SessionSearchModal.vue'
|
||||
import AuthEventListener from '@/components/auth/AuthEventListener.vue'
|
||||
import DefaultCredentialPrompt from '@/components/auth/DefaultCredentialPrompt.vue'
|
||||
import WebPet from '@/components/hermes/pets/WebPet.vue'
|
||||
import { desktopBridge } from '@/utils/desktop-bridge'
|
||||
|
||||
const { isDark, isComic } = useTheme()
|
||||
const { t } = useI18n()
|
||||
@@ -36,14 +33,6 @@ const nodeVersionLow = computed(() => {
|
||||
return !isNaN(major) && major < 23
|
||||
})
|
||||
|
||||
const isDesktopShell = computed(() => desktopBridge()?.isDesktop === true)
|
||||
const isDesktopPetRoute = computed(() => route.name === 'desktop.pet')
|
||||
const showWebPet = computed(() => !isLoginPage.value && !isDesktopShell.value && !isDesktopPetRoute.value)
|
||||
const hasDesktopTitleBar = computed(() => {
|
||||
const platform = desktopBridge()?.platform
|
||||
return isDesktopShell.value && (platform === 'darwin' || platform === 'win32')
|
||||
})
|
||||
|
||||
function handleMobileMenuClick() {
|
||||
if (usesPageSidebar.value) {
|
||||
window.dispatchEvent(new CustomEvent('hermes:open-page-sidebar'))
|
||||
@@ -76,9 +65,7 @@ useKeyboard()
|
||||
<AuthEventListener />
|
||||
<NDialogProvider>
|
||||
<NNotificationProvider>
|
||||
<router-view v-if="isDesktopPetRoute" />
|
||||
<div v-else class="app-shell" :class="{ desktop: isDesktopShell, 'desktop-titlebar-host': hasDesktopTitleBar }">
|
||||
<DesktopTitleBar v-if="isDesktopShell" />
|
||||
<div class="app-shell">
|
||||
<div v-if="nodeVersionLow" class="node-warning-bar">
|
||||
{{ t('sidebar.nodeVersionWarning', { version: appStore.nodeVersion }) }}
|
||||
</div>
|
||||
@@ -93,9 +80,8 @@ useKeyboard()
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
<WebPet v-if="showWebPet" />
|
||||
<SessionSearchModal v-if="!isDesktopPetRoute" />
|
||||
<DefaultCredentialPrompt v-if="!isDesktopPetRoute" />
|
||||
<SessionSearchModal />
|
||||
<DefaultCredentialPrompt />
|
||||
</NNotificationProvider>
|
||||
</NDialogProvider>
|
||||
</NMessageProvider>
|
||||
@@ -128,10 +114,6 @@ useKeyboard()
|
||||
}
|
||||
}
|
||||
|
||||
.app-shell.desktop-titlebar-host .app-layout {
|
||||
--vh: calc(1vh - 0.36px);
|
||||
}
|
||||
|
||||
.app-main {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
|
||||
Reference in New Issue
Block a user