feat(chat): desktop prompt navigator rail (#2054)

* feat(chat): add desktop prompt navigator rail

Add a ChatGPT-style right-center prompt marker rail for web/desktop chat
with hover/keyboard preview panel, load-more for partial history (panel only),
Chat setting, and mod+alt+p shortcut. Disabled in VS Code across rail,
shortcut, settings, help, and search surfaces.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>

* fix(ui): read promptNavigatorEnabled from getState in shortcut handler

Match the file convention used by other shortcut handlers so the toggle
does not rely on a hook-level selector closure.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>

* fix(ui): drop use-no-memo and default prompt navigator off

Remove the project-unprecedented React Compiler opt-out, and ship the
prompt navigator as opt-in to match other recent chat UI toggles.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
This commit is contained in:
Serhii Dziupin
2026-07-13 09:02:14 +03:00
committed by GitHub
co-authored by Serhii Dziupin Cursor Agent
parent 502c96630e
commit 1fb448d827
36 changed files with 754 additions and 21 deletions
+4
View File
@@ -1383,6 +1383,7 @@ export const dict = {
'helpDialog.item.createNewSession': 'Créer une nouvelle session',
'helpDialog.item.createNewWorktreeDraft': 'Créer un nouveau brouillon d\'worktree',
'helpDialog.item.focusChatInput': 'Concentration sur la saisie du chat',
'helpDialog.item.togglePromptNavigator': 'Afficher ou masquer le navigateur de prompts',
'helpDialog.item.abortActiveRun': 'Abandonner l’exécution active (double pression)',
'helpDialog.item.toggleRightSidebar': 'Basculer la barre latérale droite',
'helpDialog.item.openRightSidebarGitTab': 'Ouvrir l\'onglet Git de la barre latérale droite',
@@ -1562,6 +1563,9 @@ export const dict = {
'chat.emptyState.draftTitle': 'Sur quoi travaillons-nous ?',
'chat.emptyState.draftTitleWithProject': 'Sur quoi travaillons-nous dans {project} ?',
'chat.scrollToBottom.aria': 'Faire défiler vers le bas',
'chat.promptNavigator.aria': 'Navigation des prompts',
'chat.promptNavigator.currentPrompt': 'Prompt actuel',
'chat.promptNavigator.loadMore': 'Charger plus de prompts',
'chat.timeline.relative.justNow': 'à l’instant',
'chat.timeline.relative.minutesAgo': 'il y a {count} min',
'chat.timeline.relative.hoursAgo': 'il y a {count} h',