v1.1.1: ввод чата и стороны сообщений #6

Merged
halofourteen merged 2 commits from codex/release/v1.1.1-chat-input into main 2026-08-24 12:55:14 +03:00
halofourteen commented 2026-08-24 12:17:40 +03:00 (Migrated from github.com)

Что меняется

  • строка сообщения снова нативная textarea: браузер сам ведёт вставку, выделение, отмену, предел 4000 символов и доступность;
  • тап по неинтерактивному месту истории снимает фокус и закрывает клавиатуру, не стирая черновик;
  • на desktop с точным указателем все сообщения слева, на touch свои справа и чужие слева;
  • при экранной клавиатуре весь лишний нижний отступ composer (20/28 px плюс safe-area) безопасно сокращается до 6 px; физическая клавиатура, pinch, поворот и возврат из фона не дают компенсации залипнуть;
  • кеш приложения поднят с v6 до v7;
  • решения и UI-документация приведены к фактическому поведению.

Важное ограничение iOS

Проверка реального iPhone и исходников WebKit показала: системная панель со стрелками и готово появляется и у textarea, и у contenteditable. У веб-страницы нет поддерживаемого API, чтобы скрыть её отдельно от клавиатуры. Панель остаётся, как в Telegram Web и MAX; отдельную нативную iOS-оболочку Bare не добавляет.

Проверки

  • go test ./...
  • go vet ./...
  • syntax-check изменённого JS
  • Linux amd64 cross-build
  • локальный сквозной чат двух пользователей
  • desktop: свои и чужие сообщения слева
  • touch emulation: свои справа, чужие слева
  • тап по истории: фокус снят, черновик сохранён
  • Enter / Shift+Enter, maxLength 4000, рост поля до 7 строк
  • normal focus / экранная клавиатура: обычный отступ / 6 px
  • fail-safe сценарии: pinch, поворот, stale viewport, background / foreground

Выпуск

Кандидат на patch-релиз v1.1.1: после merge — аннотированный tag, deploy и post-deploy smoke.

## Что меняется - строка сообщения снова нативная textarea: браузер сам ведёт вставку, выделение, отмену, предел 4000 символов и доступность; - тап по неинтерактивному месту истории снимает фокус и закрывает клавиатуру, не стирая черновик; - на desktop с точным указателем все сообщения слева, на touch свои справа и чужие слева; - при экранной клавиатуре весь лишний нижний отступ composer (20/28 px плюс safe-area) безопасно сокращается до 6 px; физическая клавиатура, pinch, поворот и возврат из фона не дают компенсации залипнуть; - кеш приложения поднят с v6 до v7; - решения и UI-документация приведены к фактическому поведению. ## Важное ограничение iOS Проверка реального iPhone и исходников WebKit показала: системная панель со стрелками и готово появляется и у textarea, и у contenteditable. У веб-страницы нет поддерживаемого API, чтобы скрыть её отдельно от клавиатуры. Панель остаётся, как в Telegram Web и MAX; отдельную нативную iOS-оболочку Bare не добавляет. ## Проверки - go test ./... - go vet ./... - syntax-check изменённого JS - Linux amd64 cross-build - локальный сквозной чат двух пользователей - desktop: свои и чужие сообщения слева - touch emulation: свои справа, чужие слева - тап по истории: фокус снят, черновик сохранён - Enter / Shift+Enter, maxLength 4000, рост поля до 7 строк - normal focus / экранная клавиатура: обычный отступ / 6 px - fail-safe сценарии: pinch, поворот, stale viewport, background / foreground ## Выпуск Кандидат на patch-релиз v1.1.1: после merge — аннотированный tag, deploy и post-deploy smoke.
Sign in to join this conversation.