Phase 002: rebrand to hermes-ui and consolidate i18n to zh/en
Removes the ekko / hermes-web-ui branding from the whole tree and drops eight locale files, so the project presents one name and one language pair. Data compatibility is deliberate, not accidental: DB filenames, the JWT audience, and skill manifest ownership all still recognise their pre-rename values so existing deployments under ~/.hermes-web-ui keep working without a re-login or a re-injection. scripts/harness-check.mjs now scans for the legacy strings and fails the build on any new occurrence, with an explicit allow-list (and reasons) for the compatibility paths that must keep them.
This commit is contained in:
@@ -80,7 +80,7 @@ function makeSession(title: string): Session {
|
||||
describe('ChatView tab title', () => {
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks()
|
||||
document.title = 'Hermes Studio'
|
||||
document.title = 'hermes-ui'
|
||||
setActivePinia(createPinia())
|
||||
|
||||
const appStore = useAppStore()
|
||||
@@ -107,7 +107,7 @@ describe('ChatView tab title', () => {
|
||||
expect(document.title).toBe('Implementation Notes')
|
||||
|
||||
wrapper.unmount()
|
||||
expect(document.title).toBe('Hermes Studio')
|
||||
expect(document.title).toBe('hermes-ui')
|
||||
})
|
||||
|
||||
it('falls back to the product title when the session title is blank', () => {
|
||||
@@ -116,7 +116,7 @@ describe('ChatView tab title', () => {
|
||||
|
||||
const wrapper = mount(ChatView)
|
||||
|
||||
expect(document.title).toBe('Hermes Studio')
|
||||
expect(document.title).toBe('hermes-ui')
|
||||
wrapper.unmount()
|
||||
})
|
||||
})
|
||||
|
||||
@@ -6,14 +6,6 @@ import { changelog } from '@/data/changelog'
|
||||
import { messages, supportedLocales } from '@/i18n/messages'
|
||||
import en from '@/i18n/locales/en'
|
||||
import zh from '@/i18n/locales/zh'
|
||||
import zhTW from '@/i18n/locales/zh-TW'
|
||||
import ja from '@/i18n/locales/ja'
|
||||
import ko from '@/i18n/locales/ko'
|
||||
import fr from '@/i18n/locales/fr'
|
||||
import es from '@/i18n/locales/es'
|
||||
import de from '@/i18n/locales/de'
|
||||
import pt from '@/i18n/locales/pt'
|
||||
import ru from '@/i18n/locales/ru'
|
||||
import { createI18n } from 'vue-i18n'
|
||||
|
||||
const SOURCE_ROOT = join(process.cwd(), 'packages/client/src')
|
||||
@@ -23,14 +15,6 @@ const allMessages: Record<string, Record<string, unknown>> = { en }
|
||||
const rawMessages: Record<string, Record<string, unknown>> = {
|
||||
en,
|
||||
zh,
|
||||
'zh-TW': zhTW,
|
||||
ja,
|
||||
ko,
|
||||
fr,
|
||||
es,
|
||||
de,
|
||||
pt,
|
||||
ru,
|
||||
}
|
||||
|
||||
function walkFiles(dir: string, files: string[] = []): string[] {
|
||||
|
||||
@@ -117,8 +117,8 @@ describe('LoginView password login', () => {
|
||||
expect(wrapper.find('.login-lock-hint').text()).toContain('login.defaultLoginResetHint')
|
||||
const commands = wrapper.findAll('.login-lock-hint code').map(command => command.text())
|
||||
expect(commands).toEqual([
|
||||
'hermes-web-ui clear-login-locks --restart',
|
||||
'hermes-web-ui reset-default-login',
|
||||
'hermes-ui clear-login-locks --restart',
|
||||
'hermes-ui reset-default-login',
|
||||
])
|
||||
})
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@ describe('PWA metadata', () => {
|
||||
|
||||
expect(html).toContain('rel="manifest" href="/manifest.webmanifest"')
|
||||
expect(html).toContain('rel="apple-touch-icon" href="/logo.png"')
|
||||
expect(html).toContain('name="apple-mobile-web-app-title" content="Hermes Studio"')
|
||||
expect(html).toContain('name="apple-mobile-web-app-title" content="hermes-ui"')
|
||||
})
|
||||
|
||||
it('ships a standalone web manifest with the Hermes icon', () => {
|
||||
const manifest = JSON.parse(readFileSync('packages/client/public/manifest.webmanifest', 'utf8'))
|
||||
|
||||
expect(manifest.name).toBe('Hermes Studio')
|
||||
expect(manifest.name).toBe('hermes-ui')
|
||||
expect(manifest.display).toBe('standalone')
|
||||
expect(manifest.start_url).toBe('/#/hermes/chat')
|
||||
expect(manifest.icons).toEqual(expect.arrayContaining([
|
||||
|
||||
Reference in New Issue
Block a user