На Android нельзя использовать RTE, а на i-устройствах не удаётся сменить режим редактора

Я не думаю, что в Discourse недавно были какие-либо изменения, которые могли бы вызвать эту проблему. Однако у S3 давно существует странная особенность с CORS, из-за которой CDN могут кэшировать версию ресурса без заголовка Access-Control-Allow-Origin. А если дело в некорректном кэшировании, это может объяснить, почему проблема затрагивает только некоторых пользователей (вероятно, в зависимости от их местоположения).

По-моему, S3 отправляет заголовок Access-Control-Allow-Origin только в ответ на запросы, содержащие заголовок Origin (то есть запросы от обычного веб-браузера). Когда заголовок Access-Control-Allow-Origin отсутствует, S3 не включает в ответ заголовок Vary: origin. И вот что происходит: если первый запрос к определённому ресурсу исходит не из браузера (например, от curl или какого-либо веб-сканера), CDN может закэшировать версию без заголовка CORS. Очень раздражающе!

Настройка DISCOURSE_CORS здесь вообще не поможет. Она актуальна только для сервера приложения, но не для S3.

В нашем хостинге мы обходим эту проблему, настраивая Cloudfront так, чтобы он добавлял Access-Control-Allow-Origin: * ко всем ответам. Это гарантирует, что странное поведение S3 не приведёт к кэшированию некорректного результата.

В качестве альтернативы можно настроить Cloudfront так, чтобы он включал заголовок запроса Origin в ключ кэша. Тогда ответы без CORS будут храниться отдельно от ответов с CORS.

У Amazon есть много документации по CORS здесь. У меня в заметках была эта ссылка, которая, как оказалось, вела на форумную тему именно об этой проблеме… но похоже, её удалили :cry: