feat: multi-tab split view for 2 sessions side by side

- Add split view button (columns icon) in sidebar session actions
- Click to open any session in a secondary pane alongside the primary
- Resizable divider between panes (drag to resize, persisted in localStorage)
- Secondary pane supports full chat: history, streaming, send, abort
- Close split view via X button or clicking the split icon again
- Each pane has independent scroll, search, and tool collapse
- Keyboard shortcut and i18n support (EN/FR)
This commit is contained in:
Nicolas Varrot
2026-02-13 02:44:33 +00:00
parent 00bf6d156f
commit f09482e6cb
5 changed files with 369 additions and 8 deletions

View File

@@ -59,6 +59,8 @@ const en = {
'sidebar.delete': 'Delete session',
'sidebar.deleteConfirm': 'Delete this session? This cannot be undone.',
'sidebar.deleteCancel': 'Cancel',
'sidebar.openSplit': 'Open in split view',
'split.close': 'Close split view',
// Thinking
'thinking.label': 'Thinking',
@@ -171,6 +173,8 @@ const fr: Record<keyof typeof en, string> = {
'sidebar.delete': 'Supprimer la session',
'sidebar.deleteConfirm': 'Supprimer cette session ? Cette action est irréversible.',
'sidebar.deleteCancel': 'Annuler',
'sidebar.openSplit': 'Ouvrir en vue scindée',
'split.close': 'Fermer la vue scindée',
'thinking.label': 'Réflexion',
'thinking.reasoning': 'Réflexion…',