The plugin seems to cause an error when updating 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).
With the plugin disabled, the update runs as expected.
A recurring event is a āseriesā of events. When you create a recurring event in an external service connected by this plugin (e.g. Google Calendar) this plugin will import all events in the series (within the import parameters you set).
If you have an automatic topic sync set up for your imported events, this setting determines whether you create one topic for that series of events or multiple. If the setting is enabled, youāll have one topic for the series that is updated with the next event in the series when the previous one has passed. If the setting is disabled, youāll have a topic for each event in the series.
Hi Angus, I performed an update on the UKDHC Discourse, following which the Discourse web app was unable to load. After some investigation, it appears that it was the events plugin that caused this. I had to disable the plugin in order for the web app to load again. Can you please investigate andand advise - thanks in advance. FranƧois
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
We deprecated the use of that Singleton mixin at the start of the year. This PR should provide some reference on how to refactor a class to use Singleton as a decorator.
@angus would you be able to take a look? It should be a fairly minimal change, the decorator can be applied on RestModel.
Iāve noticed another wee issue though - when the Events plugin is installed but not active, it still manages to inappropriately add agenda links to top menus.