Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 26 additions & 26 deletions apps/docs/src/main/docs-main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ const tMain = createI18n({
menuWindow: '窗口',
menuHelp: '帮助',
menuShortcuts: '键盘快捷键',
menuDocsHelp: 'GenOffice Docs 帮助',
menuDocsHelp: 'HermesOffice Docs 帮助',
},
en: {
dlgOpenDoc: 'Open Document',
Expand Down Expand Up @@ -368,7 +368,7 @@ const tMain = createI18n({
menuWindow: 'Window',
menuHelp: 'Help',
menuShortcuts: 'Keyboard Shortcuts',
menuDocsHelp: 'GenOffice Docs Help',
menuDocsHelp: 'HermesOffice Docs Help',
},
ja: {
dlgOpenDoc: '文書を開く',
Expand Down Expand Up @@ -468,7 +468,7 @@ const tMain = createI18n({
menuWindow: 'ウィンドウ',
menuHelp: 'ヘルプ',
menuShortcuts: 'キーボードショートカット',
menuDocsHelp: 'GenOffice Docs ヘルプ',
menuDocsHelp: 'HermesOffice Docs ヘルプ',
},
ko: {
dlgOpenDoc: '문서 열기',
Expand Down Expand Up @@ -569,7 +569,7 @@ const tMain = createI18n({
menuWindow: '창',
menuHelp: '도움말',
menuShortcuts: '키보드 바로 가기',
menuDocsHelp: 'GenOffice Docs 도움말',
menuDocsHelp: 'HermesOffice Docs 도움말',
},
fr: {
dlgOpenDoc: 'Ouvrir un document',
Expand Down Expand Up @@ -672,7 +672,7 @@ const tMain = createI18n({
menuWindow: 'Fenêtre',
menuHelp: 'Aide',
menuShortcuts: 'Raccourcis clavier',
menuDocsHelp: 'Aide GenOffice Docs',
menuDocsHelp: 'Aide HermesOffice Docs',
},
de: {
dlgOpenDoc: 'Dokument öffnen',
Expand Down Expand Up @@ -775,7 +775,7 @@ const tMain = createI18n({
menuWindow: 'Fenster',
menuHelp: 'Hilfe',
menuShortcuts: 'Tastenkombinationen',
menuDocsHelp: 'GenOffice Docs-Hilfe',
menuDocsHelp: 'HermesOffice Docs-Hilfe',
},
es: {
dlgOpenDoc: 'Abrir documento',
Expand Down Expand Up @@ -877,7 +877,7 @@ const tMain = createI18n({
menuWindow: 'Ventana',
menuHelp: 'Ayuda',
menuShortcuts: 'Atajos de teclado',
menuDocsHelp: 'Ayuda de GenOffice Docs',
menuDocsHelp: 'Ayuda de HermesOffice Docs',
},
th: {
dlgOpenDoc: 'เปิดเอกสาร',
Expand Down Expand Up @@ -977,7 +977,7 @@ const tMain = createI18n({
menuWindow: 'หน้าต่าง',
menuHelp: 'วิธีใช้',
menuShortcuts: 'แป้นพิมพ์ลัด',
menuDocsHelp: 'วิธีใช้ GenOffice Docs',
menuDocsHelp: 'วิธีใช้ HermesOffice Docs',
},
id: {
dlgOpenDoc: 'Buka Dokumen',
Expand Down Expand Up @@ -1077,7 +1077,7 @@ const tMain = createI18n({
menuWindow: 'Jendela',
menuHelp: 'Bantuan',
menuShortcuts: 'Pintasan Papan Ketik',
menuDocsHelp: 'Bantuan GenOffice Docs',
menuDocsHelp: 'Bantuan HermesOffice Docs',
},
ru: {
dlgOpenDoc: 'Открыть документ',
Expand Down Expand Up @@ -1178,7 +1178,7 @@ const tMain = createI18n({
menuWindow: 'Окно',
menuHelp: 'Справка',
menuShortcuts: 'Сочетания клавиш',
menuDocsHelp: 'Справка GenOffice Docs',
menuDocsHelp: 'Справка HermesOffice Docs',
},
ar: {
dlgOpenDoc: 'فتح مستند',
Expand Down Expand Up @@ -1279,7 +1279,7 @@ const tMain = createI18n({
menuWindow: 'نافذة',
menuHelp: 'تعليمات',
menuShortcuts: 'اختصارات لوحة المفاتيح',
menuDocsHelp: 'تعليمات GenOffice Docs',
menuDocsHelp: 'تعليمات HermesOffice Docs',
},
pt: {
dlgOpenDoc: 'Abrir Documento',
Expand Down Expand Up @@ -1380,7 +1380,7 @@ const tMain = createI18n({
menuWindow: 'Janela',
menuHelp: 'Ajuda',
menuShortcuts: 'Atalhos de Teclado',
menuDocsHelp: 'Ajuda do GenOffice Docs',
menuDocsHelp: 'Ajuda do HermesOffice Docs',
},
it: {
dlgOpenDoc: 'Apri documento',
Expand Down Expand Up @@ -1481,7 +1481,7 @@ const tMain = createI18n({
menuWindow: 'Finestra',
menuHelp: 'Aiuto',
menuShortcuts: 'Scelte rapide da tastiera',
menuDocsHelp: 'Guida di GenOffice Docs',
menuDocsHelp: 'Guida di HermesOffice Docs',
},
pl: {
dlgOpenDoc: 'Otwórz dokument',
Expand Down Expand Up @@ -1583,7 +1583,7 @@ const tMain = createI18n({
menuWindow: 'Okno',
menuHelp: 'Pomoc',
menuShortcuts: 'Skróty klawiaturowe',
menuDocsHelp: 'Pomoc GenOffice Docs',
menuDocsHelp: 'Pomoc HermesOffice Docs',
},
cs: {
dlgOpenDoc: 'Otevřít dokument',
Expand Down Expand Up @@ -1684,7 +1684,7 @@ const tMain = createI18n({
menuWindow: 'Okno',
menuHelp: 'Nápověda',
menuShortcuts: 'Klávesové zkratky',
menuDocsHelp: 'Nápověda GenOffice Docs',
menuDocsHelp: 'Nápověda HermesOffice Docs',
},
nl: {
dlgOpenDoc: 'Document openen',
Expand Down Expand Up @@ -1786,7 +1786,7 @@ const tMain = createI18n({
menuWindow: 'Venster',
menuHelp: 'Help',
menuShortcuts: 'Sneltoetsen',
menuDocsHelp: 'GenOffice Docs Help',
menuDocsHelp: 'HermesOffice Docs Help',
},
ms: {
dlgOpenDoc: 'Buka Dokumen',
Expand Down Expand Up @@ -1887,7 +1887,7 @@ const tMain = createI18n({
menuWindow: 'Tetingkap',
menuHelp: 'Bantuan',
menuShortcuts: 'Pintasan Papan Kekunci',
menuDocsHelp: 'Bantuan GenOffice Docs',
menuDocsHelp: 'Bantuan HermesOffice Docs',
},
he: {
dlgOpenDoc: 'פתיחת מסמך',
Expand Down Expand Up @@ -1986,7 +1986,7 @@ const tMain = createI18n({
menuWindow: 'חלון',
menuHelp: 'עזרה',
menuShortcuts: 'קיצורי מקלדת',
menuDocsHelp: 'עזרה של GenOffice Docs',
menuDocsHelp: 'עזרה של HermesOffice Docs',
},
hi: {
dlgOpenDoc: 'दस्तावेज़ खोलें',
Expand Down Expand Up @@ -2087,7 +2087,7 @@ const tMain = createI18n({
menuWindow: 'विंडो',
menuHelp: 'सहायता',
menuShortcuts: 'कीबोर्ड शॉर्टकट',
menuDocsHelp: 'GenOffice Docs सहायता',
menuDocsHelp: 'HermesOffice Docs सहायता',
},
'zh-TW': {
dlgOpenDoc: '開啟文件',
Expand Down Expand Up @@ -2185,7 +2185,7 @@ const tMain = createI18n({
menuWindow: '視窗',
menuHelp: '說明',
menuShortcuts: '鍵盤快速鍵',
menuDocsHelp: 'GenOffice Docs 說明',
menuDocsHelp: 'HermesOffice Docs 說明',
},
})
const tm = (key: Parameters<typeof tMain>[1], params?: Parameters<typeof tMain>[2]) =>
Expand Down Expand Up @@ -2270,7 +2270,7 @@ async function saveDialog(event: IpcMainInvokeEvent, options: SaveDialogOptions)
return showSaveDialogWithMemory(dialog, dialogParent(event), options, defaultSaveDir())
}

/** default folder where new files land on their first (silent) save; shared with the other editors via shell. User-configurable (app-settings.json), falls back to <Documents>/GenOffice. */
/** default folder where new files land on their first (silent) save; shared with the other editors via shell. User-configurable (app-settings.json), falls back to <Documents>/HermesOffice. */
export function defaultSaveDir(): string {
return configuredDefaultSaveDir(app)
}
Expand Down Expand Up @@ -3379,7 +3379,7 @@ export function registerDocsIpc(): void {
void app.whenReady().then(registerLazyMediaProtocol)
// Node fetch (undici) direct connections get reset under VPN/tun setups; retry over Chromium's stack
setRescueFetch((url, init) => net.fetch(url, init))
setAiUserAgent(`GenOffice/${app.getVersion()}`)
setAiUserAgent(`HermesOffice/${app.getVersion()}`)

// shared with the other editor modules — last (identical) registration wins
ipcMain.removeHandler('app:get-language')
Expand Down Expand Up @@ -4290,7 +4290,7 @@ interface DocsShellHooks {
focusTab(id: string): void
/** closes the calling tab instead of the whole shell window (Cmd+W / role:'close') */
closeActiveTab(): void
/** Shell router used to open exported PDFs in a new GenOffice tab. */
/** Shell router used to open exported PDFs in a new HermesOffice tab. */
openGeneratedPath?(path: string): boolean
/** Cmd/Ctrl+O opens the shell's quick switcher instead of the file dialog */
openQuickSwitcher?(): void
Expand Down Expand Up @@ -4728,7 +4728,7 @@ export function createDocsWindow(openPath?: string): BrowserWindow {
height: 900,
minWidth: 720,
minHeight: 550,
title: 'GenOffice Docs',
title: 'HermesOffice Docs',
// Word-like custom title bar (document name centered, quick-access buttons)
...(process.platform === 'darwin'
? { titleBarStyle: 'hiddenInset' as const }
Expand Down Expand Up @@ -5009,11 +5009,11 @@ export function startDocsStandalone(): void {
installContextMenu(app, () => contextMenuLabels(getUiLang()))
// dev runs must not share the packaged app's userData (recent files, AI settings)
// or its single-instance lock — otherwise `npm run dev` silently quits whenever
// the installed GenOffice Docs is open and forwards its argv there instead.
// the installed HermesOffice Docs is open and forwards its argv there instead.
// AI_OFFICE_USER_DATA: E2E/screenshot runs isolate userData (and the
// single-instance lock) so parallel automation sessions don't evict each other
if (process.env.AI_OFFICE_USER_DATA) app.setPath('userData', process.env.AI_OFFICE_USER_DATA)
else if (isDev) app.setPath('userData', join(app.getPath('appData'), 'GenOffice Docs Dev'))
else if (isDev) app.setPath('userData', join(app.getPath('appData'), 'HermesOffice Docs Dev'))

const hasSingleInstanceLock = app.requestSingleInstanceLock()
if (!hasSingleInstanceLock) {
Expand Down
2 changes: 1 addition & 1 deletion apps/html/src/main/html-main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -814,7 +814,7 @@ interface RuntimePaths {
preloadPath: string
rendererUrl?: string
rendererFile?: string
/** Shell router used to open exported PDFs in a new GenOffice tab. */
/** Shell router used to open exported PDFs in a new HermesOffice tab. */
openGeneratedPath?: (path: string) => boolean
}

Expand Down
2 changes: 1 addition & 1 deletion apps/markdown/src/main/conversion-lifecycle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ async function readSessionMarker(directory: string): Promise<ConversionSessionMa
}

/**
* Removes only marked GenOffice session directories older than the TTL.
* Removes only marked HermesOffice session directories older than the TTL.
* Unknown files/directories under the cache root are deliberately ignored.
*/
export async function cleanupStaleMarkdownConversions(
Expand Down
2 changes: 1 addition & 1 deletion apps/markdown/src/main/markdown-main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ interface RuntimePaths {
preloadPath: string
rendererUrl?: string
rendererFile?: string
/** Shell router used to open exported PDFs in a new GenOffice tab. */
/** Shell router used to open exported PDFs in a new HermesOffice tab. */
openGeneratedPath?: (path: string) => boolean
}

Expand Down
2 changes: 1 addition & 1 deletion apps/pdf/src/main/generated-output.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { existsSync } from 'node:fs'
import { basename, join } from 'node:path'

/** Pick a safe, unused PDF path inside the configured GenOffice save directory. */
/** Pick a safe, unused PDF path inside the configured HermesOffice save directory. */
export function uniqueGeneratedPdfPath(
dir: string,
suggestedName: string,
Expand Down
4 changes: 2 additions & 2 deletions apps/pdf/src/main/pdf-main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -474,7 +474,7 @@ interface RuntimePaths {
preloadPath: string
rendererUrl?: string
rendererFile?: string
/** Shell router used to open generated PDFs in a new GenOffice tab. */
/** Shell router used to open generated PDFs in a new HermesOffice tab. */
openGeneratedPath?: (path: string) => boolean
/** Host-owned cross-app document creator (the shell routes DOCX into Docs). */
createDocument?: (request: CreateDocumentRequest) => Promise<CreateDocumentResult>
Expand Down Expand Up @@ -531,7 +531,7 @@ async function createStandaloneDocument(
if (request.type === 'docx') {
return {
ok: false,
error: 'Creating DOCX files requires the GenOffice shell or Docs app.',
error: 'Creating DOCX files requires the HermesOffice shell or Docs app.',
}
}
const title = sanitizeGeneratedDocumentTitle(request.title)
Expand Down
8 changes: 4 additions & 4 deletions apps/pdf/src/main/save-pdf.ts
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ function addMarkup(pdfDoc: PDFDocument, page: PDFPage, m: MarkupInput): void {
QuadPoints: m.quads.flat(),
C: m.color,
F: 4, // print
T: 'GenOffice',
T: 'HermesOffice',
P: page.ref,
AP: { N: apRef },
})
Expand Down Expand Up @@ -249,7 +249,7 @@ async function addImageStamp(
P: page.ref,
AP: { N: pdfDoc.context.register(ap) },
})
annot.set(PDFName.of('T'), PDFHexString.fromText('GenOffice'))
annot.set(PDFName.of('T'), PDFHexString.fromText('HermesOffice'))
setVisualSignatureMetadata(annot, d.formFieldName)
appendAnnot(pdfDoc, page, pdfDoc.context.register(annot))
}
Expand Down Expand Up @@ -333,7 +333,7 @@ function addDrawing(
P: page.ref,
})
annot.set(PDFName.of('Contents'), PDFHexString.fromText(d.contents))
annot.set(PDFName.of('T'), PDFHexString.fromText(d.author || 'GenOffice'))
annot.set(PDFName.of('T'), PDFHexString.fromText(d.author || 'HermesOffice'))
const when = pdfDateString(d.createdMs ?? Date.now())
annot.set(PDFName.of('CreationDate'), PDFString.of(when))
annot.set(PDFName.of('M'), PDFString.of(when))
Expand Down Expand Up @@ -420,7 +420,7 @@ function addDrawing(
if (d.kind === 'line' || d.kind === 'arrow') {
annot.set(PDFName.of('L'), pdfDoc.context.obj([...d.from, ...d.to]))
}
annot.set(PDFName.of('T'), PDFHexString.fromText('GenOffice'))
annot.set(PDFName.of('T'), PDFHexString.fromText('HermesOffice'))
if (d.kind === 'ink') setVisualSignatureMetadata(annot, d.formFieldName)
appendAnnot(pdfDoc, page, pdfDoc.context.register(annot))
}
Expand Down
2 changes: 1 addition & 1 deletion apps/pdf/src/shared/ipc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ export type DrawingInput =
color: [number, number, number]
at: [number, number]
contents: string
/** Annotation author (/T); omitted → 'GenOffice' */
/** Annotation author (/T); omitted → 'HermesOffice' */
author?: string
/** Creation time (ms since epoch) → /CreationDate and /M; omitted → save time */
createdMs?: number
Expand Down
4 changes: 2 additions & 2 deletions apps/pdf/tests/note-reply-save.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,10 @@ describe('note reply save', () => {
expect(modified instanceof PDFString && modified.decodeText()).toMatch(/^D:20\d{12}[+-]/)
})

it('falls back to the GenOffice author when none is provided', async () => {
it('falls back to the HermesOffice author when none is provided', async () => {
const { bytes } = await fixtureWithComment()
const { bytes: out } = await applySaveRequest(bytes, request([note({ contents: 'anon' })]))
expect((await textAnnots(out)).find((a) => a.contents === 'anon')!.author).toBe('GenOffice')
expect((await textAnnots(out)).find((a) => a.contents === 'anon')!.author).toBe('HermesOffice')
})

it('links a reply to a saved comment via /IRT even with a stale object number', async () => {
Expand Down
8 changes: 4 additions & 4 deletions apps/sheets/src/main/sheets-main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1477,7 +1477,7 @@ interface SheetsRuntimeConfig {
rendererFile: string
/** absolute path to the Rust xlsx-sidecar binary */
sidecarPath?: string | undefined
/** Shell router used to open exported/AI-generated files in a new GenOffice tab. */
/** Shell router used to open exported/AI-generated files in a new HermesOffice tab. */
openGeneratedPath?: (path: string) => boolean
/** Host-owned cross-app document creator (the shell routes docx/pdf/md into Docs). */
createDocument?: (request: SheetsAiHostDocumentRequest) => Promise<WorkbookCreateDocumentResult>
Expand Down Expand Up @@ -1527,7 +1527,7 @@ async function createStandaloneSheetsDocument(
request: SheetsAiHostDocumentRequest,
): Promise<WorkbookCreateDocumentResult> {
if (request.type === 'docx') {
return { ok: false, error: 'Creating DOCX files requires the GenOffice shell or Docs app.' }
return { ok: false, error: 'Creating DOCX files requires the HermesOffice shell or Docs app.' }
}
const title = sanitizeGeneratedFileBase(request.title)
try {
Expand Down Expand Up @@ -1978,7 +1978,7 @@ export async function createSheetsWindow(
minWidth: 720,
minHeight: 550,
show: false,
title: 'GenOffice Sheets',
title: 'HermesOffice Sheets',
// Traffic lights sit inside the toolbar row.
...(process.platform === 'darwin' ? { titleBarStyle: 'hiddenInset' as const } : {}),
webPreferences: {
Expand Down Expand Up @@ -3328,7 +3328,7 @@ export function registerSheetsAiIpc(): void {

// Node fetch (undici) direct connections get reset under VPN/tun setups; retry over Chromium's stack
setRescueFetch((url, init) => net.fetch(url, init))
setAiUserAgent(`GenOffice/${app.getVersion()}`)
setAiUserAgent(`HermesOffice/${app.getVersion()}`)

ipcMain.handle(IPC_CHANNELS.aiGetSettings, (event): AiSettings => {
sessionFor(event)
Expand Down
2 changes: 1 addition & 1 deletion apps/slides/src/main/ai-ipc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ export function registerAiIpc(): void {
app.once('before-quit', shutdownCodexAppServers)
// Node fetch (undici) direct connections get reset under VPN/tun setups; retry over Chromium's stack
setRescueFetch((url, init) => net.fetch(url, init))
setAiUserAgent(`GenOffice/${app.getVersion()}`)
setAiUserAgent(`HermesOffice/${app.getVersion()}`)

ipcMain.handle('ai:get-settings', (): AiSettings => {
const stored = readJson<Partial<AiSettings> & LegacyAiSettings>(AI_SETTINGS_PATH(), {})
Expand Down
Loading
Loading