fix(ui): add opt-in mobile keyboard resize mode and stabilize touch terminal input (#1107)

* fix(ui): add opt-in mobile keyboard resize mode

* fix(ui): stabilize touch terminal input and tab layout

* fix(ui): narrow touch terminal handling to mobile and tablet

* fix(ui): refine touch terminal input handling

* fix(ui): re-key terminal viewport on session id

* fix(ui): avoid touch-laptop terminal overlay regression

* fix(ui): hide ghostty system caret surfaces

* fix(settings): normalize mobile keyboard mode sanitization

* fix(ui): honor terminal quick keys toggle on mobile

* fix(ui): gate mobile keyboard resize mode on iOS

---------

Co-authored-by: vhqtvn <8930337+vhqtvn@users.noreply.github.com>
Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
vhqtvn
2026-05-05 12:26:34 +03:00
committed by GitHub
co-authored by vhqtvn Bohdan Triapitsyn
parent 63b4a5b996
commit 962ee41bba
25 changed files with 604 additions and 128 deletions
@@ -1384,6 +1384,11 @@ export const settingsDict = {
"settings.openchamber.visual.field.pwaInstallOrientationAria": "Orientación de instalación de PWA",
"settings.openchamber.visual.field.selectOrientationPlaceholder": "Seleccionar orientación",
"settings.openchamber.visual.actions.resetInstallOrientationAria": "Restablecer orientación de instalación",
"settings.openchamber.visual.field.mobileKeyboardMode": "Comportamiento del teclado móvil",
"settings.openchamber.visual.field.mobileKeyboardModeHint": "El comportamiento predeterminado del navegador es el más seguro. Redimensionar el contenido pide a los navegadores compatibles reducir la app cuando se abre el teclado.",
"settings.openchamber.visual.field.mobileKeyboardModeAria": "Comportamiento del teclado móvil",
"settings.openchamber.visual.field.selectMobileKeyboardModePlaceholder": "Seleccionar comportamiento del teclado",
"settings.openchamber.visual.actions.resetMobileKeyboardModeAria": "Restablecer comportamiento del teclado móvil",
"settings.openchamber.visual.field.interfaceFontSize": "Tamaño de fuente de la interfaz",
"settings.openchamber.visual.field.interfaceFont": "Fuente de la interfaz",
"settings.openchamber.visual.field.selectInterfaceFontAria": "Seleccionar fuente de interfaz",
@@ -1460,6 +1465,10 @@ export const settingsDict = {
"settings.openchamber.visual.option.pwaOrientation.portrait.description": "Instalar la aplicación bloqueada en vertical.",
"settings.openchamber.visual.option.pwaOrientation.landscape.label": "Bloqueo horizontal",
"settings.openchamber.visual.option.pwaOrientation.landscape.description": "Instalar la aplicación bloqueada en horizontal.",
"settings.openchamber.visual.option.mobileKeyboardMode.native.label": "Seguir el navegador",
"settings.openchamber.visual.option.mobileKeyboardMode.native.description": "Usar el comportamiento predeterminado del navegador para el paneo y los cambios del viewport al abrir el teclado.",
"settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.label": "Redimensionar contenido",
"settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.description": "Pedir a los navegadores compatibles que reduzcan el diseño de la app en lugar de depender solo del paneo.",
"settings.openchamber.visual.option.userMessageRendering.markdown.label": "Markdown",
"settings.openchamber.visual.option.userMessageRendering.markdown.description": "Renderiza el texto del usuario con formato markdown.",
"settings.openchamber.visual.option.userMessageRendering.plain.label": "Texto plano",