Files
bare/docs/open-questions.md
T
Claude c826d581ea Открытые вопросы: панель над клавиатурой в поле ввода, сторона сообщений в ленте
По итогам теста с реальными пользователями. Решений пока нет — оба пункта
меняют текущее поведение (композер) и принятый макет ленты (ADR-024),
нужно решение перед ADR и кодом.
2026-08-24 05:32:10 +00:00

3.6 KiB

Открытые вопросы

Решения по этим пунктам ещё не приняты. Каждое принятое решение уходит в ADR и вычёркивается отсюда.

  • Серверный «перец» для ключевого блоба: дополнительное шифрование блоба серверным ключом, хранящимся вне базы. Плюс: дамп базы сам по себе перестаёт быть материалом для оффлайн-перебора. Минус: не защищает от оператора; потеря серверного ключа — невозможность входа с новых устройств для всех. Решение отложено.
  • Блокировка собеседника и персональные инвайты — если общего инвайт-кода и лимитов (ADR-019, ADR-021) окажется мало.
  • Подписи сообщений вторым ключом — если потребуется защита от сговора участника комнаты с сервером (ADR-016).
  • Поле ввода — textarea в мобильном Safari поднимает системную панель навигации по полям («‹ ›» и «готово») над клавиатурой: живой экран съедает лишние ~50 px, обжито пользователями плохо. Направление — заменить на contenteditable-блок (role="textbox", aria-multiline="true"): у него этой панели нет, а клавиатура остаётся текстовой. Ручная работа взамен браузерной: placeholder, счётчик и обрезка на 4000 символов, автовысота, paste только как текст — без этого блока innerHTML в него попадёт вставкой, а innerHTML в клиенте запрещён (CLAUDE.md). Enter/Shift+Enter и isComposing — переносятся как есть. Решение отложено: выбрать между этим и более дешёвым вариантом (поле вне <form>, autocomplete="off") — если он снимает панель хотя бы в Safari, возни меньше.
  • Выравнивание сообщений по стороне: свои — вправо, чужие — влево, как в обычных мессенджерах. Сейчас лента — общий список с колонкой автора (docs/ui.md, «Чат»; docs/identity/brief.md, «Компоновка»: сетка 132px 1fr на десктопе, автор над группой на мобильном) — сторона у сообщения не задана нигде. Пользователям в тесте медленно читать, кто есть кто. Смена — это пересмотр принятого в ADR-024 макета ленты, нужен новый ADR, если решение — делать. Ограничение айдентики: без пузырей, скруглений и теней (identity/brief.md) — выравнивание, не bubble-чат.

Закрыто ADR-015…024: регистрация, контакты, лимиты, смена пароля, идентификация устройств, язык интерфейса, айдентика, доверие к ключам, протокол, схема базы, деплой, правила пушей.