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:
Bohdan Triapitsyn
2026-09-05 20:16:14 +03:00
parent 3df97908fe
commit f46fb718c5
73 changed files with 513 additions and 242 deletions
@@ -25,6 +25,10 @@ Startet OpenChamber im Headless-Modus, wenn auf `true` oder `1` gesetzt. API-Rou
Überschreibt das OpenChamber-Datenverzeichnis. Standard ist `~/.config/openchamber`.
### `OPENCHAMBER_CHATS_DIR`
Verschiebt die verwalteten Chat-Verzeichnisse, die OpenChamber für Chats ohne Projekt anlegt. Standard ist `~/.config/openchamber/chats`. Setze ein Verzeichnis, das der OpenCode-Server lesen kann, wenn OpenChamber und OpenCode unter verschiedenen Benutzern laufen. Bestehende Chats werden nicht verschoben.
### `OPENCHAMBER_COMPRESS_API`
Steuert die Komprimierung von API-Antworten. Verwende `true` oder `1`, um sie zu erzwingen, und `false` oder `0`, um sie zu deaktivieren.
@@ -25,6 +25,10 @@ Starts OpenChamber in headless mode when set to `true` or `1`. API routes stay a
Overrides the OpenChamber data directory. The default is `~/.config/openchamber`.
### `OPENCHAMBER_CHATS_DIR`
Moves the managed chat directories that OpenChamber creates for chats without a project. The default is `~/.config/openchamber/chats`. Set it to a directory the OpenCode server can read when OpenChamber and OpenCode run as different users. Existing chats are not moved.
### `OPENCHAMBER_COMPRESS_API`
Controls API response compression. Use `true` or `1` to force it on, `false` or `0` to force it off.
@@ -25,6 +25,10 @@ Inicia OpenChamber en modo headless cuando vale `true` o `1`. Las rutas API sigu
Cambia el directorio de datos de OpenChamber. Por defecto es `~/.config/openchamber`.
### `OPENCHAMBER_CHATS_DIR`
Cambia la ubicación de los directorios de chat gestionados que OpenChamber crea para chats sin proyecto. Por defecto es `~/.config/openchamber/chats`. Indica un directorio que el servidor OpenCode pueda leer cuando OpenChamber y OpenCode se ejecutan con usuarios distintos. Los chats existentes no se mueven.
### `OPENCHAMBER_COMPRESS_API`
Controla la compresión de respuestas de la API. `true` o `1` la activa; `false` o `0` la desactiva.
@@ -25,6 +25,10 @@ Démarre OpenChamber en mode headless lorsquil vaut `true` ou `1`. Les routes
Remplace le dossier de données OpenChamber. La valeur par défaut est `~/.config/openchamber`.
### `OPENCHAMBER_CHATS_DIR`
Déplace les dossiers de chat gérés qu'OpenChamber crée pour les chats sans projet. La valeur par défaut est `~/.config/openchamber/chats`. Indiquez un dossier lisible par le serveur OpenCode lorsque OpenChamber et OpenCode tournent sous des utilisateurs différents. Les chats existants ne sont pas déplacés.
### `OPENCHAMBER_COMPRESS_API`
Contrôle la compression des réponses API. Utilisez `true` ou `1` pour la forcer, `false` ou `0` pour la désactiver.
@@ -25,6 +25,10 @@ OpenChamber Web サーバーのバインドアドレスです。他のマシン
OpenChamber のデータディレクトリを上書きします。デフォルトは `~/.config/openchamber` です。
### `OPENCHAMBER_CHATS_DIR`
プロジェクトを持たないチャット用に OpenChamber が作成する管理チャットディレクトリの場所を変更します。デフォルトは `~/.config/openchamber/chats` です。OpenChamber と OpenCode を別のユーザーで実行している場合は、OpenCode サーバーが読み取れるディレクトリを指定してください。既存のチャットは移動されません。
### `OPENCHAMBER_COMPRESS_API`
API レスポンス圧縮を制御します。`true` または `1` で強制的に有効化し、`false` または `0` で強制的に無効化します。
@@ -25,6 +25,10 @@ OpenChamber 웹 서버가 바인딩할 주소입니다. 다른 컴퓨터에서
OpenChamber 데이터 디렉터리를 바꿉니다. 기본값은 `~/.config/openchamber`입니다.
### `OPENCHAMBER_CHATS_DIR`
프로젝트가 없는 채팅을 위해 OpenChamber가 만드는 관리형 채팅 디렉터리의 위치를 바꿉니다. 기본값은 `~/.config/openchamber/chats`입니다. OpenChamber와 OpenCode가 서로 다른 사용자로 실행될 때는 OpenCode 서버가 읽을 수 있는 디렉터리를 지정하세요. 기존 채팅은 이동되지 않습니다.
### `OPENCHAMBER_COMPRESS_API`
API 응답 압축을 제어합니다. `true` 또는 `1`은 켜고, `false` 또는 `0`은 끕니다.
@@ -25,6 +25,10 @@ Uruchamia OpenChamber w trybie headless, gdy ustawione na `true` lub `1`. Trasy
Nadpisuje katalog danych OpenChamber. Domyślnie jest to `~/.config/openchamber`.
### `OPENCHAMBER_CHATS_DIR`
Przenosi katalogi zarządzanych czatów, które OpenChamber tworzy dla czatów bez projektu. Domyślnie jest to `~/.config/openchamber/chats`. Ustaw katalog, który serwer OpenCode może odczytać, gdy OpenChamber i OpenCode działają jako różni użytkownicy. Istniejące czaty nie są przenoszone.
### `OPENCHAMBER_COMPRESS_API`
Steruje kompresją odpowiedzi API. `true` albo `1` ją włącza, `false` albo `0` wyłącza.
@@ -25,6 +25,10 @@ Inicia o OpenChamber em modo headless quando definido como `true` ou `1`. As rot
Altera o diretório de dados do OpenChamber. O padrão é `~/.config/openchamber`.
### `OPENCHAMBER_CHATS_DIR`
Move os diretórios de chat gerenciados que o OpenChamber cria para chats sem projeto. O padrão é `~/.config/openchamber/chats`. Defina um diretório que o servidor OpenCode consiga ler quando o OpenChamber e o OpenCode rodam com usuários diferentes. Os chats existentes não são movidos.
### `OPENCHAMBER_COMPRESS_API`
Controla a compressão das respostas da API. `true` ou `1` ativa; `false` ou `0` desativa.
@@ -25,6 +25,10 @@ Tarayıcı arayüzü için parola. Bunu localhost dışına bind ederken, tünel
OpenChamber veri dizinini geçersiz kılar. Varsayılan `~/.config/openchamber`.
### `OPENCHAMBER_CHATS_DIR`
OpenChamber'ın projesiz sohbetler için oluşturduğu yönetilen sohbet dizinlerinin yerini değiştirir. Varsayılan `~/.config/openchamber/chats`. OpenChamber ve OpenCode farklı kullanıcılarla çalışıyorsa OpenCode sunucusunun okuyabileceği bir dizin belirtin. Mevcut sohbetler taşınmaz.
### `OPENCHAMBER_COMPRESS_API`
API yanıt sıkıştırmasını kontrol eder. `true` ya da `1` ile zorla açın, `false` ya da `0` ile zorla kapatın.
@@ -25,6 +25,10 @@ OpenChamber читає ці змінні під час запуску. Для st
Перевизначає директорію даних OpenChamber. Типово це `~/.config/openchamber`.
### `OPENCHAMBER_CHATS_DIR`
Переносить директорії керованих чатів, які OpenChamber створює для чатів без проєкту. Типово це `~/.config/openchamber/chats`. Вкажіть директорію, яку може читати сервер OpenCode, якщо OpenChamber і OpenCode працюють від різних користувачів. Наявні чати не переносяться.
### `OPENCHAMBER_COMPRESS_API`
Керує стисненням API-відповідей. `true` або `1` вмикає, `false` або `0` вимикає.
@@ -25,6 +25,10 @@ OpenChamber web 服务器监听的地址。使用 `0.0.0.0` 可允许其他机
覆盖 OpenChamber 数据目录。默认是 `~/.config/openchamber`。
### `OPENCHAMBER_CHATS_DIR`
更改 OpenChamber 为无项目聊天创建的托管聊天目录的位置。默认是 `~/.config/openchamber/chats`。当 OpenChamber 和 OpenCode 以不同用户运行时,请设置为 OpenCode 服务器可读取的目录。现有聊天不会被移动。
### `OPENCHAMBER_COMPRESS_API`
控制 API 响应压缩。`true` 或 `1` 强制开启,`false` 或 `0` 强制关闭。