На 6.9.2 и в браузере при этом все открывается.
Через https://webhook.site/ можешь проверить, какие хедеры отправляет телега в одном случае, и какие в другом. Сравни и найди отличия.
А ещё лучше там же в dev tools на вкладке network посмотри хедеры при обращении за ассетамм. Особенно куки.
Нашёл причину, почему Subscription Page плохо открывалась в Telegram WebView.
Проблема была в cookie: backend требовал session cookie даже для /assets/* — JS, CSS, локалей и app-config. В обычном браузере cookie отправлялись, поэтому всё работало. А Telegram WebView не всегда отправляет cookie на такие запросы, из-за этого assets/app-config получали 401/502, и страница не загружалась нормально.
Что сделал:
- убрал обязательную cookie-проверку для обычных static assets: JS/CSS/locales теперь грузятся без cookie;
/assets/.app-config-v2.jsonоставил как fallback, но безsocket.destroy();- основной app config теперь встраивается сразу в HTML страницы
/v3/<uuid>, поэтому Telegram больше не зависит от cookie для загрузки UI;
То что саб пейдж требует куки для ассетов - не баг, а фича. Чтобы защитить тебя от сканеров. Сделав несколько запросов по адресам известных ассетов (особенно app-config.json и favicon) можно с уверенностью сделать вывод, что на сайте хостится подписка. А это уже повод для бана всего домена. Поэтому саб пейдж без авторизации по кукам и не отдаёт никакие ассеты, это было бы слишком палевно.
Реальный баг - так это то, что твой телеграм не работает правильно с куками с новой версии. Если такого issue в репе telegram desktop ещё нет - это повод его создать.
Понял, спасибо тебе за разъяснение! Я так-то понимаю, что телега накосячила… Если в следующей версии не исправят, я напишу issue. Просто надо было решить проблему сейчас, а не когда телега соизволит…
Написал issue. У кого наблюдается такое же поведенение подпишитесь пожалуйста!
