fix(vcs): surface stage/unstage failures instead of swallowing them (#1893)

* fix(vcs): surface stage/unstage failures instead of swallowing them

The Commit tab's Stage/Unstage items ran the IPC call and only attached a
.finally(refreshNow) handler. call() rejects with IpcError on any backend
failure (require_trust, git add failure, path routing), so the rejection
went unhandled: no notification, no console line, and the UI silently
showed the file still unstaged — reported as 'Stage/Unstage doesn't
work' (#1890).

Route the four handlers through runOp(), the same helper every other
mutating VCS op uses: it logs the command to the Git console, shows an
error balloon with the backend's message on failure, and refreshes the
status afterwards (so the manual .finally is dropped).

This doesn't change the success path; it makes the failure visible, which
is what the reporter needed to diagnose the real backend error.

* fix(vcs): add text catalog entries for the stage/unstage op titles
Цей коміт міститься в:
arookieofc authored and GitHub committed 2026-11-07 08:26:57 +08:00
1 джерело 2d34bc956d
коміт 39dc5db079
2 files changed
+8 -5

No files matched your search

+3 -1
Переглянути файл
@@ -6421,5 +6421,7 @@
"Recommended": "推荐",
"No preview": "无预览",
"Running in the background": "后台运行中",
"Couldn't stop the background task": "无法停止后台任务"
"Couldn't stop the background task": "无法停止后台任务",
"Stage {count} files": "暂存 {count} 个文件",
"Unstage {count} files": "取消暂存 {count} 个文件"
}