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:
@@ -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 = () => {
|
||||
|
||||
@@ -2449,7 +2449,7 @@ export const ar = defineLocale({
|
||||
errorSwitchProvider: 'تبديل المزوّد',
|
||||
errorOpenLogs: 'فتح السجلات',
|
||||
errorOpenLogsFailed: 'تعذّر فتح مجلد السجلات',
|
||||
errorCopyDiagnostics: 'نسخ التشخيصات',
|
||||
errorCopyDiagnostics: 'نسخ تفاصيل الخطأ',
|
||||
filesChanged: count => `${count} ملفات تم تغييرها`,
|
||||
reviewChanges: 'مراجعة',
|
||||
readAloudFailed: 'فشلت القراءة بصوت عال',
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -2746,7 +2746,7 @@ export const ja = defineLocale({
|
||||
errorSwitchProvider: 'プロバイダーを切り替え',
|
||||
errorOpenLogs: 'ログを開く',
|
||||
errorOpenLogsFailed: 'ログフォルダを開けませんでした',
|
||||
errorCopyDiagnostics: '診断情報をコピー',
|
||||
errorCopyDiagnostics: 'エラー詳細をコピー',
|
||||
filesChanged: count => `${count} 件のファイルを変更`,
|
||||
reviewChanges: 'レビュー',
|
||||
readAloudFailed: '読み上げに失敗しました',
|
||||
|
||||
@@ -2656,7 +2656,7 @@ export const zhHant = defineLocale({
|
||||
errorSwitchProvider: '切換服務商',
|
||||
errorOpenLogs: '開啟日誌',
|
||||
errorOpenLogsFailed: '無法開啟日誌資料夾',
|
||||
errorCopyDiagnostics: '複製診斷資訊',
|
||||
errorCopyDiagnostics: '複製錯誤詳細資訊',
|
||||
filesChanged: count => `${count} 個檔案已變更`,
|
||||
reviewChanges: '檢視',
|
||||
readAloudFailed: '朗讀失敗',
|
||||
|
||||
@@ -3258,7 +3258,7 @@ export const zh: Translations = {
|
||||
errorSwitchProvider: '切换服务商',
|
||||
errorOpenLogs: '打开日志',
|
||||
errorOpenLogsFailed: '无法打开日志文件夹',
|
||||
errorCopyDiagnostics: '复制诊断信息',
|
||||
errorCopyDiagnostics: '复制错误详情',
|
||||
filesChanged: count => `${count} 个文件已更改`,
|
||||
reviewChanges: '查看',
|
||||
readAloudFailed: '朗读失败',
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user