polish(desktop): rename error-card action to 'Copy error details'

'Copy diagnostics' was dev-speak; match the familiar OS-error phrasing.
All five locales + docs updated.
This commit is contained in:
Teknium
2026-08-21 13:01:57 -07:00
parent 3903428a72
commit 50f1e414bc
8 changed files with 9 additions and 9 deletions
@@ -449,7 +449,7 @@ const StreamingMarker: FC = () => {
// descriptor (metadata.custom.errorSurface — see agent/error_surface.py).
// These leaves render the layer label + recovery actions. Older backends
// never send the descriptor: the label falls back to a generic title and the
// action row still offers Retry / Open Logs / Copy diagnostics, so nothing
// action row still offers Retry / Open Logs / Copy error details, so nothing
// regresses on version skew.
const ErrorLayerLabel: FC = () => {
+1 -1
View File
@@ -2449,7 +2449,7 @@ export const ar = defineLocale({
errorSwitchProvider: 'تبديل المزوّد',
errorOpenLogs: 'فتح السجلات',
errorOpenLogsFailed: 'تعذّر فتح مجلد السجلات',
errorCopyDiagnostics: 'نسخ التشخيصات',
errorCopyDiagnostics: 'نسخ تفاصيل الخطأ',
filesChanged: count => `${count} ملفات تم تغييرها`,
reviewChanges: 'مراجعة',
readAloudFailed: 'فشلت القراءة بصوت عال',
+1 -1
View File
@@ -3094,7 +3094,7 @@ export const en: Translations = {
errorSwitchProvider: 'Switch provider',
errorOpenLogs: 'Open logs',
errorOpenLogsFailed: 'Could not open the logs folder',
errorCopyDiagnostics: 'Copy diagnostics',
errorCopyDiagnostics: 'Copy error details',
filesChanged: count => (count === 1 ? '1 file changed' : `${count} files changed`),
reviewChanges: 'Review',
readAloudFailed: 'Read aloud failed',
+1 -1
View File
@@ -2746,7 +2746,7 @@ export const ja = defineLocale({
errorSwitchProvider: 'プロバイダーを切り替え',
errorOpenLogs: 'ログを開く',
errorOpenLogsFailed: 'ログフォルダを開けませんでした',
errorCopyDiagnostics: '診断情報をコピー',
errorCopyDiagnostics: 'エラー詳細をコピー',
filesChanged: count => `${count} 件のファイルを変更`,
reviewChanges: 'レビュー',
readAloudFailed: '読み上げに失敗しました',
+1 -1
View File
@@ -2656,7 +2656,7 @@ export const zhHant = defineLocale({
errorSwitchProvider: '切換服務商',
errorOpenLogs: '開啟日誌',
errorOpenLogsFailed: '無法開啟日誌資料夾',
errorCopyDiagnostics: '複製診斷資訊',
errorCopyDiagnostics: '複製錯誤詳細資訊',
filesChanged: count => `${count} 個檔案已變更`,
reviewChanges: '檢視',
readAloudFailed: '朗讀失敗',
+1 -1
View File
@@ -3258,7 +3258,7 @@ export const zh: Translations = {
errorSwitchProvider: '切换服务商',
errorOpenLogs: '打开日志',
errorOpenLogsFailed: '无法打开日志文件夹',
errorCopyDiagnostics: '复制诊断信息',
errorCopyDiagnostics: '复制错误详情',
filesChanged: count => `${count} 个文件已更改`,
reviewChanges: '查看',
readAloudFailed: '朗读失败',
+1 -1
View File
@@ -47,7 +47,7 @@ export function parseErrorSurface(value: unknown): ErrorSurface | null {
}
}
/** Plain-text diagnostics blob for the error card's "Copy diagnostics". */
/** Plain-text error-details blob for the error card's "Copy error details". */
export function formatErrorDiagnostics(input: {
appVersion?: string
errorText: string
+2 -2
View File
@@ -421,13 +421,13 @@ generic error toast. The card offers recovery actions matched to the failure:
- **Switch provider** — jumps to Settings → Models for provider, endpoint,
auth, and billing failures.
- **Open logs** — opens `HERMES_HOME/logs` in your file manager.
- **Copy diagnostics** — copies a compact plain-text summary (layer, code,
- **Copy error details** — copies a compact plain-text summary (layer, code,
provider/model, error message) you can paste into a bug report or Discord.
The layer comes from the same error classifier the agent's retry loop uses,
so it reflects the real failure semantics, not a guess from the message text.
Older backends that predate the descriptor still render the card with a
generic title and the Retry / Open logs / Copy diagnostics actions.
generic title and the Retry / Open logs / Copy error details actions.
Boot logs land in `HERMES_HOME/logs/desktop.log` (it includes backend output and recent Python tracebacks) — check it first if the app reports a boot failure. You can also tail it from the CLI: