Skip to content

Commit ac9a899

Browse files
committed
Prioritize retrieving the last selected API tool configuration ID from both workspace and global state consistently across all relevant commands and handlers
1 parent 512512d commit ac9a899

7 files changed

Lines changed: 109 additions & 33 deletions

File tree

‎packages/vscode/src/commands/apply-chat-response-command/apply-chat-response-command.ts‎

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,13 @@ const get_intelligent_update_config = async (
136136
quick_pick.placeholder = 'Select intelligent update configuration'
137137
quick_pick.matchOnDescription = true
138138

139-
const last_selected_id = context.globalState.get<string>(
140-
LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY
141-
)
139+
const last_selected_id =
140+
context.workspaceState.get<string>(
141+
LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY
142+
) ??
143+
context.globalState.get<string>(
144+
LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY
145+
)
142146
const last_selected_item = items.find((item) => item.id == last_selected_id)
143147

144148
if (last_selected_item) {
@@ -176,6 +180,10 @@ const get_intelligent_update_config = async (
176180
return
177181
}
178182

183+
context.workspaceState.update(
184+
LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY,
185+
selected.id
186+
)
179187
context.globalState.update(
180188
LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY,
181189
selected.id

‎packages/vscode/src/commands/code-completion-commands.ts‎

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,13 @@ const get_code_completion_config = async (
8383
(c) => get_tool_config_id(c) === config_id
8484
) || null
8585
} else if (!show_quick_pick) {
86-
const last_selected_id = context.workspaceState.get<string>(
87-
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
88-
)
86+
const last_selected_id =
87+
context.workspaceState.get<string>(
88+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
89+
) ??
90+
context.globalState.get<string>(
91+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
92+
)
8993
if (last_selected_id) {
9094
selected_config =
9195
code_completions_configs.find(
@@ -123,9 +127,13 @@ const get_code_completion_config = async (
123127
quick_pick.placeholder = 'Select code completions configuration'
124128
quick_pick.matchOnDescription = true
125129

126-
const last_selected_id = context.workspaceState.get<string>(
127-
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
128-
)
130+
const last_selected_id =
131+
context.workspaceState.get<string>(
132+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
133+
) ??
134+
context.globalState.get<string>(
135+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
136+
)
129137

130138
const items = quick_pick.items as (vscode.QuickPickItem & { id: string })[]
131139
const last_selected_item = items.find(
@@ -153,6 +161,10 @@ const get_code_completion_config = async (
153161
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY,
154162
selected.id
155163
)
164+
context.globalState.update(
165+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY,
166+
selected.id
167+
)
156168

157169
if (view_provider) {
158170
view_provider.send_message({

‎packages/vscode/src/utils/intelligent-update-utils.ts‎

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,13 @@ export const get_intelligent_update_config = async (
9090
quick_pick.placeholder = 'Select intelligent update configuration'
9191
quick_pick.matchOnDescription = true
9292

93-
const last_selected_id = context.globalState.get<string>(
94-
LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY
95-
)
93+
const last_selected_id =
94+
context.workspaceState.get<string>(
95+
LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY
96+
) ??
97+
context.globalState.get<string>(
98+
LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY
99+
)
96100
const last_selected_item = items.find((item) => item.id == last_selected_id)
97101

98102
if (last_selected_item) {
@@ -130,6 +134,10 @@ export const get_intelligent_update_config = async (
130134
return
131135
}
132136

137+
context.workspaceState.update(
138+
LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY,
139+
selected.id
140+
)
133141
context.globalState.update(
134142
LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY,
135143
selected.id

‎packages/vscode/src/views/panel/backend/message-handlers/handle-code-completion.ts‎

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ const get_code_completion_config = async (
4848
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY,
4949
config_id
5050
)
51+
context.globalState.update(
52+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY,
53+
config_id
54+
)
5155

5256
if (view_provider) {
5357
view_provider.send_message({
@@ -58,9 +62,13 @@ const get_code_completion_config = async (
5862
}
5963
}
6064
} else if (!show_quick_pick) {
61-
const last_selected_id = context.workspaceState.get<string>(
62-
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
63-
)
65+
const last_selected_id =
66+
context.workspaceState.get<string>(
67+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
68+
) ??
69+
context.globalState.get<string>(
70+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
71+
)
6472
if (last_selected_id) {
6573
selected_config =
6674
code_completions_configs.find(
@@ -102,9 +110,13 @@ const get_code_completion_config = async (
102110
quick_pick.placeholder = 'Select code completions configuration'
103111
quick_pick.matchOnDescription = true
104112

105-
const last_selected_id = context.workspaceState.get<string>(
106-
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
107-
)
113+
const last_selected_id =
114+
context.workspaceState.get<string>(
115+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
116+
) ??
117+
context.globalState.get<string>(
118+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
119+
)
108120

109121
const items = quick_pick.items as (vscode.QuickPickItem & { id: string })[]
110122
const last_selected_item = items.find(
@@ -132,6 +144,10 @@ const get_code_completion_config = async (
132144
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY,
133145
selected.id
134146
)
147+
context.globalState.update(
148+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY,
149+
selected.id
150+
)
135151

136152
if (view_provider) {
137153
view_provider.send_message({

‎packages/vscode/src/views/panel/backend/message-handlers/handle-commit-changes/utils/get-commit-message-config.ts‎

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,13 @@ export const get_commit_message_config = async (
8888
quick_pick.placeholder = 'Select configuration for commit message'
8989
quick_pick.matchOnDescription = true
9090

91-
const last_selected_id = context.globalState.get<string>(
92-
LAST_SELECTED_COMMIT_MESSAGES_CONFIG_ID_STATE_KEY
93-
)
91+
const last_selected_id =
92+
context.workspaceState.get<string>(
93+
LAST_SELECTED_COMMIT_MESSAGES_CONFIG_ID_STATE_KEY
94+
) ??
95+
context.globalState.get<string>(
96+
LAST_SELECTED_COMMIT_MESSAGES_CONFIG_ID_STATE_KEY
97+
)
9498
const last_selected_item = (
9599
quick_pick.items as (vscode.QuickPickItem & { id: string })[]
96100
).find((item) => item.id === last_selected_id)
@@ -126,6 +130,10 @@ export const get_commit_message_config = async (
126130
quick_pick.hide()
127131

128132
if (selected) {
133+
context.workspaceState.update(
134+
LAST_SELECTED_COMMIT_MESSAGES_CONFIG_ID_STATE_KEY,
135+
selected.id
136+
)
129137
context.globalState.update(
130138
LAST_SELECTED_COMMIT_MESSAGES_CONFIG_ID_STATE_KEY,
131139
selected.id

‎packages/vscode/src/views/panel/backend/message-handlers/handle-edit-context.ts‎

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ const get_edit_context_config = async (
4949
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY,
5050
config_id
5151
)
52+
context.globalState.update(
53+
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY,
54+
config_id
55+
)
5256

5357
if (view_provider) {
5458
view_provider.send_message({
@@ -59,9 +63,13 @@ const get_edit_context_config = async (
5963
}
6064
}
6165
} else if (!show_quick_pick) {
62-
const last_selected_id = context.workspaceState.get<string>(
63-
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY
64-
)
66+
const last_selected_id =
67+
context.workspaceState.get<string>(
68+
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY
69+
) ??
70+
context.globalState.get<string>(
71+
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY
72+
)
6573
if (last_selected_id) {
6674
selected_config =
6775
edit_context_configs.find(
@@ -102,9 +110,13 @@ const get_edit_context_config = async (
102110
quick_pick.placeholder = 'Select configuration'
103111
quick_pick.matchOnDescription = true
104112

105-
const last_selected_id = context.workspaceState.get<string>(
106-
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY
107-
)
113+
const last_selected_id =
114+
context.workspaceState.get<string>(
115+
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY
116+
) ??
117+
context.globalState.get<string>(
118+
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY
119+
)
108120

109121
const items = quick_pick.items as (vscode.QuickPickItem & { id: string })[]
110122
const last_selected_item = items.find(
@@ -135,6 +147,10 @@ const get_edit_context_config = async (
135147
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY,
136148
selected.id
137149
)
150+
context.globalState.update(
151+
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY,
152+
selected.id
153+
)
138154

139155
if (view_provider) {
140156
view_provider.send_message({

‎packages/vscode/src/views/panel/backend/view-provider.ts‎

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -684,12 +684,20 @@ export class ViewProvider implements vscode.WebviewViewProvider {
684684
})
685685
),
686686
selected_configuration_id_by_mode: {
687-
'edit-context': this.context.workspaceState.get<string>(
688-
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY
689-
),
690-
'code-completions': this.context.workspaceState.get<string>(
691-
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
692-
)
687+
'edit-context':
688+
this.context.workspaceState.get<string>(
689+
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY
690+
) ??
691+
this.context.globalState.get<string>(
692+
LAST_SELECTED_EDIT_CONTEXT_CONFIG_ID_STATE_KEY
693+
),
694+
'code-completions':
695+
this.context.workspaceState.get<string>(
696+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
697+
) ??
698+
this.context.globalState.get<string>(
699+
LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY
700+
)
693701
}
694702
})
695703
}

0 commit comments

Comments
 (0)