From 341b4b45c8900fcb627b42e5e7979eb4b426ae7b Mon Sep 17 00:00:00 2001 From: Serhii Dziupin Date: Wed, 5 Aug 2026 13:26:46 +0000 Subject: [PATCH] fix(ui): stop painting git activity dots on non-git rail surfaces The badge PR inverted showActivityDot to !== 'git', so editor/terminal/diff picked up the blue activity dot whenever git had changes. Git already shows a numeric badge; other surfaces should stay quiet. Also split the count aria/tooltip strings into singular/plural keys. Co-authored-by: Serhii Dziupin --- .../components/layout/ContextPanelRail.tsx | 20 ++++++++++++++----- packages/ui/src/lib/i18n/messages/de.ts | 6 ++++-- packages/ui/src/lib/i18n/messages/en.ts | 6 ++++-- packages/ui/src/lib/i18n/messages/es.ts | 6 ++++-- packages/ui/src/lib/i18n/messages/fr.ts | 6 ++++-- packages/ui/src/lib/i18n/messages/ja.ts | 6 ++++-- packages/ui/src/lib/i18n/messages/ko.ts | 6 ++++-- packages/ui/src/lib/i18n/messages/pl.ts | 6 ++++-- packages/ui/src/lib/i18n/messages/pt-BR.ts | 6 ++++-- packages/ui/src/lib/i18n/messages/uk.ts | 6 ++++-- packages/ui/src/lib/i18n/messages/zh-CN.ts | 6 ++++-- packages/ui/src/lib/i18n/messages/zh-TW.ts | 6 ++++-- 12 files changed, 59 insertions(+), 27 deletions(-) diff --git a/packages/ui/src/components/layout/ContextPanelRail.tsx b/packages/ui/src/components/layout/ContextPanelRail.tsx index 54b5d78c..f7f5ce0d 100644 --- a/packages/ui/src/components/layout/ContextPanelRail.tsx +++ b/packages/ui/src/components/layout/ContextPanelRail.tsx @@ -284,8 +284,8 @@ export const ContextPanelRail: React.FC = () => { surface.id)} strategy={verticalListSortingStrategy}> {surfaces.map((surface, index) => { const label = t(surface.labelKey); - // The Git surface carries its changed-files count as a numeric - // badge; other surfaces keep the plain activity dot. + // Git shows a numeric badge instead of the old activity dot. + // Other surfaces never inherit git's changed-files signal. const gitChangedCount = surface.id === 'git' ? changedFilesCount : 0; const badgeCount = gitChangedCount > 0 ? gitChangedCount : null; return ( @@ -293,15 +293,25 @@ export const ContextPanelRail: React.FC = () => { key={surface.id} surface={surface} isActive={activeMode === surface.mode} - showActivityDot={surface.id !== 'git' && changedFilesCount > 0} + showActivityDot={false} label={label} description={t(surface.descriptionKey)} badgeCount={badgeCount} badgeAriaLabel={badgeCount !== null - ? t('contextRail.surface.git.changesCountAria', { label, count: badgeCount }) + ? t( + badgeCount === 1 + ? 'contextRail.surface.git.changesCountAriaSingle' + : 'contextRail.surface.git.changesCountAriaPlural', + { label, count: badgeCount }, + ) : null} badgeDescription={badgeCount !== null - ? t('contextRail.surface.git.changesCountTooltip', { count: badgeCount }) + ? t( + badgeCount === 1 + ? 'contextRail.surface.git.changesCountTooltipSingle' + : 'contextRail.surface.git.changesCountTooltipPlural', + { count: badgeCount }, + ) : null} orderNumber={index + 1} showOrderNumber={revealNumbers} diff --git a/packages/ui/src/lib/i18n/messages/de.ts b/packages/ui/src/lib/i18n/messages/de.ts index ffa3702f..0814ed97 100644 --- a/packages/ui/src/lib/i18n/messages/de.ts +++ b/packages/ui/src/lib/i18n/messages/de.ts @@ -2828,8 +2828,10 @@ export const dict = { 'contextPanel.editorEmpty.description': 'Wählen Sie etwas aus der Seitenleiste aus, um Kontext anzuzeigen.', 'contextRail.surface.editor.description': 'Bearbeitungskontext', 'contextRail.surface.git.description': 'Git-Kontext', - 'contextRail.surface.git.changesCountAria': '{label}, {count} geänderte Dateien', - 'contextRail.surface.git.changesCountTooltip': '{count} geänderte Dateien', + 'contextRail.surface.git.changesCountAriaSingle': '{label}, {count} geänderte Datei', + 'contextRail.surface.git.changesCountAriaPlural': '{label}, {count} geänderte Dateien', + 'contextRail.surface.git.changesCountTooltipSingle': '{count} geänderte Datei', + 'contextRail.surface.git.changesCountTooltipPlural': '{count} geänderte Dateien', 'contextRail.surface.terminal.description': 'Terminal-Kontext', 'contextRail.surface.diff.description': 'Diff-Kontext', 'contextPanel.mode.walkthrough': 'Walkthrough', diff --git a/packages/ui/src/lib/i18n/messages/en.ts b/packages/ui/src/lib/i18n/messages/en.ts index 641e4944..895faaae 100644 --- a/packages/ui/src/lib/i18n/messages/en.ts +++ b/packages/ui/src/lib/i18n/messages/en.ts @@ -1106,8 +1106,10 @@ export const dict = { 'contextPanel.editorEmpty.description': 'Pick a file from the tree to start editing.', 'contextRail.surface.editor.description': 'Edit project files', 'contextRail.surface.git.description': 'Commits, branches, and pull requests', - 'contextRail.surface.git.changesCountAria': '{label}, {count} changed files', - 'contextRail.surface.git.changesCountTooltip': '{count} changed files', + 'contextRail.surface.git.changesCountAriaSingle': '{label}, {count} changed file', + 'contextRail.surface.git.changesCountAriaPlural': '{label}, {count} changed files', + 'contextRail.surface.git.changesCountTooltipSingle': '{count} changed file', + 'contextRail.surface.git.changesCountTooltipPlural': '{count} changed files', 'contextRail.surface.terminal.description': 'Built-in terminal', 'contextRail.surface.diff.description': 'Review working changes', 'contextPanel.mode.walkthrough': 'Walkthrough', diff --git a/packages/ui/src/lib/i18n/messages/es.ts b/packages/ui/src/lib/i18n/messages/es.ts index a125d533..21bcd484 100644 --- a/packages/ui/src/lib/i18n/messages/es.ts +++ b/packages/ui/src/lib/i18n/messages/es.ts @@ -1107,8 +1107,10 @@ export const dict: Record = { "contextPanel.editorEmpty.description": "Elige un archivo del árbol para empezar a editar.", "contextRail.surface.editor.description": "Editar archivos del proyecto", "contextRail.surface.git.description": "Commits, ramas y pull requests", - "contextRail.surface.git.changesCountAria": "{label}, {count} archivos modificados", - "contextRail.surface.git.changesCountTooltip": "{count} archivos modificados", + "contextRail.surface.git.changesCountAriaSingle": "{label}, {count} archivo modificado", + "contextRail.surface.git.changesCountAriaPlural": "{label}, {count} archivos modificados", + "contextRail.surface.git.changesCountTooltipSingle": "{count} archivo modificado", + "contextRail.surface.git.changesCountTooltipPlural": "{count} archivos modificados", "contextRail.surface.terminal.description": "Terminal integrada", "contextRail.surface.diff.description": "Revisar cambios en curso", "contextPanel.mode.walkthrough": "Recorrido", diff --git a/packages/ui/src/lib/i18n/messages/fr.ts b/packages/ui/src/lib/i18n/messages/fr.ts index 1fa0637e..a94c8ff7 100644 --- a/packages/ui/src/lib/i18n/messages/fr.ts +++ b/packages/ui/src/lib/i18n/messages/fr.ts @@ -931,8 +931,10 @@ export const dict = { 'contextPanel.editorEmpty.description': 'Choisissez un fichier dans l’arborescence pour commencer.', 'contextRail.surface.editor.description': 'Modifier les fichiers du projet', 'contextRail.surface.git.description': 'Commits, branches et pull requests', - 'contextRail.surface.git.changesCountAria': '{label}, {count} fichiers modifiés', - 'contextRail.surface.git.changesCountTooltip': '{count} fichiers modifiés', + 'contextRail.surface.git.changesCountAriaSingle': '{label}, {count} fichier modifié', + 'contextRail.surface.git.changesCountAriaPlural': '{label}, {count} fichiers modifiés', + 'contextRail.surface.git.changesCountTooltipSingle': '{count} fichier modifié', + 'contextRail.surface.git.changesCountTooltipPlural': '{count} fichiers modifiés', 'contextRail.surface.terminal.description': 'Terminal intégré', 'contextRail.surface.diff.description': 'Passer en revue les modifications', 'contextPanel.mode.walkthrough': 'Parcours', diff --git a/packages/ui/src/lib/i18n/messages/ja.ts b/packages/ui/src/lib/i18n/messages/ja.ts index 83d7fb32..a135d9e5 100644 --- a/packages/ui/src/lib/i18n/messages/ja.ts +++ b/packages/ui/src/lib/i18n/messages/ja.ts @@ -1103,8 +1103,10 @@ export const dict: Record = { 'contextPanel.editorEmpty.description': 'ツリーからファイルを選んで編集を始めましょう。', 'contextRail.surface.editor.description': 'プロジェクトのファイルを編集', 'contextRail.surface.git.description': 'コミット・ブランチ・プルリクエスト', - 'contextRail.surface.git.changesCountAria': '{label}、変更ファイル{count}件', - 'contextRail.surface.git.changesCountTooltip': '変更ファイル{count}件', + 'contextRail.surface.git.changesCountAriaSingle': '{label}、変更ファイル{count}件', + 'contextRail.surface.git.changesCountAriaPlural': '{label}、変更ファイル{count}件', + 'contextRail.surface.git.changesCountTooltipSingle': '変更ファイル{count}件', + 'contextRail.surface.git.changesCountTooltipPlural': '変更ファイル{count}件', 'contextRail.surface.terminal.description': '内蔵ターミナル', 'contextRail.surface.diff.description': '作業中の変更をレビュー', 'contextPanel.mode.walkthrough': 'ウォークスルー', diff --git a/packages/ui/src/lib/i18n/messages/ko.ts b/packages/ui/src/lib/i18n/messages/ko.ts index 986ff3bd..84c41bcc 100644 --- a/packages/ui/src/lib/i18n/messages/ko.ts +++ b/packages/ui/src/lib/i18n/messages/ko.ts @@ -1107,8 +1107,10 @@ export const dict: Record = { 'contextPanel.editorEmpty.description': '트리에서 파일을 선택해 편집을 시작하세요.', 'contextRail.surface.editor.description': '프로젝트 파일 편집', 'contextRail.surface.git.description': '커밋, 브랜치, 풀 리퀘스트', - 'contextRail.surface.git.changesCountAria': '{label}, 변경된 파일 {count}개', - 'contextRail.surface.git.changesCountTooltip': '변경된 파일 {count}개', + 'contextRail.surface.git.changesCountAriaSingle': '{label}, 변경된 파일 {count}개', + 'contextRail.surface.git.changesCountAriaPlural': '{label}, 변경된 파일 {count}개', + 'contextRail.surface.git.changesCountTooltipSingle': '변경된 파일 {count}개', + 'contextRail.surface.git.changesCountTooltipPlural': '변경된 파일 {count}개', 'contextRail.surface.terminal.description': '내장 터미널', 'contextRail.surface.diff.description': '작업 중인 변경 사항 검토', 'contextPanel.mode.walkthrough': '워크스루', diff --git a/packages/ui/src/lib/i18n/messages/pl.ts b/packages/ui/src/lib/i18n/messages/pl.ts index ad308b23..3e1cb4e4 100644 --- a/packages/ui/src/lib/i18n/messages/pl.ts +++ b/packages/ui/src/lib/i18n/messages/pl.ts @@ -1419,8 +1419,10 @@ export const dict: Record = { 'contextPanel.editorEmpty.description': 'Wybierz plik z drzewa, aby rozpocząć edycję.', 'contextRail.surface.editor.description': 'Edytuj pliki projektu', 'contextRail.surface.git.description': 'Commity, gałęzie i pull requesty', - 'contextRail.surface.git.changesCountAria': '{label}, {count} zmienionych plików', - 'contextRail.surface.git.changesCountTooltip': '{count} zmienionych plików', + 'contextRail.surface.git.changesCountAriaSingle': '{label}, {count} zmieniony plik', + 'contextRail.surface.git.changesCountAriaPlural': '{label}, {count} zmienionych plików', + 'contextRail.surface.git.changesCountTooltipSingle': '{count} zmieniony plik', + 'contextRail.surface.git.changesCountTooltipPlural': '{count} zmienionych plików', 'contextRail.surface.terminal.description': 'Wbudowany terminal', 'contextRail.surface.diff.description': 'Przeglądaj bieżące zmiany', 'contextPanel.mode.walkthrough': 'Przewodnik', diff --git a/packages/ui/src/lib/i18n/messages/pt-BR.ts b/packages/ui/src/lib/i18n/messages/pt-BR.ts index d2e16295..333666ce 100644 --- a/packages/ui/src/lib/i18n/messages/pt-BR.ts +++ b/packages/ui/src/lib/i18n/messages/pt-BR.ts @@ -1107,8 +1107,10 @@ export const dict: Record = { "contextPanel.editorEmpty.description": "Escolha um arquivo na árvore para começar a editar.", "contextRail.surface.editor.description": "Editar arquivos do projeto", "contextRail.surface.git.description": "Commits, branches e pull requests", - "contextRail.surface.git.changesCountAria": "{label}, {count} arquivos modificados", - "contextRail.surface.git.changesCountTooltip": "{count} arquivos modificados", + "contextRail.surface.git.changesCountAriaSingle": "{label}, {count} arquivo modificado", + "contextRail.surface.git.changesCountAriaPlural": "{label}, {count} arquivos modificados", + "contextRail.surface.git.changesCountTooltipSingle": "{count} arquivo modificado", + "contextRail.surface.git.changesCountTooltipPlural": "{count} arquivos modificados", "contextRail.surface.terminal.description": "Terminal integrado", "contextRail.surface.diff.description": "Revisar alterações em andamento", "contextPanel.mode.walkthrough": "Percurso", diff --git a/packages/ui/src/lib/i18n/messages/uk.ts b/packages/ui/src/lib/i18n/messages/uk.ts index 4e61c8f5..2680f0c3 100644 --- a/packages/ui/src/lib/i18n/messages/uk.ts +++ b/packages/ui/src/lib/i18n/messages/uk.ts @@ -1107,8 +1107,10 @@ export const dict: Record = { "contextPanel.editorEmpty.description": "Виберіть файл у дереві, щоб почати редагування.", "contextRail.surface.editor.description": "Редагування файлів проєкту", "contextRail.surface.git.description": "Коміти, гілки та pull request-и", - "contextRail.surface.git.changesCountAria": "{label}, {count} змінених файлів", - "contextRail.surface.git.changesCountTooltip": "{count} змінених файлів", + "contextRail.surface.git.changesCountAriaSingle": "{label}, {count} змінений файл", + "contextRail.surface.git.changesCountAriaPlural": "{label}, {count} змінених файлів", + "contextRail.surface.git.changesCountTooltipSingle": "{count} змінений файл", + "contextRail.surface.git.changesCountTooltipPlural": "{count} змінених файлів", "contextRail.surface.terminal.description": "Вбудований термінал", "contextRail.surface.diff.description": "Перегляд поточних змін", "contextPanel.mode.walkthrough": "Розбір", diff --git a/packages/ui/src/lib/i18n/messages/zh-CN.ts b/packages/ui/src/lib/i18n/messages/zh-CN.ts index 4d262c92..5a36af20 100644 --- a/packages/ui/src/lib/i18n/messages/zh-CN.ts +++ b/packages/ui/src/lib/i18n/messages/zh-CN.ts @@ -1107,8 +1107,10 @@ export const dict: Record = { 'contextPanel.editorEmpty.description': '从文件树中选择一个文件开始编辑。', 'contextRail.surface.editor.description': '编辑项目文件', 'contextRail.surface.git.description': '提交、分支和拉取请求', - 'contextRail.surface.git.changesCountAria': '{label},{count} 个更改的文件', - 'contextRail.surface.git.changesCountTooltip': '{count} 个更改的文件', + 'contextRail.surface.git.changesCountAriaSingle': '{label},{count} 个更改的文件', + 'contextRail.surface.git.changesCountAriaPlural': '{label},{count} 个更改的文件', + 'contextRail.surface.git.changesCountTooltipSingle': '{count} 个更改的文件', + 'contextRail.surface.git.changesCountTooltipPlural': '{count} 个更改的文件', 'contextRail.surface.terminal.description': '内置终端', 'contextRail.surface.diff.description': '查看工作区更改', 'contextPanel.mode.walkthrough': '导读', diff --git a/packages/ui/src/lib/i18n/messages/zh-TW.ts b/packages/ui/src/lib/i18n/messages/zh-TW.ts index e323ed7f..846aa35c 100644 --- a/packages/ui/src/lib/i18n/messages/zh-TW.ts +++ b/packages/ui/src/lib/i18n/messages/zh-TW.ts @@ -1119,8 +1119,10 @@ export const dict: Record = { 'contextPanel.editorEmpty.description': '從檔案樹選擇檔案開始編輯。', 'contextRail.surface.editor.description': '編輯專案檔案', 'contextRail.surface.git.description': '提交、分支與拉取請求', - 'contextRail.surface.git.changesCountAria': '{label},{count} 個變更的檔案', - 'contextRail.surface.git.changesCountTooltip': '{count} 個變更的檔案', + 'contextRail.surface.git.changesCountAriaSingle': '{label},{count} 個變更的檔案', + 'contextRail.surface.git.changesCountAriaPlural': '{label},{count} 個變更的檔案', + 'contextRail.surface.git.changesCountTooltipSingle': '{count} 個變更的檔案', + 'contextRail.surface.git.changesCountTooltipPlural': '{count} 個變更的檔案', 'contextRail.surface.terminal.description': '內建終端機', 'contextRail.surface.diff.description': '檢視工作區變更', 'contextPanel.mode.walkthrough': '導讀',