Необработанная ошибка (в промисе)

Описание

После недавней пересборки Discourse (самостоятельно размещённой) я постоянно сталкиваюсь с ограничением скорости для пользователей при просмотре основной версии Full Calendar 6, даже несмотря на очень низкую активность на моём сайте (1–2 одновременных пользователя). Это поведение появилось после двух последних пересборок.

Моя конфигурация ограничений скорости (как установлено в app.yml):

  • DISCOURSE_MAX_ADMIN_API_REQS_PER_MINUTE: 4x по умолчанию
  • DISCOURSE_MAX_REQS_PER_MINUTE: 4x по умолчанию
  • DISCOURSE_MAX_REQS_PER_DAY: 4x по умолчанию
  • Ограничение скорости на IP-адрес не указано.

Наблюдения

  • В /logs ошибок не отображается.
  • Обратный прокси не используется (стандартный контейнер Let’s Encrypt и A-запись домена).
  • Неожиданное ограничение скорости срабатывает только при просмотре календаря.
  • Активность пользователей не менялась.
  • Все плагины и компоненты темы являются официальными.
  • Проблема возникла только после недавней пересборки Discourse и сохраняется после пересборки, выполненной сегодня вечером.
  • Администрирование > Журналы в момент инцидента чисты.

Предпринятые шаги по устранению неполадок

  • Подтверждено, что пользовательские настройки ограничения скорости присутствуют и значительно превышают значения по умолчанию.
  • Протестировано несколько браузеров, очищены кэши.
  • Темы на meta.discourse.org предполагают, что после обновлений могут существовать дополнительные внутренние ограничения скорости, не задокументированные явно, которые переопределяют пользовательские значения.

Ссылки


Запрос

Пожалуйста:

  1. Подтвердите, существуют ли новые или скрытые ограничители скорости, которые могут влиять на фоновые запросы или запросы, генерируемые плагинами, после недавнего обновления/пересборки, и если да, опишите, как их переопределить или настроить.
  2. Объясните, почему мои высокие пользовательские ограничения скорости не соблюдаются при просмотре календаря.
  3. Предложите дальнейшие шаги по устранению неполадок или изменения конфигурации, если они необходимы.

Спасибо!

Похоже, это может быть связано с Re-add full ics export - #9 by kelv, так как отображается 100 событий, а примерно через 2 минуты появляется ещё одна большая порция, причём они показываются не постепенно, а крупными пакетами.

Редакция: Такое поведение с ограничением частоты запросов пока приемлемо, но становится заметным при переходе далеко вперёд: я вижу все события своей текущей недели и все события следующей недели, но если я перехожу к следующей неделе, то натыкаюсь на жёсткий лимит.

Я также должен уточнить, что до того, как я настроил пользовательские ограничения скорости API, предстоящие события в полном календаре v6 не были ограничены в такой степени. Эти настройки в app.yml не изменили ограничение скорости, видимое в FullCalendar :wink:

@kelv, не мог бы ты, пожалуйста, посмотреть на это?

Я всё ещё могу воспроизвести это

В данный момент мы не можем воспроизвести проблему. На каком коммите вы находитесь? Сколько у вас событий?

Discourse latest-release +369

Docker_manager 3e5ec72d

Bbcode 633030d8

Categories suppressed d5550658

Who’s online 3fe319b8

Темы и компоненты

Default


[Category Banners]

Отображение баннеров на страницах категорий с использованием существующих данных о категориях. Подробнее

[Clickable Topic]

Если вы хотите отредактировать эту тему, необходимо внести изменения в её репозиторий

[Custom Header Links (icons)]

Если вы хотите отредактировать эту тему, необходимо внести изменения в её репозиторий

[Discourse Gifs]

Если вы хотите отредактировать эту тему, необходимо внести изменения в её репозиторий

[Inline PDF Previews]

Если вы хотите отредактировать эту тему, необходимо внести изменения в её репозиторий

[Reader Mode]

Если вы хотите отредактировать эту тему, необходимо внести изменения в её репозиторий

44 на следующей неделе

ни одного из ~40 на неделе после

FullCalendar начал работать корректно, так как я вернулся на несколько недель назад, а затем перешёл на много недель вперёд

Много, я думаю, что MAX_RESULTS превысил свой лимит после 27 сентября. Мне приходится обновлять Full Calendar каждый раз, когда я просматриваю свои события.

Извините, но я не совсем вас понимаю. Не могли бы вы записать видео, на котором вы показываете, как работаете с календарем?

1 лайк

в PWA

1 лайк

Так где же 429?

Я не думаю, что речь идёт об этом виде ограничения скорости. Когда я упоминал настройки ограничения скорости API, я имел в виду, что мой Discourse настроен на обработку множества тем событий, но представление FullCalendar работает не так хорошо, как до объединения кода.

Извините за путаницу.

Редактирование: я обновил исходный пост, чтобы отразить отсутствие ошибок 429.

для мета-дискурса 01|видео

Я использую последние версии. С точки зрения интерфейса эта проблема решилась сама собой за ночь. Я обновился вчера вечером, но проблема не исчезла сразу. Общее количество прошедших событий составляет около 270. Теперь я снова перешёл на использование PWA…

Мой экземпляр Discourse обновлён до версии с меткой tests-passed. Вчера от одного из пользователей моего экземпляра поступил отчёт о том, что в представлении «Неделя» на будущее не загружаются все события. Заметив, что эта ошибка перестала влиять на интерфейс представления «Текущая неделя», я попытался найти её причину на своём ноутбуке. Ниже приведено видео с воспроизведением проблемы:

То же самое «отсутствие событий» в будущей неделе можно воспроизвести и на моём смартфоне.

Я пересобрал проект, но проблема продолжает возникать при переходе от текущей недели к следующей.

Удалось ли нам определить, что стало причиной этого?


Возможно, мне нужно добавить

в моём app.yml.

Обновление Discourse по последним 20 коммитам исправило эту ошибку

Не обновлял, но этот баг снова начал проявляться

Редакция: зашел в PWA, и баг исчез

Редакция 2: ошибка всё ещё появляется в консоли браузера на ноутбуке, календарь пока не проверял

Через минуту после открытия Discourse в консоли браузера появляется эта ошибка. Похоже, она не влияет на мою страницу предстоящих событий. Обновление страницы предстоящих событий не воспроизводит ошибку; ошибка была обнаружена при загрузке главной страницы.