fix(chat): recall the current session's prompts by default; tidy the six merged PRs
Input history (#3035) shipped with "All projects" as the default scope and only recorded prompts sent after the upgrade, so ArrowUp showed other sessions' prompts and, once switched to "Current session", nothing at all. Default to the current session and merge the visible transcript's prompts with the persisted bucket. Existing sessions recall as they did before #3035, while new prompts keep their attachments and stay recallable after a revert hides them from the transcript. Cleanup across #1855, #2297, #3072, #3178, #3035 and #3135: drop the duplicate poll guards in the file content poller, the zod schema the VS Code package cannot depend on, a copied file-URL helper and stray whitespace; move the Enter-to-send strings into the settings namespace; document OPENCHAMBER_CHATS_DIR, resolve the chats root once on the server and warm it alongside the other bootstrap calls.
This commit is contained in:
@@ -2012,6 +2012,8 @@ export const settingsDict = {
|
||||
'settings.openchamber.visual.field.enableSpellcheckInTextInputs': 'Rechtschreibprüfung in Texteingaben aktivieren',
|
||||
'settings.openchamber.visual.field.largeTextPaste': 'Großes Texteinfügen',
|
||||
'settings.openchamber.visual.field.largeTextPasteHint': 'Beim Einfügen von mehr als etwa 2.000 Zeichen oder 25 Zeilen wählen, ob der Text als Datei angehängt, direkt eingefügt oder jedes Mal nachgefragt werden soll.',
|
||||
'settings.openchamber.visual.field.enterToSend': 'Enter sendet',
|
||||
'settings.openchamber.visual.field.enterToSendHint': 'Nach der Änderung steuern Enter und Shift+Enter das Verhalten auf jeder Oberfläche. Bis dahin behält jede Oberfläche ihr bestehendes Verhalten bei.',
|
||||
'settings.openchamber.visual.field.largeTextPasteAria': 'Verhalten bei großem Texteinfügen',
|
||||
'settings.openchamber.visual.field.largeTextPasteOptionAria': 'Großes Texteinfügen: {option}',
|
||||
'settings.openchamber.visual.option.largeTextPaste.ask.label': 'Jedes Mal fragen',
|
||||
|
||||
@@ -2105,8 +2105,6 @@ export const dict = {
|
||||
'chat.chatInput.actions.linkGithubPr': 'GitHub-PR verknüpfen',
|
||||
'chat.chatInput.actions.modelAgentSettings': 'Modell- und Agenteneinstellungen',
|
||||
'chat.chatInput.actions.sendMessageAria': 'Nachricht senden',
|
||||
'chat.chatInput.actions.enterToSend': 'Enter sendet',
|
||||
'chat.chatInput.actions.enterToSendHint': 'Nach der Änderung steuern Enter und Shift+Enter das Verhalten auf jeder Oberfläche. Bis dahin behält jede Oberfläche ihr bestehendes Verhalten bei.',
|
||||
'chat.chatInput.actions.queueMessageAria': 'Nachricht in die Warteschlange stellen',
|
||||
'chat.chatInput.actions.stopGeneratingAria': 'Generierung stoppen',
|
||||
'chat.chatInput.focusMode.toggleAria': 'Fokusmodus umschalten',
|
||||
|
||||
@@ -2097,6 +2097,8 @@ export const settingsDict = {
|
||||
'settings.openchamber.visual.field.enableSpellcheckInTextInputs': 'Enable Spellcheck in Text Inputs',
|
||||
'settings.openchamber.visual.field.largeTextPaste': 'Large text paste',
|
||||
'settings.openchamber.visual.field.largeTextPasteHint': 'When pasting more than about 2,000 characters or 25 lines, choose whether to attach the text as a file, paste it inline, or ask each time.',
|
||||
'settings.openchamber.visual.field.enterToSend': 'Enter sends',
|
||||
'settings.openchamber.visual.field.enterToSendHint': 'Once changed, this controls Enter and Shift+Enter on every surface. Until then, each surface keeps its existing behavior.',
|
||||
'settings.openchamber.visual.field.largeTextPasteAria': 'Large text paste behavior',
|
||||
'settings.openchamber.visual.field.largeTextPasteOptionAria': 'Large text paste: {option}',
|
||||
'settings.openchamber.visual.option.largeTextPaste.ask.label': 'Ask each time',
|
||||
|
||||
@@ -2322,8 +2322,6 @@ export const dict = {
|
||||
'chat.chatInput.actions.linkGithubPr': 'Link GitHub PR',
|
||||
'chat.chatInput.actions.modelAgentSettings': 'Model and agent settings',
|
||||
'chat.chatInput.actions.sendMessageAria': 'Send message',
|
||||
'chat.chatInput.actions.enterToSend': 'Enter sends',
|
||||
'chat.chatInput.actions.enterToSendHint': 'Once changed, this controls Enter and Shift+Enter on every surface. Until then, each surface keeps its existing behavior.',
|
||||
'chat.chatInput.actions.queueMessageAria': 'Queue message',
|
||||
'chat.chatInput.actions.stopGeneratingAria': 'Stop generating',
|
||||
'chat.chatInput.focusMode.toggleAria': 'Toggle focus mode',
|
||||
|
||||
@@ -2246,6 +2246,8 @@ export const settingsDict = {
|
||||
"settings.openchamber.visual.field.inputHistoryLimitDescription": "Bajar este número elimina de inmediato los prompts más antiguos de tu historial.",
|
||||
"settings.openchamber.visual.field.inputHistoryLimitAria": "Prompts que recordar",
|
||||
"settings.openchamber.visual.field.inputHistoryLimitUnit": "prompts",
|
||||
"settings.openchamber.visual.field.enterToSend": "Enter envía",
|
||||
"settings.openchamber.visual.field.enterToSendHint": "Después de cambiarlo, controla Enter y Shift+Enter en todas las superficies. Hasta entonces, cada superficie mantiene su comportamiento actual.",
|
||||
...linearIntegrationI18n.es,
|
||||
'settings.page.integrations.title': 'Integraciones',
|
||||
'settings.page.integrations.description': 'Conecta GitHub y Linear para que OpenChamber pueda trabajar con tus issues y pull requests.',
|
||||
|
||||
@@ -2300,8 +2300,6 @@ export const dict: Record<I18nKey, string> = {
|
||||
"chat.chatInput.actions.linkGithubPr": "Vincular PR de GitHub",
|
||||
"chat.chatInput.actions.modelAgentSettings": "Configuración del modelo y agente",
|
||||
"chat.chatInput.actions.sendMessageAria": "Enviar mensaje",
|
||||
'chat.chatInput.actions.enterToSend': 'Enter envía',
|
||||
'chat.chatInput.actions.enterToSendHint': 'Después de cambiarlo, controla Enter y Shift+Enter en todas las superficies. Hasta entonces, cada superficie mantiene su comportamiento actual.',
|
||||
"chat.chatInput.actions.queueMessageAria": "Poner mensaje en cola",
|
||||
"chat.chatInput.actions.stopGeneratingAria": "Detener generación",
|
||||
"chat.chatInput.focusMode.toggleAria": "Activar o desactivar modo de enfoque",
|
||||
|
||||
@@ -2246,6 +2246,8 @@ export const settingsDict = {
|
||||
'settings.openchamber.visual.field.inputHistoryLimitDescription': 'Réduire ce nombre supprime aussitôt les prompts les plus anciens de votre historique.',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitAria': 'Prompts à mémoriser',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitUnit': 'prompts',
|
||||
'settings.openchamber.visual.field.enterToSend': 'Entrée envoie',
|
||||
'settings.openchamber.visual.field.enterToSendHint': 'Après modification, ce réglage contrôle Entrée et Maj+Entrée sur toutes les surfaces. En attendant, chaque surface conserve son comportement actuel.',
|
||||
...linearIntegrationI18n.fr,
|
||||
'settings.page.integrations.title': 'Intégrations',
|
||||
'settings.page.integrations.description': 'Connectez GitHub et Linear pour qu’OpenChamber puisse travailler avec vos issues et pull requests.',
|
||||
|
||||
@@ -2041,8 +2041,6 @@ export const dict = {
|
||||
'chat.chatInput.actions.linkGithubPr': 'Lien GitHub PR',
|
||||
'chat.chatInput.actions.modelAgentSettings': 'Paramètres du modèle et de l\'agent',
|
||||
'chat.chatInput.actions.sendMessageAria': 'Envoyer un message',
|
||||
'chat.chatInput.actions.enterToSend': 'Entrée envoie',
|
||||
'chat.chatInput.actions.enterToSendHint': 'Après modification, ce réglage contrôle Entrée et Maj+Entrée sur toutes les surfaces. En attendant, chaque surface conserve son comportement actuel.',
|
||||
'chat.chatInput.actions.queueMessageAria': 'Message de file d\'attente',
|
||||
'chat.chatInput.actions.stopGeneratingAria': 'Arrêter de générer',
|
||||
'chat.chatInput.focusMode.toggleAria': 'Basculer le mode de mise au point',
|
||||
|
||||
@@ -2246,6 +2246,8 @@ export const settingsDict = {
|
||||
'settings.openchamber.visual.field.inputHistoryLimitDescription': 'この数を減らすと、履歴内の古いプロンプトはすぐに削除されます。',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitAria': '記憶するプロンプト数',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitUnit': '件',
|
||||
'settings.openchamber.visual.field.enterToSend': 'Enterで送信',
|
||||
'settings.openchamber.visual.field.enterToSendHint': '変更すると、すべての環境でEnterとShift+Enterの動作を制御します。変更するまでは、各環境の既存の動作が維持されます。',
|
||||
...linearIntegrationI18n.ja,
|
||||
'settings.page.integrations.title': '連携',
|
||||
'settings.page.integrations.description': 'GitHub と Linear を接続すると、OpenChamber が Issue やプルリクエストを扱えるようになります。',
|
||||
|
||||
@@ -2318,8 +2318,6 @@ export const dict: Record<I18nKey, string> = {
|
||||
'chat.chatInput.actions.linkGithubPr': 'GitHub PRをリンク',
|
||||
'chat.chatInput.actions.modelAgentSettings': 'モデルとエージェント設定',
|
||||
'chat.chatInput.actions.sendMessageAria': 'メッセージを送信',
|
||||
'chat.chatInput.actions.enterToSend': 'Enterで送信',
|
||||
'chat.chatInput.actions.enterToSendHint': '変更すると、すべての環境でEnterとShift+Enterの動作を制御します。変更するまでは、各環境の既存の動作が維持されます。',
|
||||
'chat.chatInput.actions.queueMessageAria': 'メッセージをキュー',
|
||||
'chat.chatInput.actions.stopGeneratingAria': '生成を停止',
|
||||
'chat.chatInput.focusMode.toggleAria': 'フォーカスモードの切り替え',
|
||||
|
||||
@@ -2246,6 +2246,8 @@ export const settingsDict = {
|
||||
'settings.openchamber.visual.field.inputHistoryLimitDescription': '이 숫자를 낮추면 기록에서 오래된 프롬프트가 바로 삭제됩니다.',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitAria': '기억할 프롬프트 수',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitUnit': '개',
|
||||
'settings.openchamber.visual.field.enterToSend': 'Enter로 전송',
|
||||
'settings.openchamber.visual.field.enterToSendHint': '변경하면 모든 환경에서 Enter와 Shift+Enter의 동작을 제어합니다. 변경하기 전에는 각 환경의 기존 동작이 유지됩니다.',
|
||||
...linearIntegrationI18n.ko,
|
||||
'settings.page.integrations.title': '통합',
|
||||
'settings.page.integrations.description': 'GitHub와 Linear를 연결하면 OpenChamber가 이슈와 풀 리퀘스트를 다룰 수 있습니다.',
|
||||
|
||||
@@ -2322,8 +2322,6 @@ export const dict: Record<I18nKey, string> = {
|
||||
'chat.chatInput.actions.linkGithubPr': 'GitHub PR 연결',
|
||||
'chat.chatInput.actions.modelAgentSettings': '모델 및 에이전트 설정',
|
||||
'chat.chatInput.actions.sendMessageAria': '보내기 메시지',
|
||||
'chat.chatInput.actions.enterToSend': 'Enter로 전송',
|
||||
'chat.chatInput.actions.enterToSendHint': '변경하면 모든 환경에서 Enter와 Shift+Enter의 동작을 제어합니다. 변경하기 전에는 각 환경의 기존 동작이 유지됩니다.',
|
||||
'chat.chatInput.actions.queueMessageAria': '메시지 대기열에 추가',
|
||||
'chat.chatInput.actions.stopGeneratingAria': '생성 중지',
|
||||
'chat.chatInput.focusMode.toggleAria': '집중 모드 전환',
|
||||
|
||||
@@ -2239,6 +2239,8 @@ export const settingsDict = {
|
||||
'settings.openchamber.visual.field.inputHistoryLimitDescription': 'Zmniejszenie tej liczby od razu usuwa starsze prompty z historii.',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitAria': 'Liczba zapamiętywanych promptów',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitUnit': 'promptów',
|
||||
'settings.openchamber.visual.field.enterToSend': 'Enter wysyła',
|
||||
'settings.openchamber.visual.field.enterToSendHint': 'Po zmianie ustawienie steruje działaniem klawiszy Enter i Shift+Enter na każdej powierzchni. Do tego czasu każda powierzchnia zachowuje dotychczasowe działanie.',
|
||||
...linearIntegrationI18n.pl,
|
||||
'settings.page.integrations.title': 'Integracje',
|
||||
'settings.page.integrations.description': 'Połącz GitHub i Linear, aby OpenChamber mógł pracować z Twoimi issue i pull requestami.',
|
||||
|
||||
@@ -1255,8 +1255,6 @@ export const dict: Record<I18nKey, string> = {
|
||||
'chat.chatInput.actions.modelAgentSettings': 'Model and agent settings',
|
||||
'chat.chatInput.actions.queueMessageAria': 'Queue message',
|
||||
'chat.chatInput.actions.sendMessageAria': 'Send message',
|
||||
'chat.chatInput.actions.enterToSend': 'Enter wysyła',
|
||||
'chat.chatInput.actions.enterToSendHint': 'Po zmianie ustawienie steruje działaniem klawiszy Enter i Shift+Enter na każdej powierzchni. Do tego czasu każda powierzchnia zachowuje dotychczasowe działanie.',
|
||||
'chat.chatInput.actions.stopGeneratingAria': 'Stop generating',
|
||||
'chat.chatInput.branch': 'Gałąź',
|
||||
'chat.chatInput.draftPicker.projectTitle': 'Projekt',
|
||||
|
||||
@@ -2246,6 +2246,8 @@ export const settingsDict = {
|
||||
"settings.openchamber.visual.field.inputHistoryLimitDescription": "Reduzir esse número remove na hora os prompts mais antigos do seu histórico.",
|
||||
"settings.openchamber.visual.field.inputHistoryLimitAria": "Prompts para lembrar",
|
||||
"settings.openchamber.visual.field.inputHistoryLimitUnit": "prompts",
|
||||
"settings.openchamber.visual.field.enterToSend": "Enter envia",
|
||||
"settings.openchamber.visual.field.enterToSendHint": "Depois de alterada, esta opção controla Enter e Shift+Enter em todas as superfícies. Até lá, cada superfície mantém seu comportamento atual.",
|
||||
...linearIntegrationI18n['pt-BR'],
|
||||
'settings.page.integrations.title': 'Integrações',
|
||||
'settings.page.integrations.description': 'Conecte o GitHub e o Linear para que o OpenChamber possa trabalhar com suas issues e pull requests.',
|
||||
|
||||
@@ -2300,8 +2300,6 @@ export const dict: Record<I18nKey, string> = {
|
||||
"chat.chatInput.actions.linkGithubPr": "Vincular PR de GitHub",
|
||||
"chat.chatInput.actions.modelAgentSettings": "Configurações de modelo e agente",
|
||||
"chat.chatInput.actions.sendMessageAria": "Enviar mensagem",
|
||||
'chat.chatInput.actions.enterToSend': 'Enter envia',
|
||||
'chat.chatInput.actions.enterToSendHint': 'Depois de alterada, esta opção controla Enter e Shift+Enter em todas as superfícies. Até lá, cada superfície mantém seu comportamento atual.',
|
||||
"chat.chatInput.actions.queueMessageAria": "Colocar mensagem na fila",
|
||||
"chat.chatInput.actions.stopGeneratingAria": "Parar geração",
|
||||
"chat.chatInput.focusMode.toggleAria": "Ativar ou desativar modo de foco",
|
||||
|
||||
@@ -1959,6 +1959,8 @@ export const settingsDict = {
|
||||
'settings.openchamber.visual.field.inputHistoryLimitDescription': 'Bu sayıyı azaltmak, eski prompt\'ları geçmişinizden hemen siler.',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitAria': 'Hatırlanacak prompt sayısı',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitUnit': 'prompt',
|
||||
'settings.openchamber.visual.field.enterToSend': 'Enter gönderir',
|
||||
'settings.openchamber.visual.field.enterToSendHint': 'Değiştirildikten sonra Enter ve Shift+Enter davranışını tüm yüzeylerde kontrol eder. O zamana kadar her yüzey mevcut davranışını korur.',
|
||||
'settings.openchamber.visual.actions.resetInputBarOffsetAria': 'Giriş çubuğu ofsetini sıfırla',
|
||||
'settings.openchamber.visual.field.terminalQuickKeysAria': 'Terminal hızlı tuşları',
|
||||
'settings.openchamber.visual.field.terminalQuickKeys': 'Terminal Hızlı Tuşları',
|
||||
|
||||
@@ -2263,8 +2263,6 @@ export const dict = {
|
||||
'chat.chatInput.actions.linkGithubPr': 'GitHub PR\'yi bağla',
|
||||
'chat.chatInput.actions.modelAgentSettings': 'Model ve agent ayarları',
|
||||
'chat.chatInput.actions.sendMessageAria': 'Mesaj gönder',
|
||||
'chat.chatInput.actions.enterToSend': 'Enter gönderir',
|
||||
'chat.chatInput.actions.enterToSendHint': 'Değiştirildikten sonra Enter ve Shift+Enter davranışını tüm yüzeylerde kontrol eder. O zamana kadar her yüzey mevcut davranışını korur.',
|
||||
'chat.chatInput.actions.queueMessageAria': 'Mesajı kuyruğa ekle',
|
||||
'chat.chatInput.actions.stopGeneratingAria': 'Üretmeyi durdur',
|
||||
'chat.chatInput.focusMode.toggleAria': 'Odak modunu aç/kapat',
|
||||
|
||||
@@ -2246,6 +2246,8 @@ export const settingsDict = {
|
||||
"settings.openchamber.visual.field.inputHistoryLimitDescription": "Якщо зменшити це число, старіші промпти одразу буде видалено з історії.",
|
||||
"settings.openchamber.visual.field.inputHistoryLimitAria": "Скільки промптів пам’ятати",
|
||||
"settings.openchamber.visual.field.inputHistoryLimitUnit": "промптів",
|
||||
"settings.openchamber.visual.field.enterToSend": "Enter надсилає",
|
||||
"settings.openchamber.visual.field.enterToSendHint": "Після зміни цей параметр керує поведінкою Enter і Shift+Enter на всіх поверхнях. До цього кожна поверхня зберігає свою поточну поведінку.",
|
||||
...linearIntegrationI18n.uk,
|
||||
'settings.page.integrations.title': 'Інтеграції',
|
||||
'settings.page.integrations.description': 'Підключіть GitHub і Linear, щоб OpenChamber міг працювати з вашими задачами та pull request-ами.',
|
||||
|
||||
@@ -2300,8 +2300,6 @@ export const dict: Record<I18nKey, string> = {
|
||||
"chat.chatInput.actions.linkGithubPr": "Пов’язати GitHub PR",
|
||||
"chat.chatInput.actions.modelAgentSettings": "Параметри моделі та агента",
|
||||
"chat.chatInput.actions.sendMessageAria": "Надіслати повідомлення",
|
||||
'chat.chatInput.actions.enterToSend': 'Enter надсилає',
|
||||
'chat.chatInput.actions.enterToSendHint': 'Після зміни цей параметр керує поведінкою Enter і Shift+Enter на всіх поверхнях. До цього кожна поверхня зберігає свою поточну поведінку.',
|
||||
"chat.chatInput.actions.queueMessageAria": "Поставити повідомлення в чергу",
|
||||
"chat.chatInput.actions.stopGeneratingAria": "Припинити генерацію",
|
||||
"chat.chatInput.focusMode.toggleAria": "Перемкнути режим фокусування",
|
||||
|
||||
@@ -2246,6 +2246,8 @@ export const settingsDict = {
|
||||
'settings.openchamber.visual.field.inputHistoryLimitDescription': '调低这个数字会立即从历史记录中删除较早的提示词。',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitAria': '要记住的提示词数量',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitUnit': '条',
|
||||
'settings.openchamber.visual.field.enterToSend': 'Enter 发送',
|
||||
'settings.openchamber.visual.field.enterToSendHint': '更改后,此设置会控制所有界面中的 Enter 和 Shift+Enter。更改前,各界面保持现有行为。',
|
||||
...linearIntegrationI18n['zh-CN'],
|
||||
'settings.page.integrations.title': '集成',
|
||||
'settings.page.integrations.description': '连接 GitHub 和 Linear,让 OpenChamber 可以处理你的 issue 和拉取请求。',
|
||||
|
||||
@@ -2288,8 +2288,6 @@ export const dict: Record<I18nKey, string> = {
|
||||
'chat.chatInput.actions.linkGithubPr': '关联 GitHub PR',
|
||||
'chat.chatInput.actions.modelAgentSettings': '模型与智能体设置',
|
||||
'chat.chatInput.actions.sendMessageAria': '发送消息',
|
||||
'chat.chatInput.actions.enterToSend': 'Enter 发送',
|
||||
'chat.chatInput.actions.enterToSendHint': '更改后,此设置会控制所有界面中的 Enter 和 Shift+Enter。更改前,各界面保持现有行为。',
|
||||
'chat.chatInput.actions.queueMessageAria': '将消息加入队列',
|
||||
'chat.chatInput.actions.stopGeneratingAria': '停止生成',
|
||||
'chat.chatInput.focusMode.toggleAria': '切换专注模式',
|
||||
|
||||
@@ -2246,6 +2246,8 @@ export const settingsDict = {
|
||||
'settings.openchamber.visual.field.inputHistoryLimitDescription': '調低這個數字會立刻從歷史記錄移除較早的提示詞。',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitAria': '要記住的提示詞數量',
|
||||
'settings.openchamber.visual.field.inputHistoryLimitUnit': '則',
|
||||
'settings.openchamber.visual.field.enterToSend': 'Enter 傳送',
|
||||
'settings.openchamber.visual.field.enterToSendHint': '變更後,此設定會控制所有介面中的 Enter 與 Shift+Enter。變更前,各介面會維持現有行為。',
|
||||
...linearIntegrationI18n['zh-TW'],
|
||||
'settings.page.integrations.title': '整合',
|
||||
'settings.page.integrations.description': '連接 GitHub 和 Linear,讓 OpenChamber 可以處理你的 issue 和 pull request。',
|
||||
|
||||
@@ -2292,8 +2292,6 @@ export const dict: Record<I18nKey, string> = {
|
||||
'chat.chatInput.actions.linkGithubPr': '關聯 GitHub PR',
|
||||
'chat.chatInput.actions.modelAgentSettings': '模型與 Agent 設定',
|
||||
'chat.chatInput.actions.sendMessageAria': '傳送訊息',
|
||||
'chat.chatInput.actions.enterToSend': 'Enter 傳送',
|
||||
'chat.chatInput.actions.enterToSendHint': '變更後,此設定會控制所有介面中的 Enter 與 Shift+Enter。變更前,各介面會維持現有行為。',
|
||||
'chat.chatInput.actions.queueMessageAria': '將訊息加入佇列',
|
||||
'chat.chatInput.actions.stopGeneratingAria': '停止生成',
|
||||
'chat.chatInput.focusMode.toggleAria': '切換專注模式',
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
export type InputHistoryScope = 'global' | 'session';
|
||||
|
||||
export const DEFAULT_INPUT_HISTORY_SCOPE: InputHistoryScope = 'global';
|
||||
export const DEFAULT_INPUT_HISTORY_SCOPE: InputHistoryScope = 'session';
|
||||
export const DEFAULT_INPUT_HISTORY_LIMIT = 40;
|
||||
export const MIN_INPUT_HISTORY_LIMIT = 1;
|
||||
export const MAX_INPUT_HISTORY_LIMIT = 100;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { ContextPartMetadata } from '@/lib/messages/contextParts';
|
||||
import { createOpencodeClient, OpencodeClient } from "@opencode-ai/sdk/v2";
|
||||
import type { PermissionV2Request, PermissionV2Effect, PermissionV2Source } from "@opencode-ai/sdk/v2/client";
|
||||
import { z } from "zod";
|
||||
import type { FilesAPI } from "../api/types";
|
||||
import { getDesktopHomeDirectory } from "../desktop";
|
||||
import { z } from "zod";
|
||||
import type {
|
||||
Session,
|
||||
Message,
|
||||
@@ -343,7 +343,7 @@ const getDesktopFilesApi = (): FilesAPI | null => {
|
||||
};
|
||||
|
||||
// /api/fs/home parsing boundary. Older servers answer without chatsRoot;
|
||||
// Only a valid home response may use the legacy chats-root fallback.
|
||||
// only a valid home response may use the legacy chats-root fallback.
|
||||
const fsAbsolutePathSchema = z.string().trim().regex(/^(?:\/|[A-Za-z]:[\\/]|\\\\)/);
|
||||
const fsHomeResponseSchema = z.object({ home: fsAbsolutePathSchema, chatsRoot: fsAbsolutePathSchema.optional() });
|
||||
|
||||
|
||||
@@ -21,9 +21,7 @@ import {
|
||||
isInputHistoryLimit,
|
||||
isInputHistoryScope,
|
||||
} from '@/lib/inputHistoryScope';
|
||||
import {
|
||||
useInputHistoryStore,
|
||||
} from '@/stores/useInputHistoryStore';
|
||||
import { useInputHistoryStore } from '@/stores/useInputHistoryStore';
|
||||
import { normalizeMobileKeyboardMode, setStoredMobileKeyboardMode } from '@/lib/mobileKeyboardMode';
|
||||
import { runtimeFetch } from '@/lib/runtime-fetch';
|
||||
import { isCapacitorApp } from '@/lib/platform';
|
||||
@@ -1081,14 +1079,11 @@ const applyDesktopUiPreferences = (settings: DesktopSettings) => {
|
||||
store.setGitChangesViewMode(settings.gitChangesViewMode);
|
||||
}
|
||||
}
|
||||
switch (settings.toolJsonViewMode) {
|
||||
case 'summary':
|
||||
case 'formatted':
|
||||
case 'raw':
|
||||
if (settings.toolJsonViewMode !== store.toolJsonViewMode) {
|
||||
store.setToolJsonViewMode(settings.toolJsonViewMode);
|
||||
}
|
||||
break;
|
||||
if (typeof settings.toolJsonViewMode === 'string'
|
||||
&& (settings.toolJsonViewMode === 'summary' || settings.toolJsonViewMode === 'formatted' || settings.toolJsonViewMode === 'raw')) {
|
||||
if (settings.toolJsonViewMode !== store.toolJsonViewMode) {
|
||||
store.setToolJsonViewMode(settings.toolJsonViewMode);
|
||||
}
|
||||
}
|
||||
if (typeof settings.directoryShowHidden === 'boolean') {
|
||||
setDirectoryShowHidden(settings.directoryShowHidden, { persist: false });
|
||||
@@ -1677,12 +1672,11 @@ const sanitizeWebSettings = (payload: unknown): DesktopSettings | null => {
|
||||
) {
|
||||
result.gitChangesViewMode = candidate.gitChangesViewMode;
|
||||
}
|
||||
switch (candidate.toolJsonViewMode) {
|
||||
case 'summary':
|
||||
case 'formatted':
|
||||
case 'raw':
|
||||
result.toolJsonViewMode = candidate.toolJsonViewMode;
|
||||
break;
|
||||
if (
|
||||
typeof candidate.toolJsonViewMode === 'string'
|
||||
&& (candidate.toolJsonViewMode === 'summary' || candidate.toolJsonViewMode === 'formatted' || candidate.toolJsonViewMode === 'raw')
|
||||
) {
|
||||
result.toolJsonViewMode = candidate.toolJsonViewMode;
|
||||
}
|
||||
if (typeof candidate.directoryShowHidden === 'boolean') {
|
||||
result.directoryShowHidden = candidate.directoryShowHidden;
|
||||
|
||||
@@ -384,7 +384,8 @@ const SETTINGS_SEARCH_ITEMS: readonly SettingsSearchItem[] = [
|
||||
{
|
||||
id: 'chat.enter-to-send',
|
||||
page: 'chat',
|
||||
titleKey: 'chat.chatInput.actions.enterToSend',
|
||||
titleKey: 'settings.openchamber.visual.field.enterToSend',
|
||||
descriptionKey: 'settings.openchamber.visual.field.enterToSendHint',
|
||||
keywords: ['enter', 'shift enter', 'send', 'newline'],
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user