@@ -10,10 +10,7 @@ import {
1010 replace_commit_symbol
1111} from '@/views/panel/backend/utils/replace-git-symbols'
1212import { code_completion_instructions_for_panel } from '@/constants/instructions'
13- import {
14- get_last_selected_preset_or_group_key ,
15- get_recently_used_presets_or_groups_key
16- } from '@/constants/state-keys'
13+ import { get_recently_used_presets_or_groups_key } from '@/constants/state-keys'
1714import { ConfigPresetFormat } from '../utils/preset-format-converters'
1815import { MODE } from '@/views/panel/types/main-view-mode'
1916import { WebPromptType } from '@shared/types/prompt-types'
@@ -81,25 +78,11 @@ export const handle_send_prompt = async (params: {
8178 const resolved_preset_names = resolution . preset_names
8279
8380 if ( params . preset_name !== undefined || params . group_name ) {
84- const name_to_save = params . preset_name ?? params . group_name !
8581 update_last_used_preset_or_group ( {
8682 panel_provider : params . panel_provider ,
8783 preset_name : params . preset_name ,
8884 group_name : params . group_name
8985 } )
90- const recents_key = get_recently_used_presets_or_groups_key (
91- params . panel_provider . web_prompt_type
92- )
93- const recents =
94- params . panel_provider . context . globalState . get < string [ ] > (
95- recents_key ,
96- [ ]
97- ) ?? [ ]
98- const new_recents = [
99- name_to_save ,
100- ...recents . filter ( ( r ) => r != name_to_save )
101- ] . slice ( 0 , 10 )
102- params . panel_provider . context . globalState . update ( recents_key , new_recents )
10386 }
10487
10588 await vscode . workspace . saveAll ( )
@@ -337,10 +320,7 @@ async function show_preset_quick_pick(params: {
337320 quick_pick . title = 'Recently Used Presets and Groups'
338321 quick_pick . matchOnDescription = true
339322
340- const last_selected_key = get_last_selected_preset_or_group_key ( mode )
341- const last_selected_name =
342- context . workspaceState . get < string > ( last_selected_key ) ??
343- context . globalState . get < string > ( last_selected_key )
323+ const last_selected_name = recent_names [ 0 ]
344324
345325 let last_selected_preset_name : string | undefined
346326 if ( last_selected_name ) {
@@ -473,8 +453,9 @@ async function resolve_presets(params: {
473453 show_quick_pick ?: boolean
474454 context : vscode . ExtensionContext
475455} ) : Promise < { preset_names : string [ ] } > {
476- const last_selected_preset_or_group_key =
477- get_last_selected_preset_or_group_key ( params . panel_provider . web_prompt_type )
456+ const recents_key = get_recently_used_presets_or_groups_key (
457+ params . panel_provider . web_prompt_type
458+ )
478459 const config = vscode . workspace . getConfiguration ( 'codeWebChat' )
479460 const presets_config_key = params . panel_provider . get_presets_config_key ( )
480461 const all_presets = config . get < ConfigPresetFormat [ ] > ( presets_config_key , [ ] )
@@ -604,12 +585,8 @@ async function resolve_presets(params: {
604585 params . group_name === undefined
605586 ) {
606587 // Try to use last selection if "Send" button is clicked without specific preset/group
607- const last_selected_name =
608- params . context . workspaceState . get < string > (
609- last_selected_preset_or_group_key
610- ) ??
611- params . context . globalState . get < string > ( last_selected_preset_or_group_key )
612-
588+ const recents = params . context . globalState . get < string [ ] > ( recents_key , [ ] )
589+ const last_selected_name = recents [ 0 ]
613590 if ( last_selected_name ) {
614591 const item = all_presets . find ( ( p ) => p . name === last_selected_name )
615592 if ( item ) {
0 commit comments