Commit 8dbd56f
fix: UI bugs and UX improvements for Identity Management (v0.16.1) (#245)
* fix(ui): use iconPath for QuickPick item icons
Replace $(icon) string syntax with iconPath property for reliable
icon display in QuickPick items. VS Code's QuickPickItem iconPath
provides more consistent rendering than embedded Codicon syntax.
Changes:
- Use iconPath with ThemeIcon('gear') for Manage Profiles option
- Use iconPath with ThemeIcon('add') for New Profile option
- Add iconPath to test interfaces for verification
- Add assertions to verify icon presence in tests
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20251101
* fix(l10n): improve required fields hint and clean up unused keys
- Update Japanese "New Profile" to more descriptive wording
- Add asterisk reference to required fields hint in all 17 languages
- Remove 5 unused translation keys from legacy wizard UI:
- "Add Identity (1/3): ID"
- "Add Identity (2/3): Name"
- "Add Identity (3/3): Email"
- "Edit Identity: Select Field"
- "Select an action"
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20251101
* fix(l10n): include English bundle.l10n.json in cleanup
The English base file was missed in the previous commit.
This adds the same changes:
- Update required fields hint to reference asterisk
- Remove 5 unused legacy wizard translation keys
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20251101
* fix(ui): improve save button icon and unify field descriptions
- Change save button disabled state icon from $(circle-slash) to
$(loading~spin) to better convey "incomplete/not ready" state
- Add concrete examples to id, sshKeyPath, gpgKeyId descriptions
in package.nls.*.json (settings.json) for all 17 languages
- Add matching translation keys to bundle.l10n.*.json for code-side
placeholders to maintain logical consistency across UI surfaces
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20251101
* feat(l10n): improve InputBox prompt messages for save action
- Update prompt in promptAddFormFieldInput() and promptFieldValueInput()
- Required: "Press 'Enter' to save"
- Optional (new): "Press 'Enter' to save (leave empty to skip)"
- Optional (edit): "Press 'Enter' to save (leave empty to clear)"
- Add 3 new translation keys to all 17 languages
- Remove obsolete keys: "Leave empty to skip", "Leave empty to clear"
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20250114
* fix(ui): fix SSH key path picker and improve tooltip
- Add ignoreFocusOut: true to InputBox to prevent auto-close when
file picker dialog opens, ensuring selected path is correctly
transferred to input field
- Rename tooltip from "Browse..." to "Browse for SSH key path..."
to accurately describe the action (selecting file path, not file)
- Update all 17 language translations with new key
- Update related test cases
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20251101
* fix: prevent "back" string from being set as field value in Add Form
When the back button was pressed in InputBox during Add Identity Form,
the literal string "back" was being stored in the form state instead of
being ignored. This caused invalid data to be saved.
Changes:
- Add `result !== 'back'` check in handleAddFormFieldEdit()
- Add 2 test cases to verify back button behavior
- Fix existing test expectation for disabled save button icon
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20251101
* chore: bump version to 0.16.1 and update CHANGELOG
- Update version from 0.16.0 to 0.16.1 in package.json
- Add 0.16.1 changelog entry documenting UI bug fixes:
- Fixed back button inserting "back" string
- Fixed SSH key path browse button UX
- Improved Japanese labels and field hints
- Updated InputBox prompts (17 languages)
- Removed obsolete translation keys
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20251101
* style: escape asterisk in CHANGELOG and reduce test duplication
- Escape asterisk (\*) in CHANGELOG for markdown compliance (Restyled)
- Merge two similar back-button tests into one to reduce code duplication
(SonarQube: 4.2% -> below 3% target)
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20251101
* refactor: extract getInputBoxPrompt helper to reduce duplication
Extract common prompt generation logic from promptAddFormFieldInput()
and promptFieldValueInput() into a shared helper function to reduce
code duplication (SonarQube compliance).
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20251101
* refactor: convert switch statements to object maps for SonarCloud compliance
Replace switch-case patterns with const object maps to eliminate
structural duplication detected by SonarCloud:
- FIELD_PLACEHOLDER_KEYS: placeholder text for each field
- INPUT_BOX_PROMPT_KEYS: prompt text for InputBox modes
🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Model-Raw: claude-opus-4-5-20251101
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>1 parent e6db81e commit 8dbd56f
41 files changed
Lines changed: 324 additions & 260 deletions
File tree
- extensions/git-id-switcher
- l10n
- src
- test/e2e
- ui
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
10 | 41 | | |
11 | 42 | | |
12 | 43 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | 37 | | |
| 38 | + | |
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
44 | | - | |
45 | 42 | | |
46 | 43 | | |
47 | 44 | | |
| |||
64 | 61 | | |
65 | 62 | | |
66 | 63 | | |
67 | | - | |
68 | 64 | | |
69 | 65 | | |
70 | | - | |
71 | 66 | | |
72 | 67 | | |
73 | 68 | | |
| |||
97 | 92 | | |
98 | 93 | | |
99 | 94 | | |
| 95 | + | |
100 | 96 | | |
101 | 97 | | |
102 | | - | |
| 98 | + | |
| 99 | + | |
103 | 100 | | |
104 | | - | |
105 | 101 | | |
106 | | - | |
107 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
108 | 107 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | 37 | | |
| 38 | + | |
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
44 | | - | |
45 | 42 | | |
46 | 43 | | |
47 | 44 | | |
| |||
64 | 61 | | |
65 | 62 | | |
66 | 63 | | |
67 | | - | |
68 | 64 | | |
69 | 65 | | |
70 | | - | |
71 | 66 | | |
72 | 67 | | |
73 | 68 | | |
| |||
97 | 92 | | |
98 | 93 | | |
99 | 94 | | |
| 95 | + | |
100 | 96 | | |
101 | 97 | | |
102 | | - | |
| 98 | + | |
| 99 | + | |
103 | 100 | | |
104 | | - | |
105 | 101 | | |
106 | | - | |
107 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
108 | 107 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | 37 | | |
| 38 | + | |
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
44 | | - | |
45 | 42 | | |
46 | 43 | | |
47 | 44 | | |
| |||
64 | 61 | | |
65 | 62 | | |
66 | 63 | | |
67 | | - | |
68 | 64 | | |
69 | 65 | | |
70 | | - | |
71 | 66 | | |
72 | 67 | | |
73 | 68 | | |
| |||
97 | 92 | | |
98 | 93 | | |
99 | 94 | | |
| 95 | + | |
100 | 96 | | |
101 | 97 | | |
102 | | - | |
| 98 | + | |
| 99 | + | |
103 | 100 | | |
104 | | - | |
105 | 101 | | |
106 | | - | |
107 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
108 | 107 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | 37 | | |
| 38 | + | |
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
44 | | - | |
45 | 42 | | |
46 | 43 | | |
47 | 44 | | |
| |||
64 | 61 | | |
65 | 62 | | |
66 | 63 | | |
67 | | - | |
68 | 64 | | |
69 | 65 | | |
70 | | - | |
71 | 66 | | |
72 | 67 | | |
73 | 68 | | |
| |||
97 | 92 | | |
98 | 93 | | |
99 | 94 | | |
| 95 | + | |
100 | 96 | | |
101 | 97 | | |
102 | | - | |
| 98 | + | |
| 99 | + | |
103 | 100 | | |
104 | | - | |
105 | 101 | | |
106 | | - | |
107 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
108 | 107 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | 37 | | |
| 38 | + | |
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
44 | | - | |
45 | 42 | | |
46 | 43 | | |
47 | 44 | | |
| |||
64 | 61 | | |
65 | 62 | | |
66 | 63 | | |
67 | | - | |
68 | 64 | | |
69 | 65 | | |
70 | | - | |
71 | 66 | | |
72 | 67 | | |
73 | 68 | | |
| |||
97 | 92 | | |
98 | 93 | | |
99 | 94 | | |
| 95 | + | |
100 | 96 | | |
101 | 97 | | |
102 | | - | |
| 98 | + | |
| 99 | + | |
103 | 100 | | |
104 | | - | |
105 | 101 | | |
106 | | - | |
107 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
108 | 107 | | |
0 commit comments