Skip to content

Commit 53081fe

Browse files
committed
Replace strict equality checks with loose equality checks for config ID comparisons and persist workspace state updates alongside global state
1 parent 03e6639 commit 53081fe

2 files changed

Lines changed: 18 additions & 8 deletions

File tree

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const get_edit_context_config = async (
5353

5454
if (config_id !== undefined) {
5555
selected_config =
56-
edit_context_configs.find((c) => get_tool_config_id(c) === config_id) ||
56+
edit_context_configs.find((c) => get_tool_config_id(c) == config_id) ||
5757
null
5858
if (selected_config) {
5959
context.workspaceState.update(
@@ -127,9 +127,7 @@ const get_edit_context_config = async (
127127
)
128128

129129
const items = quick_pick.items as (vscode.QuickPickItem & { id: string })[]
130-
const last_selected_item = items.find(
131-
(item) => item.id === last_selected_id
132-
)
130+
const last_selected_item = items.find((item) => item.id == last_selected_id)
133131

134132
if (last_selected_item) {
135133
quick_pick.activeItems = [last_selected_item]

‎packages/vscode/src/views/panel/backend/message-handlers/handle-send-prompt.ts‎

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,10 @@ async function show_preset_quick_pick(params: {
264264
>()
265265

266266
const recents_key = get_recently_used_presets_or_groups_key(mode)
267-
const recent_names = context.globalState.get<string[]>(recents_key, [])
267+
const recent_names =
268+
context.workspaceState.get<string[]>(recents_key) ??
269+
context.globalState.get<string[]>(recents_key) ??
270+
[]
268271

269272
if (recent_names.length == 0) {
270273
vscode.window.showWarningMessage(
@@ -388,11 +391,14 @@ async function show_preset_quick_pick(params: {
388391
const name_to_save = selected.preset_name
389392
const recents_key = get_recently_used_presets_or_groups_key(mode)
390393
const recents =
391-
context.globalState.get<string[]>(recents_key, []) ?? []
394+
context.workspaceState.get<string[]>(recents_key) ??
395+
context.globalState.get<string[]>(recents_key) ??
396+
[]
392397
const newRecents = [
393398
name_to_save,
394399
...recents.filter((r) => r != name_to_save)
395400
].slice(0, 10)
401+
context.workspaceState.update(recents_key, newRecents)
396402
context.globalState.update(recents_key, newRecents)
397403
do_resolve({ preset_names: [selected.preset_name] })
398404
}
@@ -421,11 +427,14 @@ async function show_preset_quick_pick(params: {
421427
update_last_used_preset_or_group({ panel_provider, group_name })
422428
const recents_key = get_recently_used_presets_or_groups_key(mode)
423429
const recents =
424-
context.globalState.get<string[]>(recents_key, []) ?? []
430+
context.workspaceState.get<string[]>(recents_key) ??
431+
context.globalState.get<string[]>(recents_key) ??
432+
[]
425433
const newRecents = [
426434
group_name,
427435
...recents.filter((r) => r !== group_name)
428436
].slice(0, 10)
437+
context.workspaceState.update(recents_key, newRecents)
429438
context.globalState.update(recents_key, newRecents)
430439
do_resolve({ preset_names })
431440
}
@@ -585,7 +594,10 @@ async function resolve_presets(params: {
585594
params.group_name === undefined
586595
) {
587596
// Try to use last selection if "Send" button is clicked without specific preset/group
588-
const recents = params.context.globalState.get<string[]>(recents_key, [])
597+
const recents =
598+
params.context.workspaceState.get<string[]>(recents_key) ??
599+
params.context.globalState.get<string[]>(recents_key) ??
600+
[]
589601
const last_selected_name = recents[0]
590602
if (last_selected_name) {
591603
const item = all_presets.find((p) => p.name === last_selected_name)

0 commit comments

Comments
 (0)