Environment
Discourse Version: 3.4.0.beta1-dev
Plugin Commit: 0.5.9 efb044d
Steps to Reproduce
Use Google Calendar to create a recurring event (weekly on Wednesday, perhaps)
Follow Events documentation to integrate it into Events
Sync — look at Log. Nothing.
Alternatively, set up your event to have a definite number of events
Integrate
Sync — look at Log. Good to go!
Example
https://i.imgur.com/sMKcN6T.png
Image of log before and after deleting all instances of indefinitely recurring events.
Logs
Message (43 copies reported)
Job exception: All recurrence rules must specify .until or .count to use `all_occurrences’
Backtrace
/var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/ice_cube-0.16.4/lib/ice_cube/schedule.rb:481:in require_terminating_rules' /var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/ice_cube-0.16.4/lib/ice_cube/schedule.rb:155:in
all_occurrences’
/var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/icalendar-recurrence-1.1.3/lib/icalendar/recurrence/schedule.rb:44:in all_occurrences' /var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/omnievent-icalendar-0.1.0.pre5/lib/omnievent/strategies/icalendar.rb:150:in
extract_occurences’
/var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/omnievent-icalendar-0.1.0.pre5/lib/omnievent/strategies/icalendar.rb:124:in block in expand_recurrences' /var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/omnievent-icalendar-0.1.0.pre5/lib/omnievent/strategies/icalendar.rb:119:in
each’
/var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/omnievent-icalendar-0.1.0.pre5/lib/omnievent/strategies/icalendar.rb:119:in expand_recurrences' /var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/omnievent-icalendar-0.1.0.pre5/lib/omnievent/strategies/icalendar.rb:37:in
raw_events’
/var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/omnievent-0.1.0.pre3/lib/omnievent/strategy.rb:162:in list_events' /var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/omnievent-0.1.0.pre3/lib/omnievent/strategy.rb:144:in
request’
/var/www/discourse/plugins/discourse-events/gems/3.3.3/gems/omnievent-0.1.0.pre3/lib/omnievent.rb:62:in list_events' /var/www/discourse/plugins/discourse-events/lib/discourse_events/import_manager.rb:21:in
import’
/var/www/discourse/plugins/discourse-events/lib/discourse_events/import_manager.rb:75:in import' /var/www/discourse/plugins/discourse-events/lib/discourse_events/import_manager.rb:81:in
import_source’
/var/www/discourse/plugins/discourse-events/app/jobs/discourse_events/regular/import_source.rb:6:in execute' /var/www/discourse/app/jobs/base.rb:307:in
block (2 levels) in perform’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in with_connection' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in
with_connection’
/var/www/discourse/app/jobs/base.rb:294:in block in perform' /var/www/discourse/app/jobs/base.rb:290:in
each’
/var/www/discourse/app/jobs/base.rb:290:in perform' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in
execute_job’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in block (2 levels) in process' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in
block in invoke’
/var/www/discourse/lib/sidekiq/pausable.rb:132:in call' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in
block in invoke’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in invoke' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in
block in process’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in block (6 levels) in dispatch' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in
local’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in block (5 levels) in dispatch' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in
block in module:Sidekiq’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in block (4 levels) in dispatch' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in
stats’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in block (3 levels) in dispatch' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in
call’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in block (2 levels) in dispatch' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in
global’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in block in dispatch' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in
prepare’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in dispatch' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in
process’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in process_one' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in
run’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in watchdog' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in
block in safe_thread’