Skip to content

Commit 33fce4d

Browse files
committed
fix: resolve import button stuck issue and missing translations
- Fix import button getting stuck on 'Importing...' when user cancels file dialog - Add missing 'importing' translation key to all locales - Prevent error logging for user cancellation in import flow Fixes #5047
1 parent 82fc614 commit 33fce4d

File tree

17 files changed

+26
-2
lines changed

17 files changed

+26
-2
lines changed

src/core/webview/webviewMessageHandler.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1680,6 +1680,13 @@ export const webviewMessageHandler = async (
16801680
// Show error message
16811681
vscode.window.showErrorMessage(t("common:errors.mode_import_failed", { error: result.error }))
16821682
}
1683+
} else {
1684+
// User cancelled the file dialog - reset the importing state
1685+
provider.postMessageToWebview({
1686+
type: "importModeResult",
1687+
success: false,
1688+
error: "cancelled",
1689+
})
16831690
}
16841691
} catch (error) {
16851692
const errorMessage = error instanceof Error ? error.message : String(error)

webview-ui/src/components/modes/ModesView.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -428,8 +428,10 @@ const ModesView = ({ onDone }: ModesViewProps) => {
428428
setShowImportDialog(false)
429429

430430
if (!message.success) {
431-
// Show error message
432-
console.error("Failed to import mode:", message.error)
431+
// Only log error if it's not a cancellation
432+
if (message.error !== "cancelled") {
433+
console.error("Failed to import mode:", message.error)
434+
}
433435
}
434436
} else if (message.type === "checkRulesDirectoryResult") {
435437
setHasRulesToExport((prev) => ({

webview-ui/src/i18n/locales/ca/prompts.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"importMode": {
6262
"selectLevel": "Tria on importar aquest mode:",
6363
"import": "Importar",
64+
"importing": "Important...",
6465
"global": {
6566
"label": "Nivell global",
6667
"description": "Disponible a tots els projectes. Les regles es fusionaran amb les instruccions personalitzades."

webview-ui/src/i18n/locales/de/prompts.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"importMode": {
6262
"selectLevel": "Wähle, wo dieser Modus importiert werden soll:",
6363
"import": "Importieren",
64+
"importing": "Importiere...",
6465
"global": {
6566
"label": "Globale Ebene",
6667
"description": "Verfügbar in allen Projekten. Regeln werden in benutzerdefinierte Anweisungen zusammengeführt."

webview-ui/src/i18n/locales/hi/prompts.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"importMode": {
6262
"selectLevel": "चुनें कि इस मोड को कहाँ आयात करना है:",
6363
"import": "आयात करें",
64+
"importing": "आयात कर रहे हैं...",
6465
"global": {
6566
"label": "वैश्विक स्तर",
6667
"description": "सभी परियोजनाओं में उपलब्ध। नियम कस्टम निर्देशों में विलय कर दिए जाएंगे।"

webview-ui/src/i18n/locales/id/prompts.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"importMode": {
6262
"selectLevel": "Pilih di mana akan mengimpor mode ini:",
6363
"import": "Impor",
64+
"importing": "Mengimpor...",
6465
"global": {
6566
"label": "Tingkat Global",
6667
"description": "Tersedia di semua proyek. Aturan akan digabungkan ke dalam instruksi kustom."

webview-ui/src/i18n/locales/it/prompts.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"importMode": {
6262
"selectLevel": "Scegli dove importare questa modalità:",
6363
"import": "Importa",
64+
"importing": "Importazione...",
6465
"global": {
6566
"label": "Livello globale",
6667
"description": "Disponibile in tutti i progetti. Le regole verranno unite nelle istruzioni personalizzate."

webview-ui/src/i18n/locales/ja/prompts.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"importMode": {
6262
"selectLevel": "このモードをインポートする場所を選択してください:",
6363
"import": "インポート",
64+
"importing": "インポート中...",
6465
"global": {
6566
"label": "グローバルレベル",
6667
"description": "すべてのプロジェクトで利用可能です。ルールはカスタム指示にマージされます。"

webview-ui/src/i18n/locales/ko/prompts.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"importMode": {
6262
"selectLevel": "이 모드를 가져올 위치를 선택하세요:",
6363
"import": "가져오기",
64+
"importing": "가져오는 중...",
6465
"global": {
6566
"label": "전역 수준",
6667
"description": "모든 프로젝트에서 사용 가능합니다. 규칙은 사용자 지정 지침에 병합됩니다."

webview-ui/src/i18n/locales/nl/prompts.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"importMode": {
6262
"selectLevel": "Kies waar je deze modus wilt importeren:",
6363
"import": "Importeren",
64+
"importing": "Importeren...",
6465
"global": {
6566
"label": "Globaal niveau",
6667
"description": "Beschikbaar in alle projecten. Regels worden samengevoegd in aangepaste instructies."

0 commit comments

Comments
 (0)