scientist-softserv / scholarworks

Cal State Hyrax
0 stars 0 forks source link

Adding/removing Collection access throws an error #28

Open bkiahstroud opened 1 month ago

bkiahstroud commented 1 month ago

Story

Reported by Bryan Tu via email:

Hyrax version 3.6.0

Step to reproduce

  • login as admin

  • create a user collection with any name

  • After created the collection, go to sharing tab

  • In the "Add Sharing" section, add group such as "manager-longbeach" as manager where such group would be a manager group with manager user manager@lb.edu in it.

The above action would throw an exception but it executes it and after save changes manager manager@lb.edu would be able to manage such collection. When the admin removes such group access it throws the same exception and it would result in an error page and it would not complete such action.

The error occurs in the call model.reset_access_controls_for(collection: source) located in /rvm/gems/ruby-2.6.5/gems/hyrax-3.6.0/app/forms/hyrax/forms/permission_template_form.rb line 72

The actual error is raised in /usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/suffix.rb:72

In 2.9.6

PermissionTemplateForm.update_access

        reset_access_controls!

        update_workflow_responsibilities(remove_agent: remove_agent) if source_model.is_a?(AdminSet)

In 3.6.0

PermissionTemplateForm.update_access

        model.reset_access_controls_for(collection: source) this one is the one that causes issue where source is Hyrax::PcdmCollection

        update_workflow_responsibilities(remove_agent: remove_agent) if source.is_a?(Hyrax::AdministrativeSet)

One thing is a little strange to me is that the object collection type seems to be different during creating and modifying processes, I wonder if this is the cause of the problem. I can't even find where Hyrax.config.collection_class is.

During creating a collection in app/controllers/hyrax/dashboard/collections_controller.rb

      def create

        # Manual load and authorize necessary because Cancan will pass in all

        # form attributes. When `permissions_attributes` are present the

        # collection is saved without a value for `has_model.`

        @collection = Hyrax.config.collection_class.new

        Rails.logger.error "CollectionsController.create collection_class #{Hyrax.config.collection_class} #{collection.inspect}"
E, [2024-06-25T15:37:19.279183 #18045] ERROR -- : [65922e72-92aa-48f3-a990-7bc7e884bfb2] CollectionsController.create collection_class Collection #<Collection id: nil, description_formatted: [], title_formatted: [], depositor: nil, title: [], date_uploaded: nil, date_modified: nil, head: [], tail: [], collection_type_gid: nil, campus: [], handle: [], alternative_title: [], label: nil, relative_path: nil, import_url: nil, resource_type: [], creator: [], contributor: [], description: [], abstract: [], keyword: [], license: [], rights_notes: [], rights_statement: [], access_right: [], publisher: [], date_created: [], subject: [], language: [], identifier: [], based_near: [], related_url: [], bibliographic_citation: [], source: [], access_control_id: nil, representative_id: nil, thumbnail_id: nil>

But during modifying access of collection

Def update_access(remove_agent: false)

Rails.logger.error "PermissionTemplateForm.update_access before reset source #{source.inspect}"

E, [2024-06-25T15:37:35.275959 #18045] ERROR -- : [b704c839-6a6d-4c38-a796-b2a1fe25dae7] PermissionTemplateForm.update_access before reset source #<Hyrax::PcdmCollection id=#<Valkyrie::ID:0x0000000013400de0 @id="t722hb241"> internal_resource="#<Class:0x000000000f7a49c8>" created_at=Tue, 25 Jun 2024 15:37:19 +0000 updated_at=Tue, 25 Jun 2024 15:37:20 +0000 new_record=false alternate_ids=[#<Valkyrie::ID:0x0000000013400cf0 @id="t722hb241">] embargo=nil lease=nil title=["t2"] date_modified=nil date_uploaded=nil depositor=admin@calstate.edu collection_type_gid="gid://bravado/Hyrax::CollectionType/1" member_ids=[] member_of_collection_ids=[] has_model=nil create_date=nil modified_date=nil description_formatted=[] title_formatted=["t2"] head=nil tail=nil campus=["Chancellor"] handle=nil alternative_title=nil label=nil relative_path=nil import_url=nil resource_type=["Collection"] creator=nil contributor=nil description=[] abstract=nil keyword=nil license=nil rights_notes=nil rights_statement=nil access_right=nil publisher=nil date_created=nil subject=nil language=nil identifier=nil based_near=nil related_url=nil bibliographic_citation=nil source=nil access_control_id=#<Valkyrie::ID:0x0000000013403f68 @id="61b19389-a509-4981-b6cf-3f898fd4cf00"> related_object_ids=[] representative_id=nil thumbnail_id=nil>

Here's the stack of the error

E, [2024-06-13T21:01:10.291721 #1489] ERROR -- : [4bb04533-e75c-4144-b3c7-55227ea1b41d] Hyrax::PermissionTemplate - ActiveFedora::Indexing::InvalidIndexDescriptor: Invalid datatype `:"active_support/safe_buffer"'. Must be one of: :date, :time, :text, :text_en, :string, :symbol, :integer, :boolean
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/suffix.rb:72:in `block in config'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/suffix.rb:38:in `block in to_s'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/suffix.rb:35:in `each'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/suffix.rb:35:in `to_s'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/descriptor.rb:36:in `suffix'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/descriptor.rb:21:in `name_and_converter'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/field_mapper.rb:68:in `block (2 levels) in solr_names_and_values'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/field_mapper.rb:64:in `each'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/field_mapper.rb:64:in `block in solr_names_and_values'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/field_mapper.rb:63:in `each'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/field_mapper.rb:63:in `solr_names_and_values'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/inserter.rb:28:in `insert_field'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/inserter.rb:16:in `block in create_and_insert_terms'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/inserter.rb:15:in `each'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/inserter.rb:15:in `create_and_insert_terms'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/rdf/indexing_service.rb:49:in `append_to_solr_doc'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/rdf/indexing_service.rb:36:in `block (2 levels) in add_assertions'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/rdf/indexing_service.rb:35:in `each'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/rdf/indexing_service.rb:35:in `block in add_assertions'
/usr/local/rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/forwardable.rb:230:in `each'
/usr/local/rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/forwardable.rb:230:in `each'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/rdf/indexing_service.rb:33:in `add_assertions'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/rdf/indexing_service.rb:25:in `generate_solr_document'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing_service.rb:64:in `solrize_rdf_assertions'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing_service.rb:42:in `generate_solr_document'
/usr/local/rvm/gems/ruby-2.6.5/gems/hydra-pcdm-1.3.0/lib/hydra/pcdm/pcdm_indexer.rb:4:in `generate_solr_document'
/usr/local/rvm/gems/ruby-2.6.5/gems/hydra-pcdm-1.3.0/lib/hydra/pcdm/collection_indexer.rb:4:in `generate_solr_document'
/usr/local/rvm/gems/ruby-2.6.5/gems/hyrax-3.6.0/app/services/hyrax/indexes_thumbnails.rb:15:in `generate_solr_document'
/var/www/scholarworks/app/indexers/hyrax/collection_indexer.rb:16:in `generate_solr_document'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing.rb:42:in `to_solr'
/usr/local/rvm/gems/ruby-2.6.5/gems/hydra-access-controls-11.0.7/app/models/concerns/hydra/access_controls/permissions.rb:29:in `to_solr'
/usr/local/rvm/gems/ruby-2.6.5/gems/hyrax-3.6.0/app/models/concerns/hyrax/human_readable_type.rb:17:in `to_solr'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing.rb:51:in `update_index'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/callbacks.rb:235:in `block in update_index'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:98:in `run_callbacks'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:816:in `_run_update_index_callbacks'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/callbacks.rb:235:in `update_index'
/usr/local/rvm/gems/ruby-2.6.5/gems/hyrax-3.6.0/app/services/hyrax/listeners/active_fedora_acl_index_listener.rb:22:in `on_object_acl_updated'
/usr/local/rvm/gems/ruby-2.6.5/gems/dry-events-0.2.0/lib/dry/events/bus.rb:44:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/dry-events-0.2.0/lib/dry/events/bus.rb:44:in `block in publish'
/usr/local/rvm/gems/ruby-2.6.5/gems/dry-events-0.2.0/lib/dry/events/bus.rb:36:in `block in process'
/usr/local/rvm/gems/ruby-2.6.5/gems/dry-events-0.2.0/lib/dry/events/bus.rb:32:in `each'
/usr/local/rvm/gems/ruby-2.6.5/gems/dry-events-0.2.0/lib/dry/events/bus.rb:32:in `process'
/usr/local/rvm/gems/ruby-2.6.5/gems/dry-events-0.2.0/lib/dry/events/bus.rb:43:in `publish'
/usr/local/rvm/gems/ruby-2.6.5/gems/dry-events-0.2.0/lib/dry/events/publisher.rb:190:in `publish'
/usr/local/rvm/gems/ruby-2.6.5/gems/hyrax-3.6.0/app/services/hyrax/access_control_list.rb:171:in `save'
/var/www/scholarworks/app/models/hyrax/permission_template.rb:258:in `reset_access_controls_for'                      this call collection.permission_manager.acl.save
/var/www/scholarworks/app/forms/hyrax/forms/permission_template_form.rb:76:in `update_access'
/var/www/scholarworks/app/forms/hyrax/forms/permission_template_form.rb:134:in `update_participants_options'
/var/www/scholarworks/app/forms/hyrax/forms/permission_template_form.rb:59:in `update'
/var/www/scholarworks/app/controllers/hyrax/admin/permission_templates_controller.rb:10:in `update'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/abstract_controller/base.rb:194:in `process_action'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:132:in `run_callbacks'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/abstract_controller/callbacks.rb:41:in `process_action'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_controller/metal/rescue.rb:22:in `process_action'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/notifications.rb:168:in `block in instrument'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/notifications.rb:168:in `instrument'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
/usr/local/rvm/gems/ruby-2.6.5/gems/activerecord-5.2.8.1/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/abstract_controller/base.rb:134:in `process'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionview-5.2.8.1/lib/action_view/rendering.rb:32:in `process'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_controller/metal.rb:191:in `dispatch'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_controller/metal.rb:252:in `dispatch'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/route_set.rb:34:in `serve'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/journey/router.rb:52:in `block in serve'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/journey/router.rb:35:in `each'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/journey/router.rb:35:in `serve'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/route_set.rb:840:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/railties-5.2.8.1/lib/rails/engine.rb:524:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/railties-5.2.8.1/lib/rails/railtie.rb:190:in `public_send'
/usr/local/rvm/gems/ruby-2.6.5/gems/railties-5.2.8.1/lib/rails/railtie.rb:190:in `method_missing'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/mapper.rb:48:in `serve'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/journey/router.rb:52:in `block in serve'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/journey/router.rb:35:in `each'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/journey/router.rb:35:in `serve'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/routing/route_set.rb:840:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/omniauth-2.1.1/lib/omniauth/strategy.rb:202:in `call!'
/usr/local/rvm/gems/ruby-2.6.5/gems/omniauth-2.1.1/lib/omniauth/strategy.rb:169:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/crawler_detect-1.2.2/lib/rack/crawler_detect.rb:23:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/warden-1.2.9/lib/warden/manager.rb:36:in `block in call'
/usr/local/rvm/gems/ruby-2.6.5/gems/warden-1.2.9/lib/warden/manager.rb:34:in `catch'
/usr/local/rvm/gems/ruby-2.6.5/gems/warden-1.2.9/lib/warden/manager.rb:34:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/rack-2.2.8/lib/rack/tempfile_reaper.rb:15:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/rack-2.2.8/lib/rack/etag.rb:27:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/rack-2.2.8/lib/rack/conditional_get.rb:40:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/rack-2.2.8/lib/rack/head.rb:12:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/rack-2.2.8/lib/rack/session/abstract/id.rb:266:in `context'
/usr/local/rvm/gems/ruby-2.6.5/gems/rack-2.2.8/lib/rack/session/abstract/id.rb:260:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/cookies.rb:670:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/ldp_cache.rb:26:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/flipflop-2.7.1/lib/flipflop/feature_cache.rb:12:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/callbacks.rb:98:in `run_callbacks'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/railties-5.2.8.1/lib/rails/rack/logger.rb:38:in `call_app'
/usr/local/rvm/gems/ruby-2.6.5/gems/railties-5.2.8.1/lib/rails/rack/logger.rb:26:in `block in call'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/tagged_logging.rb:71:in `block in tagged'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/tagged_logging.rb:28:in `tagged'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/tagged_logging.rb:71:in `tagged'
/usr/local/rvm/gems/ruby-2.6.5/gems/railties-5.2.8.1/lib/rails/rack/logger.rb:26:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/request_store-1.5.1/lib/request_store/middleware.rb:19:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/request_id.rb:27:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/rack-2.2.8/lib/rack/method_override.rb:24:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/rack-2.2.8/lib/rack/runtime.rb:22:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/activesupport-5.2.8.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/actionpack-5.2.8.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/rack-2.2.8/lib/rack/sendfile.rb:110:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/railties-5.2.8.1/lib/rails/engine.rb:524:in `call'
/usr/local/rvm/gems/ruby-2.6.5/gems/passenger-6.0.19/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:107:in `process_request'
/usr/local/rvm/gems/ruby-2.6.5/gems/passenger-6.0.19/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:157:in `accept_and_process_next_request'
/usr/local/rvm/gems/ruby-2.6.5/gems/passenger-6.0.19/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:110:in `main_loop'
/usr/local/rvm/gems/ruby-2.6.5/gems/passenger-6.0.19/src/ruby_supportlib/phusion_passenger/request_handler.rb:419:in `block (3 levels) in start_threads'
/usr/local/rvm/gems/ruby-2.6.5/gems/passenger-6.0.19/src/ruby_supportlib/phusion_passenger/utils.rb:113:in `block in create_thread_and_abort_on_exception'
bkiahstroud commented 1 month ago

PR:

bkiahstroud commented 3 weeks ago

The PR was merged on Aug 8