По итогам теста с реальными пользователями. Решений пока нет — оба пункта меняют текущее поведение (композер) и принятый макет ленты (ADR-024), нужно решение перед ADR и кодом.
3.6 KiB
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: регистрация, контакты, лимиты, смена пароля, идентификация устройств, язык интерфейса, айдентика, доверие к ключам, протокол, схема базы, деплой, правила пушей.