Events Plugin 📅

Плагин, похоже, вызывает ошибку при обновлении Discourse:

I, [2025-01-04T22:51:50.065854 #1]  INFO -- :
I, [2025-01-04T22:51:50.066464 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
2025-01-04 22:52:07.682 UTC [1886] discourse@discourse ERROR:  null value in column "created_at" of relation "discourse_events_event_topics" violates not-null constraint
2025-01-04 22:52:07.682 UTC [1886] discourse@discourse DETAIL:  Failing row contains (1, 1, 1239, null, events, null, null).
2025-01-04 22:52:07.682 UTC [1886] discourse@discourse STATEMENT:
	      INSERT INTO discourse_events_event_topics (topic_id, event_id, client, series_id)
	      SELECT ec.topic_id, ec.event_id, ec.client, ec.series_id
	      FROM discourse_events_event_connections ec

rake aborted!
StandardError: An error has occurred, this and all later migrations canceled: (StandardError)

PG::NotNullViolation: ERROR:  null value in column "created_at" of relation "discourse_events_event_topics" violates not-null constraint
DETAIL:  Failing row contains (1, 1, 1239, null, events, null, null).

При отключённом плагине обновление проходит как положено.

3 лайка

Спасибо, что предупредили. Я исправил эту проблему. Не могли бы вы попробовать обновиться сейчас, когда плагин уже установлен?

4 лайка

Спасибо за быстрое исправление, @Angus! Могу подтвердить, что всё снова работает без сбоев.

5 лайков

Просто хочу сказать, что этот плагин стоит своих денег!

3 лайка

Привет

Может кто-нибудь объяснить мне эффект (и пользу) этой опции?

Мой мозг не понимает… :brain:

СПАСИБО

image

Да, это можно объяснить лучше.

Повторяющееся событие — это «серия» событий. Когда вы создаёте повторяющееся событие во внешнем сервисе, подключённом через этот плагин (например, в Google Календаре), плагин импортирует все события серии (в пределах заданных вами параметров импорта).

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

Но да, описание действительно нуждается в улучшении.

2 лайка

Привет, Энгус, я выполнил обновление на UKDHC Discourse, после чего веб-приложение Discourse перестало загружаться. После некоторых исследований выяснилось, что причиной этого стал плагин events. Мне пришлось отключить этот плагин, чтобы веб-приложение снова начало работать. Пожалуйста, проведи расследование и дай рекомендации — спасибо заранее. Франсуа

5 лайков

Энгу, в последней версии есть проблема, из-за которой TC перестает работать (3.5.0.beta2-dev, Theme component have become nonoperative due to the discourse-events plugin).

Uncaught Error: Could not find module `discourse/mixins/singleton` imported from `discourse/plugins/discourse-events/discourse/models/provider`
    at loader.js:247:1
    at h (loader.js:258:1)
    at u.findDeps (loader.js:168:1)
    at h (loader.js:262:1)
    at u.findDeps (loader.js:168:1)
    at h (loader.js:262:1)
    at requireModule (loader.js:24:1)
    at y (app.js:170:18)
    at b (app.js:193:19)
    at app.js:156:29
    at g.start (app.js:167:1)
    at HTMLDocument.<anonymous> (start-app.js:5:7)
    at discourse-boot.js:13:12
    at discourse-boot.js:1:1

Полагаю, это связано с изменением, в котором миксин был рефакторирован в декоратор класса: DEV: refactor singleton mixin to class decorator by tyb-talks · Pull Request #30498 · discourse/discourse · GitHub.

4 лайка

Спасибо @Arkshine, мы отменим этот коммит: Revert "DEV: remove singleton mixin (#31823)" by jjaffeux · Pull Request #31857 · discourse/discourse · GitHub

@kelv переоценит ситуацию позже на этой неделе.

6 лайков

Спасибо @j.jaffeux за исправление :slight_smile:

Ошибка возникала здесь: discourse-events/assets/javascripts/discourse/models/provider.js at b38f3258115110c07951f18e2c3562ac3e68a301 · angusmcleod/discourse-events · GitHub

В начале года мы отказались от использования миксина Singleton. Этот PR должен дать представление о том, как рефакторить класс для использования Singleton в качестве декоратора.

@angus, не могли бы вы взглянуть? Изменения должны быть минимальными: декоратор можно применить к RestModel.

3 лайка

Спасибо всем. Я обновил этот плагин, чтобы использовать декоратор синглтона.

5 лайков

@G4sD0c Не могли бы вы попробовать обновить и сообщить, решилась ли ваша проблема?

4 лайка

Здравствуйте,

Я столкнулся с ошибкой при создании темы с использованием одновременно плагинов Events и Location.

Ошибка заключается в том, что тема создаётся без значения даты, указанного в Events.

Детали:

  • Можно повторно открыть тему и ввести дату.
  • Если создавать тему без указания местоположения, дата сохраняется корректно.

Версия Discourse: 3.5.0.beta1-dev
(402ec6bf5c)

Версия Events: 0.9.5
c49ec2a

Версия Location: 6.8.2
7eb7be3

Пример:


Огромное СПАСИБО за эти два плагина, которые позволяют мне управлять картой и календарём для RPG-конвентов.

Позволяю себе отметить @merefield для информации.

2 лайка

@G4sD0c Просто мягкое напоминание обновить плагин Events до последней версии, совместимой с новейшим Discourse :slight_smile:

2 лайка

@G4sD0c уже сделал это, и всё работает отлично.

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

1 лайк

Привет, команда! С вчерашнего дня панель администратора «События» не работает.

Ниже я привёл различную информацию:


Эта проблема появилась сегодня утром в iOS Safari PWA


Моя версия Discourse:

v3.5.0.beta7 +463

Вчера утром была

v3.5.0.beta7 +422

Моя версия iOS:

Последняя ошибка, появившаяся в логах Discourse вчера:

Мой Sidekiq отображается следующим образом:

Вчера мой Sidekiq выглядел так:

1 лайк

Привет, команда,

это обновление, при котором UI временно заработал

административный интерфейс отображается

странно — у меня были отключены «Пользовательские ссылки в заголовке (иконки)», а на этом скриншоте они отображаются. Используется ли какое-то обратно совместимое значение по умолчанию?

Sidekiq отображается как

последняя ошибка в /logs


Версия Discourse, которую я использую, — latest-release +463, отстает на 21 коммит

1 лайк

До обновления Discourse у меня была та же проблема, что и раньше, а затем та же проблема повторилась после включения «Настройка ссылок в заголовке (Иконки)».


после обновления

1 лайк

Это обсуждение продолжается здесь: Discourse-events 'this.router' error - #11 by david


У меня тоже Discourse полностью обновлён, но ошибки немного изменились:

Скриншот

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


Мы считаем, что этот плагин сломан, и его следует пометить тегом broken.

Это согласуется с другими сообщениями:


Также стоит отметить: @Ethsim2 предложил добавить поддержку синхронизации через iCal-каналы как нативную функцию в плагине discourse-calendar (ссылка). В той теме уже два лайка от участников команды Discourse — поэтому, если вы тоже столкнулись с этой проблемой, стоит следить за ней или поддержать её.

2 лайка

Стоит также отметить, @Halden42.


Однако я не могу точно сказать, предоставит ли обновление этой библиотеки искомую функцию, на которую многие пользователи этого плагина могли полагаться или которую они умели исправлять.