CERN / CERN/msgraph-poll-discourse-plugin

Plugin fails to compile with new versions of Discourse and OAuth2

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

This might be due to changes in oauth2 ruby gem that prevents you from creating an AccessToken with no token and it suggests entering an empty string.

https://github.com/ruby-oauth/oauth2/commit/abe81d0aa1ff628a216ce402a15e320e804cc7c5

The error received is as follows:

`Plugin name is 'msgraph-polling', but plugin directory is named 'msgraph-poll-discourse-plugin'
rake aborted!
OAuth2::Error: {error: "OAuth2::AccessToken has no token", error_description: "Options are: {}"} (OAuth2::Error)
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/oauth2-2.0.25/lib/oauth2/access_token.rb:160:in 'OAuth2::AccessToken#initialize'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/auth-sanitizer-0.2.3/lib/auth/sanitizer/filtered_attributes.rb:36:in 'OAuth2::AUTH_SANITIZER::FilteredAttributes::InitializerMethods#initialize'
/var/www/discourse/plugins/msgraph-poll-discourse-plugin/plugin.rb:30:in 'Class#new'
/var/www/discourse/plugins/msgraph-poll-discourse-plugin/plugin.rb:30:in 'MsGraphEmailPoller#initialize'
/var/www/discourse/plugins/msgraph-poll-discourse-plugin/plugin.rb:82:in 'Class#new'
/var/www/discourse/plugins/msgraph-poll-discourse-plugin/plugin.rb:82:in 'block in Plugin::Instance#activate!'
/var/www/discourse/lib/plugin/instance.rb:714:in 'block in Plugin::Instance#notify_after_initialize'
/var/www/discourse/lib/plugin/instance.rb:713:in 'Array#each'
/var/www/discourse/lib/plugin/instance.rb:713:in 'Plugin::Instance#notify_after_initialize'
/var/www/discourse/config/application.rb:230:in 'Array#each'
/var/www/discourse/config/application.rb:230:in 'block (2 levels) in '
/var/www/discourse/lib/plugin.rb:5:in 'Plugin.initialization_guard'
/var/www/discourse/config/application.rb:230:in 'block in '
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.5.1/lib/active_support/lazy_load_hooks.rb:94:in 'block in ActiveSupport::LazyLoadHooks#execute_hook'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.5.1/lib/active_support/lazy_load_hooks.rb:87:in 'ActiveSupport::LazyLoadHooks#with_execution_control'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.5.1/lib/active_support/lazy_load_hooks.rb:92:in 'ActiveSupport::LazyLoadHooks#execute_hook'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.5.1/lib/active_support/lazy_load_hooks.rb:78:in 'block in ActiveSupport::LazyLoadHooks#run_load_hooks'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.5.1/lib/active_support/lazy_load_hooks.rb:77:in 'Array#each'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.5.1/lib/active_support/lazy_load_hooks.rb:77:in 'ActiveSupport::LazyLoadHooks#run_load_hooks'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/railties-8.0.5.1/lib/rails/application/finisher.rb:93:in 'block in '
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/railties-8.0.5.1/lib/rails/initializable.rb:32:in 'BasicObject#instance_exec'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/railties-8.0.5.1/lib/rails/initializable.rb:32:in 'Rails::Initializable::Initializer#run'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/railties-8.0.5.1/lib/rails/initializable.rb:61:in 'block in Rails::Initializable#run_initializers'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/lib/tsort.rb:231:in 'block in TSort.tsort_each'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/lib/tsort.rb:353:in 'block (2 levels) in TSort.each_strongly_connected_component'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/lib/tsort.rb:434:in 'TSort.each_strongly_connected_component_from'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/lib/tsort.rb:352:in 'block in TSort.each_strongly_connected_component'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/lib/tsort.rb:350:in 'Rails::Initializable::Collection#each'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/lib/tsort.rb:350:in 'Method#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/lib/tsort.rb:350:in 'TSort.each_strongly_connected_component'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/lib/tsort.rb:229:in 'TSort.tsort_each'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/lib/tsort.rb:208:in 'TSort#tsort_each'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/railties-8.0.5.1/lib/rails/initializable.rb:60:in 'Rails::Initializable#run_initializers'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/railties-8.0.5.1/lib/rails/application.rb:444:in 'Rails::Application#initialize!'
/var/www/discourse/config/environment.rb:7:in ''
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/bootsnap-1.25.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:33:in 'Kernel#require'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/zeitwerk-2.8.3/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel#require'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/railties-8.0.5.1/lib/rails/application.rb:420:in 'Rails::Application#require_environment!'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/railties-8.0.5.1/lib/rails/application.rb:571:in 'block in Rails::Application#run_tasks_blocks'
Tasks: TOP => assets:precompile:build_plugins => environment
(See full trace by running task with --trace)
/var/www/discourse/script/assemble_ember_build.rb:171:in 'Kernel#system': Command failed with exit 1: bin/rake (RuntimeError)
  from /var/www/discourse/script/assemble_ember_build.rb:171:in ''
rake aborted! `

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at plugin.rb lines 30 and 82, then inspect the OAuth2 access-token initialization shown in the stack trace and the linked OAuth2 change. Reproduce the failure during the plugin build or initialization task with the newer dependencies. Done means the plugin initializes and the build completes without the OAuth2::AccessToken error.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.