Спасибо, @Don, у меня тоже 100% воспроизводится. При тестировании через BrowserStack это выглядит как регрессия после Safari 17: на Ventura (Safari 16.5) проблема не воспроизводится, а на Sonoma (Safari 17.3) — воспроизводится. Я сообщил об описанных выше шагах и выводах в Webkit, это должно помочь им найти причину.
Ура, воспроизводимые шаги! ![]()
Мы также легко воспроизводим это на нашем форуме (версия 3.2.4). Похоже, ключевым фактором является шаг навигации «назад», так как он запускает ошибку, независимо от начальной или промежуточной страницы (я пробовал тему, категорию, FAQ, значки и т. д.).
Пока Webkit разбирается с этим (думаю, исправление доберётся до стабильного релиза не скоро), имеет ли смысл попытаться определить конкретное изменение в Discourse, после которого ошибка начала проявляться в Safari, и, если это просто и реально, возможно, внедрить локальное решение? В нашем случае проблема появилась только после недавнего обновления с версии 3.1.5 до последней стабильной. Это большой промежуток, но может быть, стоит сначала пройти по бета-версиям, а затем двигаться дальше?
P.S.: Просто добавлю, что теперь, когда я могу воспроизвести проблему, я попытался временно отключить PWA на нашем основном сайте, но это, похоже, не изменило ничего в данном случае. Так что… это не связано с несколькими PWA.
Итак, я только что попробовал это в Chrome и заметил очень странную вещь. Если я правильно понимаю, это должно происходить только в Safari? Я так думал, но, возможно, я ошибаюсь. Потому что я могу воспроизвести это в браузере Chrome и на iPad. Похоже, проблема в операционной системе? Это также воспроизводится на macOS в Chrome?
Или это влияет только на iOS и iPadOS в Chrome из-за проблемы с WebKit?
Мое понимание таково, что Apple не разрешает сторонние браузеры на iOS/iPadOS, поэтому Chrome, Firefox и другие — это лишь специализированные графические интерфейсы, использующие WebKit для отображения страниц «под капотом».
Поскольку проблема связана с WebKit, любой браузер, работающий на iOS/iPadOS, подвержен ей.
Да, всё верно
Хотя это меняется: Using alternative browser engines in the European Union - Support - Apple Developer
Спасибо за напоминание об этом, @mentalstring. После бисекции я считаю, что наиболее вероятная причина кроется здесь: DEV: Change default of `cross_origin_opener_policy_header` (#24940) · discourse/discourse@38abc0d · GitHub
Согласно тесту на одном из наших экземпляров, выполнение SiteSetting.cross_origin_opener_policy_header = 'unsafe-none' в консоли Rails или добавление этого параметра в ENV:
DISCOURSE_CROSS_ORIGIN_OPENER_POLICY="unsafe-none"
решает проблему. Эта настройка сайта является мерой усиления безопасности. Мы также оцениваем плюсы и минусы обновления ядра, но если вы (и другие, следящие за этой проблемой) сможете проверить это на своей стороне, это было бы отлично. Это даст нам больше уверенности в том, что это действительно лежащее в основе изменение в Discourse.
А-а, вот оно! ![]()
Я могу подтвердить, что установка COOP в значение 'unsafe-none' эффективно устранила эту ошибку на нашем экземпляре версии 3.2.4. Возврат к значению same-origin-allow-popups сразу же восстанавливает проблему.
Хорошо, что есть какое-то временное решение. Между тем, полагаю, эта информация будет полезна для отчёта команде Webkit, так как указывает на конкретный триггер.
P.S.: Спасибо, что разбираетесь в этом, и извините за настойчивость — я просто пытаюсь помочь нашему сообществу, действуя наугад. ![]()
Просто чтобы другие тоже не упустили это, этот фрагмент должен выглядеть так:
DISCOURSE_CROSS_ORIGIN_OPENER_POLICY_HEADER: unsafe-none
Вот обновление, друзья: разработчик WebKit несколько недель назад объединил исправление этой проблемы. Я попытался протестировать его, используя ночные сборки WebKit, но, к сожалению, мне всё ещё удаётся воспроизвести проблему. Возможно, я что-то делаю неправильно. Буду ждать следующего релиза Safari Technology Preview (он должен выйти скоро), чтобы проверить снова; надеюсь, проблема действительно исправлена. (Отчёт об ошибке WebKit здесь.)
К сожалению, в последней версии Safari для Sequoia эта проблема ещё не исправлена. Я повторно открыл отчёт об ошибке в Webkit, на который есть ссылка выше.
Хорошие новости: исправление уже доступно в основной ветке, и оно сработало на моём компьютере при использовании архивов сборок WebKit. Потребуются ещё несколько недель, прежде чем это исправление появится сначала в Safari Technology Preview, а затем в обычной версии Safari.
Вы это проверяли?
Да, конечно.
Похоже, что это наконец было включено в Safari Technology Preview, выпуск 209 (Safari 18.2, WebKit 20621.1.6).
Буду рад получить подтверждение от других пользователей в этой теме перед закрытием. Заранее спасибо!
Я только что попробовал с Release 210 и могу подтвердить, что в нашем форуме (на стабильной версии) проблема больше не возникает в Safari TP, хотя в текущей версии Safari она всё ещё есть. ![]()
Есть ли какие-то идеи, сколько времени это займёт, чтобы это попало в основную ветку Safari?
Я полагаю, это появится в следующем выпуске Safari, скорее всего, в течение нескольких недель. Спасибо за тестирование!
Похоже, что в Safari 18.3 это действительно исправлено!
Эта тема была автоматически закрыта через 3 дня. Новые ответы больше не принимаются.