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.
I have many events on the calendar that this plugin uses, but have since disabled.
We believe this plugin is broken and should be tagged as broken .
This is consistent with other reports:
Also worth noting: @Ethsim2 has proposed iCal feed sync support as a native feature in the discourse-calendar plugin. That topic already has two likes from Discourse team members â so if others are affected by this, itâs a good one to follow or support.
However, i canât really deduce whether this library upgrade will provide the feature, many users of this plugin were able to rely-on or know-how to fix