fix(ui): язык интерфейса по системе (не по боту) + pinch-zoom не триггерит back #65
Reference in New Issue
Block a user
Delete Branch "fix/locale-and-pinch-swipe"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Два бага по обратной связи/UI (отдельно от #64).
1. Язык интерфейса не уважал системные настройки (Telegram-боты)
Вход через ru-бота на системе с английским показывал интерфейс на русском, хотя в настройках выбран английский. Причина: на логине UI перекрывал язык интерфейса значением
preferred_languageаккаунта (которое подтянулось не от устройства). Теперь интерфейс следует устройству — явный локальный выбор (сохранён, залочен) или системный язык; бот, через которого зашли, язык UI не диктует.preferred_languageпо-прежнему пишется из настроек и используется для маршрутизации out-of-app push.Кавет (поведенческое изменение): авто-применение языка с сервера при входе на новом устройстве уходит — свежее устройство берёт системный язык, пока пользователь явно не переключит (на этом устройстве выбор сохраняется). Это ровно «уважаем системные настройки». Если хочешь, чтобы явный выбор языка синхронизировался между устройствами — скажи, сделаю иначе.
2. Pinch-zoom на доске иногда срабатывал как swipe-back
Edge-свайп «назад» вооружался по первому пальцу и срабатывал на отпускании, даже если присоединялся второй палец (pinch — доска ещё не
.zoomedв момент первого касания, поэтому hit-test не отсекал). Теперь считаем активные указатели в capture-фазе и отменяем свайп, как только появляется второй палец; назад срабатывает только для одиночного пальца.Проверки локально:
pnpm check0 ошибок; unit 224; e2e 136 (+ синтетическийgestures.specна оба сценария: pinch не навигирует, одиночный свайп навигирует), zoom.spec без регрессий. Реальный pinch в Playwright не воспроизводим — финально проверяется вживую на контуре (по практике проекта).