# Uncaught SyntaxError: форум постоянно крутится и никогда не загружается

**URL:** https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219
**Category:** Self-hosting
**Tags:** cdn
**Created:** [05.Октябрь.2023 22:11:05 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219 "2023-10-05T22:11:05Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![CJtheSiteWizard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cjthesitewizard/32/216442_2.png) [@CJtheSiteWizard](https://meta.discourse.org/u/CJtheSiteWizard)
#### Post date: [05.Октябрь.2023 22:11:05 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/1 "2023-10-05T22:11:05Z")

</div>

Надеюсь, кто-нибудь здесь сможет подсказать правильное направление. Как видно из заголовка, наш форум на [forum.wackywriters.com](http://forum.wackywriters.com) зависает и никогда не загружается. В консоли отображается следующая серия ошибок:

 ![image](https://global.discourse-cdn.com/meta/original/4X/7/7/3/773cd4c45bb9c508eb1e214f914bec2e00696d39.jpeg)

В основном это Uncaught Syntax Error, хотя чуть позже появляется сообщение «jQuery is not defined» (всего 46 ошибок). Это началось сегодня без каких-либо предупреждений или обновлений с моей стороны, поэтому непонятно, что могло стать причиной.

Пробовал следующее:

- Пересборка, пересборка, ещё раз пересборка.
- Запуск очистки, затем снова пересборка.
- Безопасный режим с отключением всех тем и плагинов (как официальных, так и неофициальных). Я могу зайти на страницу безопасного режима, но при входе получаю те же ошибки.
- Я нахожусь за Cloudflare (да, знаю), подтвердил, что сжатие Brotli включено и работает. Очистил кэш там и обошёл их обычное кэширование (режим разработки), чтобы убедиться, что у них всё работает. Шаблон Cloudflare активен в app.yml. Переключение на DNS only или полное отключение Cloudflare вызывает ошибку «небезопасно» (SSL-сертификаты предоставляются ими).
- Подтвердил, что у DigitalOcean нет проблем.
- Ещё раз пересборка для надёжности.

Интересно, что в логах нет ошибок (за сегодня). Я могу зайти на сайт, но что-то между заходом на сайт и доступом к полному форуму Discourse отправляет сайт в режим сбоя.

Единственное, что изменилось за последнюю неделю, — это обновление ключа лицензии Font Awesome Pro в app.yml, но это было несколько дней назад. Форум начал вести себя так только сегодня. Может, кто-то подскажет, что ещё можно попробовать для устранения проблемы (кроме полного отключения CF или восстановления из резервной копии)? Я уже несколько часов работаю над этим без какого-либо успеха. Могу предоставить дополнительные скриншоты или мой обезличенный файл app.yml, если кто-то считает, что это поможет.

---

<div class="post-metadata">

### Author: ![CJtheSiteWizard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cjthesitewizard/32/216442_2.png) [@CJtheSiteWizard](https://meta.discourse.org/u/CJtheSiteWizard)
#### Post date: [06.Октябрь.2023 04:09:21 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/2 "2023-10-06T04:09:21Z")

</div>

Обновление: Я решил рискнуть и полностью отключил Cloudflare, чтобы исключить его влияние, а затем восстановил резервную копию. Проблема всё ещё сохраняется.

---

<div class="post-metadata">

### Author: ![markschmucker](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markschmucker/32/141599_2.png) [@markschmucker](https://meta.discourse.org/u/markschmucker)
#### Post date: [06.Октябрь.2023 04:45:17 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/3 "2023-10-06T04:45:17Z")

</div>

Я не вижу ошибок из вашего скриншота, но вижу ошибку, связанную с плагином discourse-layouts. Попробуйте пересобрать без него?

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [06.Октябрь.2023 04:50:05 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/4 "2023-10-06T04:50:05Z")

</div>

> [@Caitlin E Jeffery](#):
>
> [Безопасный режим](https://meta.discourse.org/t/how-to-use-discourse-safe-mode/53504) отключает ВСЕ темы и плагины (официальные или нет). Я могу перейти на страницу [безопасного режима](https://meta.discourse.org/t/how-to-use-discourse-safe-mode/53504), но при входе получаю те же ошибки.

Ошибки, которые я вижу в консоли при попытке загрузить сайт в безопасном режиме ([Wacky Writers' Forum - Read. Write. Respect.](https://forum.wackywriters.com/?safe_mode=no_themes,no_plugins)), довольно любопытны. Например:

`Неверный или неожиданный токен в https://storage.wackywriters.com/assets/browser-detect-99f42f91bffa8ca1606d62b70bb92f981d83921e78ccdbd3d9538f07007f27ac.br.js`

Файл по адресу [https://storage.wackywriters.com/assets/browser-detect-99f42f91bffa8ca1606d62b70bb92f981d83921e78ccdbd3d9538f07007f27ac.br.br.js](https://storage.wackywriters.com/assets/browser-detect-99f42f91bffa8ca1606d62b70bb92f981d83921e78ccdbd3d9538f07007f27ac.br.br.js), похоже, не является JavaScript.

Я предполагаю, что это повреждённая версия этого файла: [https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/scripts/browser-detect.js](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/scripts/browser-detect.js), но это лишь предположение.

Попробуйте удалить плагины из вашего файла `app.yml` и пересобрать проект?

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [06.Октябрь.2023 04:52:39 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/5 "2023-10-06T04:52:39Z")

</div>

> [@Caitlin E Jeffery](#):
>
> redacted app.yml

Да, возможно, проблема в этом. Может быть, какой-то плагин или что-то ещё вызывает проблему даже в безопасном режиме.

👇🏻

> [@simon](#):
>
> Попробуйте удалить плагины из файла `app.yml` и пересобрать?

---

<div class="post-metadata">

### Author: ![CJtheSiteWizard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cjthesitewizard/32/216442_2.png) [@CJtheSiteWizard](https://meta.discourse.org/u/CJtheSiteWizard)
#### Post date: [06.Октябрь.2023 04:58:55 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/6 "2023-10-06T04:58:55Z")

</div>

Да, на данном этапе я разбираю всё до самого основания и пытаюсь выяснить, вызовет ли чистая установка те же ошибки.

> [@markschmucker](#):
>
> Я не вижу ошибок из вашего скриншота, но вижу ошибку, связанную с плагином discourse-layouts. Попробуйте собрать заново без него?

Я закомментировал все плагины и выполнил повторную сборку, но проблема осталась.

> [@simon](#):
>
> Предполагаю, что это искажённая версия этого файла: [https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/scripts/browser-detect.js](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/scripts/browser-detect.js), но это лишь предположение.

Мое лучшее предположение — что-то некорректно парсится. Я фактически очистил все ресурсы и выполнил повторную сборку для их регенерации, но проблема осталась.

> [@Lilly](#):
>
> Да, это может быть что-то внутри. Возможно, плагин или что-то ещё, вызывающее проблему даже в [безопасном режиме](https://meta.discourse.org/t/how-to-use-discourse-safe-mode/53504).

Да, я тоже так подумал и закомментировал все плагины, но получил те же ошибки.

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [06.Октябрь.2023 05:33:13 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/7 "2023-10-06T05:33:13Z")

</div>

RocketLoader от Cloudflare вызывает проблемы и нарушает работу Discourse.

---

<div class="post-metadata">

### Author: ![CJtheSiteWizard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cjthesitewizard/32/216442_2.png) [@CJtheSiteWizard](https://meta.discourse.org/u/CJtheSiteWizard)
#### Post date: [06.Октябрь.2023 05:34:11 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/8 "2023-10-06T05:34:11Z")

</div>

Да, конечно, именно поэтому я перенёс нас из-за них и просто настроил обычный DNS, чтобы исключить эту проблему.

---

<div class="post-metadata">

### Author: ![CJtheSiteWizard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cjthesitewizard/32/216442_2.png) [@CJtheSiteWizard](https://meta.discourse.org/u/CJtheSiteWizard)
#### Post date: [06.Октябрь.2023 05:36:33 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/9 "2023-10-06T05:36:33Z")

</div>

Конечно, теперь я жду, пока обновятся DNS-записи и все новые сертификаты Let’s Encrypt приведутся в порядок, чтобы добавить ещё один слой сложности до тех пор, пока всё не обновится. 😂

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [06.Октябрь.2023 06:05:25 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/10 "2023-10-06T06:05:25Z")

</div>

Если это не поможет, возможно, стоит очистить кеш CDN. На мой взгляд, он находится на `digitaloceanspaces.com`. Похоже, что он раздает повреждённые файлы. Например: [https://storage.wackywriters.com/assets/start-discourse-7c0f5f4daf3c942b7b6ecfe8e62e2e5a0f6555924859cf055314c0df3d617353.br.js](https://storage.wackywriters.com/assets/start-discourse-7c0f5f4daf3c942b7b6ecfe8e62e2e5a0f6555924859cf055314c0df3d617353.br.js).

---

<div class="post-metadata">

### Author: ![CJtheSiteWizard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cjthesitewizard/32/216442_2.png) [@CJtheSiteWizard](https://meta.discourse.org/u/CJtheSiteWizard)
#### Post date: [06.Октябрь.2023 06:06:36 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/11 "2023-10-06T06:06:36Z")

</div>

Спасибо, попробую. Я очистил кэш в Cloudflare, но не в DO Spaces 🤔

---

<div class="post-metadata">

### Author: ![CJtheSiteWizard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cjthesitewizard/32/216442_2.png) [@CJtheSiteWizard](https://meta.discourse.org/u/CJtheSiteWizard)
#### Post date: [06.Октябрь.2023 06:16:16 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/12 "2023-10-06T06:16:16Z")

</div>

Думаю, вы на верном пути, судя по этой теме: [S3, Assets & CDN Error](https://meta.discourse.org/t/s3-assets-cdn-error/272504)

---

<div class="post-metadata">

### Author: ![CJtheSiteWizard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cjthesitewizard/32/216442_2.png) [@CJtheSiteWizard](https://meta.discourse.org/u/CJtheSiteWizard)
#### Post date: [06.Октябрь.2023 07:33:21 UTC](https://meta.discourse.org/t/uncaught-syntaxerror-forum-spins-nonstop-and-never-loads/281219/13 "2023-10-06T07:33:21Z")

</div>

> [@simon](#):
>
> Если это не поможет, возможно, стоит очистить ваш CDN. Полагаю, он находится на `digitaloceanspaces.com`. Похоже, что он отдаёт повреждённые файлы. Например: [https://storage.wackywriters.com/assets/start-discourse-7c0f5f4daf3c942b7b6ecfe8e62e2e5a0f6555924859cf055314c0df3d617353.br.js](https://storage.wackywriters.com/assets/start-discourse-7c0f5f4daf3c942b7b6ecfe8e62e2e5a0f6555924859cf055314c0df3d617353.br.js).

Серьёзно, я мог бы вас обнять. Проблема действительно заключалась в DO Spaces, а именно в их CDN, как упоминается здесь: [Configure an S3 compatible object storage provider for uploads](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916#digital-ocean-spaces-3)

> [@Falco](#):
>
> ### Digital Ocean Spaces
> 
> Предложение DO хорошее и работает сразу из коробки. Можно включить ограничение на просмотр списка файлов. Единственная проблема в том, что их CDN-решение [ужасно неработоспособно](https://docs.digitalocean.com/products/spaces/how-to/set-file-metadata/), поэтому для файлов нужно использовать другой CDN. Также не нужно устанавливать правило CORS, так как оно переустанавливается при каждой пересборке.

Я настроил новый CDN через [bunny.net](http://bunny.net), и теперь мы _предположительно_ снова в строю. Всё ещё нужно навести порядок с резервными копиями и исправить некоторые битые изображения, но это ближе всего к тому, чтобы вернуть всё к рабочему состоянию за весь день, ха-ха. Спасибо, спасибо! Мы использовали настройку Spaces через эту конфигурацию CDN/S3 уже… ох, два года или около того. Мне, наверное, повезло, что она не сломалась _раньше_.
