Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rails 8 asset pipeline incompatibility when running rails assets:precompile with attachments on the User model #5750

Open
michaelroudnitski opened this issue Jan 3, 2025 · 0 comments

Comments

@michaelroudnitski
Copy link

michaelroudnitski commented Jan 3, 2025

Environment

  • Ruby 3.2.3 (also affecting me on ruby 3.4.1)
  • Rails 8.0.1
  • Devise 4.9

Current behavior

Hi, I hope this is the right place to report this.

I spent some time debugging an error I encountered after starting my Rails 8 upgrade. I was able to reproduce it with a new rails 8 app, installing devise and configuring my ActiveStorage to an S3 service. It seems like RAILS_ENV=production rails assets:precompile is now loading devise and ActiveStorage attachments on the User model, which is undesired since the precompiled assets are just static assets served by Rails asset pipeline.

To reproduce:

  1. create a new rails 8 app
  2. run bundle add devise and setup devise as normal on a User model
  3. add an attachment to the User model
# app/models/user.rb
class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable
  has_one_attached :display_picture
end
  1. configure ActiveStorage to use the S3 service in production.rb,
# config/storage.yml
s3:
  service: S3
  public: true
  access_key_id: "123"
  secret_access_key: "123"
  endpoint: "https://s3.example.cloud"
  region: null # purposely set to null to mimic secrets not being available in a docker build stage
  bucket: "bucket"

# config/environments/production.rb
config.active_storage.service = :ibmcos
  1. run RAILS_ENV=production SECRET_KEY_BASE_DUMMY=1 ./bin/rails assets:precompile --trace and observe an error from our ActiveStorage setup not having a configuration set
RAILS_ENV=production SECRET_KEY_BASE_DUMMY=1 ./bin/rails assets:precompile --trace
** Invoke assets:precompile (first_time)
** Invoke environment (first_time)
** Execute environment
bin/rails aborted!
Aws::Errors::MissingRegionError: No region was provided. Configure the `:region` option or export the region name to ENV['AWS_REGION'] (Aws::Errors::MissingRegionError)

        raise Errors::MissingRegionError if region.nil? || region == ''
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/aws-sdk-core-3.214.1/lib/aws-sdk-core/plugins/regional_endpoint.rb:84:in `after_initialize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/aws-sdk-core-3.214.1/lib/seahorse/client/base.rb:81:in `block in after_initialize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/aws-sdk-core-3.214.1/lib/seahorse/client/base.rb:80:in `each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/aws-sdk-core-3.214.1/lib/seahorse/client/base.rb:80:in `after_initialize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/aws-sdk-core-3.214.1/lib/seahorse/client/base.rb:23:in `initialize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/aws-sdk-s3-1.176.1/lib/aws-sdk-s3/client.rb:552:in `initialize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/aws-sdk-core-3.214.1/lib/seahorse/client/base.rb:102:in `new'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/aws-sdk-s3-1.176.1/lib/aws-sdk-s3/resource.rb:28:in `initialize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/lib/active_storage/service/s3_service.rb:18:in `new'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/lib/active_storage/service/s3_service.rb:18:in `initialize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/lib/active_storage/service.rb:63:in `new'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/lib/active_storage/service.rb:63:in `build'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/lib/active_storage/service/configurator.rb:17:in `build'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/lib/active_storage/service/registry.rb:13:in `block in fetch'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/lib/active_storage/service/registry.rb:11:in `fetch'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/lib/active_storage/service/registry.rb:11:in `fetch'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/lib/active_storage/engine.rb:153:in `block (2 levels) in <class:Engine>'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/lazy_load_hooks.rb:97:in `class_eval'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/lazy_load_hooks.rb:97:in `block in execute_hook'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/lazy_load_hooks.rb:87:in `with_execution_control'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/lazy_load_hooks.rb:92:in `execute_hook'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/lazy_load_hooks.rb:78:in `block in run_load_hooks'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/lazy_load_hooks.rb:77:in `each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/lazy_load_hooks.rb:77:in `run_load_hooks'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/app/models/active_storage/blob.rb:396:in `<main>'
<internal:/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/zeitwerk-2.7.1/lib/zeitwerk/core_ext/kernel.rb:26:in `require'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activestorage-8.0.1/lib/active_storage/attached/model.rb:109:in `has_one_attached'
/Users/user/dev/github.com/r8/app/models/user.rb:6:in `<class:User>'
/Users/user/dev/github.com/r8/app/models/user.rb:1:in `<main>'
<internal:/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/zeitwerk-2.7.1/lib/zeitwerk/core_ext/kernel.rb:26:in `require'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/inflector/methods.rb:290:in `const_get'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/inflector/methods.rb:290:in `constantize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/core_ext/string/inflections.rb:74:in `constantize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise.rb:327:in `get'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise/mapping.rb:83:in `to'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise/mapping.rb:78:in `modules'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise/mapping.rb:95:in `routes'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise/mapping.rb:162:in `default_used_route'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise/mapping.rb:72:in `initialize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise.rb:361:in `new'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise.rb:361:in `add_mapping'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise/rails/routes.rb:243:in `block in devise_for'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise/rails/routes.rb:242:in `each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/devise-4.9.4/lib/devise/rails/routes.rb:242:in `devise_for'
/Users/user/dev/github.com/r8/config/routes.rb:15:in `block in <main>'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/actionpack-8.0.1/lib/action_dispatch/routing/route_set.rb:479:in `instance_exec'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/actionpack-8.0.1/lib/action_dispatch/routing/route_set.rb:479:in `eval_block'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/actionpack-8.0.1/lib/action_dispatch/routing/route_set.rb:461:in `draw'
/Users/user/dev/github.com/r8/config/routes.rb:1:in `<main>'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application/routes_reloader.rb:64:in `load'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application/routes_reloader.rb:64:in `block in load_paths'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application/routes_reloader.rb:64:in `each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application/routes_reloader.rb:64:in `load_paths'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application/routes_reloader.rb:25:in `reload!'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application/routes_reloader.rb:52:in `block in updater'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/activesupport-8.0.1/lib/active_support/file_update_checker.rb:85:in `execute'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application/routes_reloader.rb:34:in `execute'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application/routes_reloader.rb:39:in `execute_unless_loaded'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application/finisher.rb:179:in `block in <module:Finisher>'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/initializable.rb:32:in `instance_exec'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/initializable.rb:32:in `run'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/initializable.rb:61:in `block in run_initializers'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/tsort.rb:228:in `block in tsort_each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/tsort.rb:431:in `each_strongly_connected_component_from'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/tsort.rb:349:in `block in each_strongly_connected_component'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/tsort.rb:347:in `each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/tsort.rb:347:in `call'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/tsort.rb:347:in `each_strongly_connected_component'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/tsort.rb:226:in `tsort_each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/tsort.rb:205:in `tsort_each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/initializable.rb:60:in `run_initializers'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application.rb:440:in `initialize!'
/Users/user/dev/github.com/r8/config/environment.rb:5:in `<main>'
<internal:/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/zeitwerk-2.7.1/lib/zeitwerk/core_ext/kernel.rb:34:in `require'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application.rb:416:in `require_environment!'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/application.rb:564:in `block in run_tasks_blocks'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `block in execute'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `execute'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:243:in `block in invoke_prerequisites'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `invoke_prerequisites'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:188:in `invoke'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:188:in `invoke_task'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block (2 levels) in top_level'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `each'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block in top_level'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:147:in `run_with_threads'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:132:in `top_level'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/commands/rake/rake_command.rb:27:in `block (2 levels) in perform'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:214:in `standard_exception_handling'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/commands/rake/rake_command.rb:27:in `block in perform'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/commands/rake/rake_command.rb:44:in `block in with_rake'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/rake_module.rb:59:in `with_application'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/commands/rake/rake_command.rb:41:in `with_rake'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/command.rb:150:in `invoke_rake'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/command.rb:67:in `block in invoke'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/command.rb:143:in `with_argv'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/command.rb:63:in `invoke'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/railties-8.0.1/lib/rails/commands.rb:18:in `<main>'
<internal:/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
<internal:/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
/Users/user/.asdf/installs/ruby/3.2.3/lib/ruby/gems/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
./bin/rails:4:in `<main>'
Tasks: TOP => assets:precompile => environment

Expected behavior

I would expect to be able to run RAILS_ENV=production SECRET_KEY_BASE_DUMMY=1 ./bin/rails assets:precompile and not have any dependency on ActiveStorage/devise. Commenting out devise_for from routes.rb or the has_one_attached from the User model resolves the problem

Thank you in advance and again, hope this is the right place to report this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant