fix(workspace-state): stop resync loop on non-git folders and allow retry for degraded watcher
Gate git refresh on .git presence so file churn in non-git workspaces no longer produces endless resync_hint events, and silently log tree/git refresh errors during watch flushing instead of flagging requires_resync, which turned transient failures into self-reinforcing loops. Degrade gracefully when the filesystem watcher fails to attach (e.g. permission denied, inotify quota): keep the initial snapshot, surface a degraded flag, and expose a store-level restart that the banner uses to retry attachment after the root cause is fixed. Propagate is_git_repo through the snapshot so the git log and changes tabs render a dedicated "Not a Git repository" empty state instead of raw git stderr with a useless retry button. Stop polling get_git_branch from the title bar once it returns null and re-arm on visibility change. Add translations for the new banner, empty-state, and retry keys across all ten locales.
This commit is contained in:
@@ -769,6 +769,12 @@
|
||||
"applyRightNonConflicting": "تطبيق البعيد"
|
||||
},
|
||||
"Folder": {
|
||||
"workspaceStatus": {
|
||||
"degradedTitle": "التحديثات الفورية غير متاحة",
|
||||
"degradedHint": "فشل تشغيل المراقب (مثل رفض الإذن). قم بالتحديث يدويًا لرؤية التغييرات.",
|
||||
"retry": "إعادة المحاولة",
|
||||
"retrying": "جارٍ إعادة المحاولة..."
|
||||
},
|
||||
"common": {
|
||||
"all": "الكل",
|
||||
"cancel": "إلغاء",
|
||||
@@ -1205,6 +1211,8 @@
|
||||
"workspace": "مساحة العمل",
|
||||
"retry": "إعادة المحاولة",
|
||||
"noCommitsFound": "لم يتم العثور على التزامات",
|
||||
"notAGitRepoTitle": "ليس مستودع Git",
|
||||
"notAGitRepoHint": "قم بتهيئة Git من قائمة الفروع أعلاه، أو افتح مستودعًا موجودًا.",
|
||||
"hash": "بصمة الالتزام",
|
||||
"copyHash": "نسخ الـ hash",
|
||||
"copyMessage": "نسخ الرسالة",
|
||||
@@ -1281,6 +1289,8 @@
|
||||
"gitChangesTab": {
|
||||
"workspace": "مساحة العمل",
|
||||
"noChanges": "لا توجد تغييرات محلية",
|
||||
"notAGitRepoTitle": "ليس مستودع Git",
|
||||
"notAGitRepoHint": "قم بتهيئة Git من قائمة الفروع أعلاه، أو افتح مستودعًا موجودًا.",
|
||||
"trackedChanges": "التغييرات المتعقبة ({count})",
|
||||
"untrackedFiles": "الملفات غير المتعقبة ({count})",
|
||||
"expandTracked": "توسيع التغييرات المتعقبة",
|
||||
|
||||
Reference in New Issue
Block a user