Перешли на единый универсальный паттерн вместо reply/inline-keyboard:
1. Bot menu-button — постоянная кнопка «ЗОВ» слева от input в чате
(set_chat_menu_button с WebAppInfo). Видна на ВСЕХ платформах:
Telegram Desktop, iOS, Android, Web. Один тап — открывает MiniApp.
2. MiniApp без ?role= в URL показывает role chooser как первый экран:
три большие карточки [Я менеджер] [Я клиент] [Я сотрудник].
Тап → URL получает ?role=X → re-run init() → загрузка кабинета
с правильно подписанным initData.
Решение универсальное — не зависит от reply/inline-кнопок и их
поведения с initData на разных клиентах Telegram.
Cache bust v=20260513n.