Сайт на Discourse не открывается в Safari на iOS 15.8.2

Недавно я обновил свой Discourse, в частности с версии 3.3.0beta1+645 до 3.3.0beta1+699 (в панели администратора Discourse отображается как 3.3.0beta2-dev).

Однако после обновления我发现, что iOS Safari больше не может успешно открывать форум Discourse. В частности, он застревает на странице с пятью мигающими кружками с надписью «загрузка…» и не может войти на сайт.

Я уверен, что это не проблема сети с моей стороны, так как Windows Chrome в той же локальной сети загружает сайт нормально.
Также я уверен, что проблема не в самом сайте Discourse, поскольку мой iPhone также не может получить доступ к этому сайту (meta.discourse.org), аналогично застревая на этой странице загрузки.

Я попробовал переключить почти все настройки в разделе Настройки iOS → Safari → Дополнительно → Экспериментальные функции (кроме «Экспериментальный загрузчик сети», так как он полностью препятствует открытию Discourse. Некоторые переключатели с названиями, содержащими «disabled» или «block», также не были изменены), но сайт по-прежнему не открывается корректно.

Я подозреваю, что некоторые функции, добавленные между версиями +645 и +699, не поддерживаются Safari на iOS 15.8.

User-agent для iPhone выглядит следующим образом:
Mozilla/5.0 (iPhone; CPU iPhone OS 15_8 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/124.0.6367.111 Mobile/15E148 Safari/604.1

Я помню, что на странице совместимости Discourse упоминалось, что Discourse будет совместим с Safari на iOS 15.7. Планирует ли Discourse по-прежнему соблюдать это соглашение? Или поддержка iOS 15 больше не будет осуществляться?

2 лайка

Страница загрузки веб-сайта:
(Пять точек иногда даже не появляются в правильном месте.)

Экспериментальные настройки WebKit в Safari:

2 лайка

Спасибо, что подняли этот вопрос, @tumbleweed.

Мы столкнулись с такой же ситуацией только что в Chrome версии 124.0.6367.119 на macOS Sonoma 14.4.

В консоли я вижу следующие ошибки. Возможно, проблема в том, как JS пытается работать. Дайте знать, если понадобится дополнительная информация.

Uncaught ReferenceError: dt7948 is not defined
    at 74476 (load-more.js:7:38)
    at __webpack_require__ (bootstrap:19:1)
    at 30920 (topic-list-item.js:389:3)
    at __webpack_require__ (bootstrap:19:1)
    at s.callback (discourse.js:976:50)
    at s.exports (loader.js:106:1)
    at requireModule (loader.js:27:1)
    at header_1.js:2:28
Uncaught (in promise) ReferenceError: Cannot access 'components_topic_list' before initialization
    at Module.default (topic-list-item.js:389:3)
    at Resolver._extractDefaultExport (index.js:541:25)
    at Resolver.resolveOther (index.js:163:32)
    at Resolver.resolve (index.js:199:23)
    at index.js:742:1
    at f.resolve (index.js:523:1)
    at f.resolve (index.js:525:1)
    at o (index.js:237:1)
    at i.factoryFor (index.js:184:1)
    at PluginApi._resolveClass (plugin-api.js:162:39)
    at PluginApi.modifyClass (plugin-api.js:189:29)
    at disable-sort.js:12:1
    at withPluginApi (plugin-api.js:2612:16)
    at Object.initialize (disable-sort.js:11:1)
    at initializer.initialize (app.js:209:28)
    at index.js:145:1
    at e.each (dag-map.js:191:1)
    at e.walk (dag-map.js:120:1)
    at e.each (dag-map.js:66:1)
    at e.topsort (dag-map.js:72:1)
    at e._runInitializer (index.js:158:1)
    at e.runInstanceInitializers (index.js:143:1)
    at u._bootSync (instance.js:86:1)
    at e.didBecomeReady (index.js:602:1)
    at invoke (backburner.js.js:280:1)
    at h.flush (backburner.js.js:197:1)
    at p.flush (backburner.js.js:358:1)
    at B._end (backburner.js.js:798:1)
    at B._boundAutorunEnd (backburner.js.js:523:1)

Вы пробовали безопасный режим?

1 лайк

@simon_tomes Я сделал PR к вашей теме, который исправит это: FIX: Update topic-list-item override by davidtaylorhq · Pull Request #1 · ministryoftesting/mot-graceful · GitHub

@tumbleweed спасибо за отчет. Странно, но кажется, что всё начинает работать сразу после открытия инструментов разработчика в браузере. Мы не планировали отказываться от поддержки iOS 15, поэтому исправим это как можно скорее :eyes:

7 лайков

Мы откатили это изменение, пока исследуем проблемы с Cloudflare и Safari 15.

@tumbleweed, если вы обновите свой сайт до последней версии Discourse, Safari 15 снова должен работать.

Извините за неудобства!

8 лайков

Спасибо за ответы!

Я обновил свой сайт, и теперь Safari отлично с ним работает!

3 лайка

Эта тема была автоматически закрыта через 2 дня. Новые ответы больше не принимаются.