Discourse-staff-alias: You can only edit a @alias post as the @alias user

Topics and posts made using discourse-staff-alias can’t be edited and result in a 422 error presented to the user and the following stack in logs:

Stack trace

activerecord-6.1.4.1/lib/active_record/validations.rb:80:in raise_validation_error' activerecord-6.1.4.1/lib/active_record/validations.rb:53:in save!’
activerecord-6.1.4.1/lib/active_record/transactions.rb:302:in block in save!' activerecord-6.1.4.1/lib/active_record/transactions.rb:354:in block in with_transaction_returning_status’
activerecord-6.1.4.1/lib/active_record/connection_adapters/abstract/database_statements.rb:318:in transaction' activerecord-6.1.4.1/lib/active_record/transactions.rb:350:in with_transaction_returning_status’
activerecord-6.1.4.1/lib/active_record/transactions.rb:302:in save!' activerecord-6.1.4.1/lib/active_record/suppressor.rb:48:in save!’
activerecord-6.1.4.1/lib/active_record/persistence.rb:55:in create!' /var/www/discourse/lib/post_revisor.rb:518:in create_revision’
/var/www/discourse/lib/post_revisor.rb:504:in create_or_update_revision' /var/www/discourse/lib/post_revisor.rb:387:in revise’
/var/www/discourse/lib/post_revisor.rb:379:in revise_and_create_new_version' /var/www/discourse/lib/post_revisor.rb:284:in revise_post’
/var/www/discourse/lib/post_revisor.rb:195:in block in revise!' activerecord-6.1.4.1/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in block in transaction’
activerecord-6.1.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:319:in block in within_new_transaction' activesupport-6.1.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize’
activesupport-6.1.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in handle_interrupt' activesupport-6.1.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in block in synchronize’
activesupport-6.1.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in handle_interrupt' activesupport-6.1.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in synchronize’
activerecord-6.1.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:317:in within_new_transaction' activerecord-6.1.4.1/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in transaction’
activerecord-6.1.4.1/lib/active_record/transactions.rb:209:in transaction' /var/www/discourse/lib/post_revisor.rb:194:in revise!’
/var/www/discourse/app/controllers/topics_controller.rb:384:in update' actionpack-6.1.4.1/lib/action_controller/metal/basic_implicit_render.rb:6:in send_action’
actionpack-6.1.4.1/lib/abstract_controller/base.rb:228:in process_action' actionpack-6.1.4.1/lib/action_controller/metal/rendering.rb:30:in process_action’
actionpack-6.1.4.1/lib/abstract_controller/callbacks.rb:42:in block in process_action' activesupport-6.1.4.1/lib/active_support/callbacks.rb:117:in block in run_callbacks’
/var/www/discourse/plugins/discourse-staff-alias/plugin.rb:108:in block (4 levels) in activate!' activesupport-6.1.4.1/lib/active_support/callbacks.rb:126:in instance_exec’
activesupport-6.1.4.1/lib/active_support/callbacks.rb:126:in block in run_callbacks' /var/www/discourse/app/controllers/application_controller.rb:397:in block in with_resolved_locale’
i18n-1.8.10/lib/i18n.rb:314:in with_locale' /var/www/discourse/app/controllers/application_controller.rb:397:in with_resolved_locale’
activesupport-6.1.4.1/lib/active_support/callbacks.rb:126:in block in run_callbacks' activesupport-6.1.4.1/lib/active_support/callbacks.rb:137:in run_callbacks’
actionpack-6.1.4.1/lib/abstract_controller/callbacks.rb:41:in process_action' actionpack-6.1.4.1/lib/action_controller/metal/rescue.rb:22:in process_action’
actionpack-6.1.4.1/lib/action_controller/metal/instrumentation.rb:34:in block in process_action' activesupport-6.1.4.1/lib/active_support/notifications.rb:203:in block in instrument’
activesupport-6.1.4.1/lib/active_support/notifications/instrumenter.rb:24:in instrument' activesupport-6.1.4.1/lib/active_support/notifications.rb:203:in instrument’
actionpack-6.1.4.1/lib/action_controller/metal/instrumentation.rb:33:in process_action' actionpack-6.1.4.1/lib/action_controller/metal/params_wrapper.rb:249:in process_action’
activerecord-6.1.4.1/lib/active_record/railties/controller_runtime.rb:27:in process_action' actionpack-6.1.4.1/lib/abstract_controller/base.rb:165:in process’
actionview-6.1.4.1/lib/action_view/rendering.rb:39:in process' rack-mini-profiler-2.3.3/lib/mini_profiler/profiling_methods.rb:111:in block in profile_method’
actionpack-6.1.4.1/lib/action_controller/metal.rb:190:in dispatch' actionpack-6.1.4.1/lib/action_controller/metal.rb:254:in dispatch’
actionpack-6.1.4.1/lib/action_dispatch/routing/route_set.rb:50:in dispatch' actionpack-6.1.4.1/lib/action_dispatch/routing/route_set.rb:33:in serve’
actionpack-6.1.4.1/lib/action_dispatch/journey/router.rb:50:in block in serve' actionpack-6.1.4.1/lib/action_dispatch/journey/router.rb:32:in each’
actionpack-6.1.4.1/lib/action_dispatch/journey/router.rb:32:in serve' actionpack-6.1.4.1/lib/action_dispatch/routing/route_set.rb:842:in call’
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:71:in call' rack-2.2.3/lib/rack/tempfile_reaper.rb:15:in call’
rack-2.2.3/lib/rack/conditional_get.rb:40:in call' rack-2.2.3/lib/rack/head.rb:12:in call’
actionpack-6.1.4.1/lib/action_dispatch/http/permissions_policy.rb:22:in call' /var/www/discourse/lib/content_security_policy/middleware.rb:12:in call’
/var/www/discourse/lib/middleware/anonymous_cache.rb:355:in call' rack-2.2.3/lib/rack/session/abstract/id.rb:266:in context’
rack-2.2.3/lib/rack/session/abstract/id.rb:260:in call' actionpack-6.1.4.1/lib/action_dispatch/middleware/cookies.rb:689:in call’
actionpack-6.1.4.1/lib/action_dispatch/middleware/callbacks.rb:27:in block in call' activesupport-6.1.4.1/lib/active_support/callbacks.rb:98:in run_callbacks’
actionpack-6.1.4.1/lib/action_dispatch/middleware/callbacks.rb:26:in call' actionpack-6.1.4.1/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in call’
actionpack-6.1.4.1/lib/action_dispatch/middleware/debug_exceptions.rb:29:in call' actionpack-6.1.4.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in call’
logster-2.9.7/lib/logster/middleware/reporter.rb:43:in call' railties-6.1.4.1/lib/rails/rack/logger.rb:37:in call_app’
railties-6.1.4.1/lib/rails/rack/logger.rb:28:in call' /var/www/discourse/config/initializers/100-quiet_logger.rb:23:in call’
/var/www/discourse/config/initializers/100-silence_logger.rb:31:in call' actionpack-6.1.4.1/lib/action_dispatch/middleware/remote_ip.rb:81:in call’
actionpack-6.1.4.1/lib/action_dispatch/middleware/request_id.rb:26:in call' /var/www/discourse/lib/middleware/enforce_hostname.rb:23:in call’
rack-2.2.3/lib/rack/method_override.rb:24:in call' actionpack-6.1.4.1/lib/action_dispatch/middleware/executor.rb:14:in call’
rack-2.2.3/lib/rack/sendfile.rb:110:in call' actionpack-6.1.4.1/lib/action_dispatch/middleware/host_authorization.rb:92:in call’
rack-mini-profiler-2.3.3/lib/mini_profiler/profiler.rb:393:in call' message_bus-3.3.6/lib/message_bus/rack/middleware.rb:61:in call’
/var/www/discourse/lib/middleware/request_tracker.rb:187:in call' railties-6.1.4.1/lib/rails/engine.rb:539:in call’
railties-6.1.4.1/lib/rails/railtie.rb:207:in public_send' railties-6.1.4.1/lib/rails/railtie.rb:207:in method_missing’
rack-2.2.3/lib/rack/urlmap.rb:74:in block in call' rack-2.2.3/lib/rack/urlmap.rb:58:in each’
rack-2.2.3/lib/rack/urlmap.rb:58:in call' unicorn-6.0.0/lib/unicorn/http_server.rb:634:in process_client’
unicorn-6.0.0/lib/unicorn/http_server.rb:732:in worker_loop' unicorn-6.0.0/lib/unicorn/http_server.rb:547:in spawn_missing_workers’
unicorn-6.0.0/lib/unicorn/http_server.rb:143:in start' unicorn-6.0.0/bin/unicorn:128:in <top (required)>’
/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/unicorn:23:in load' /var/www/discourse/vendor/bundle/ruby/2.7.0/bin/unicorn:23:in

If a user is in the required group for ‘staff alias allowed groups’ and so can make post as the alias, shouldn’t it stand that they should also be allowed to edit those posts? Shouldn’t moderators & admins be able to edit them at any time too?