المستخدمون غير قادرين على تسجيل الدخول عند انتهاء صلاحية الدعوة

Hi Team,

I think I’ve found a bug (or a regression) concerning invitations for users (version v2.8.0.beta11), let me explain the steps to reproduce it:

  1. Send an invitation to the user user@company.com. (user@company.com does not exist in the forum).
  2. User does not accept the invitation, but instead logins in by going to the Log In button. (by using discourse/discourse-oauth2-basic: A basic OAuth2 plugin for use with Discourse (github.com)).
  3. Invitation expires.
  4. User cannot login anymore by getting the following pic:

Workaround

Deleting the invitation under the following window makes the trick, allowing the user to login in again without any issue:

Logs

info

ActiveRecord::RecordInvalid (Validation failed: There's no need to invite <b>user@company.com</b>, they <a href='/u/user/summary'>already have an account!</a>)
app/models/invite.rb:242:in `invalidate_for_email'
app/controllers/users/omniauth_callbacks_controller.rb:182:in `user_found'
app/controllers/users/omniauth_callbacks_controller.rb:128:in `complete_response_data'
app/controllers/users/omniauth_callbacks_controller.rb:73:in `complete'
app/controllers/application_controller.rb:387:in `block in with_resolved_locale'
app/controllers/application_controller.rb:387:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:50:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:354:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:198:in `call'

backtrace

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:639:in `block in update!'
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: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:350:in `with_transaction_returning_status'
activerecord (6.1.4.1) lib/active_record/persistence.rb:637:in `update!'
app/models/invite.rb:242:in `invalidate_for_email'
app/controllers/users/omniauth_callbacks_controller.rb:182:in `user_found'
app/controllers/users/omniauth_callbacks_controller.rb:128:in `complete_response_data'
app/controllers/users/omniauth_callbacks_controller.rb:73:in `complete'
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'
app/controllers/application_controller.rb:387:in `block in with_resolved_locale'
i18n (1.8.11) lib/i18n.rb:314:in `with_locale'
app/controllers/application_controller.rb:387: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:85: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'
omniauth (1.9.1) lib/omniauth/strategy.rb:420:in `call_app!'
omniauth (1.9.1) lib/omniauth/strategy.rb:373:in `callback_phase'
omniauth-oauth2 (1.7.2) lib/omniauth/strategies/oauth2.rb:93:in `callback_phase'
omniauth (1.9.1) lib/omniauth/strategy.rb:238:in `callback_call'
omniauth (1.9.1) lib/omniauth/strategy.rb:189:in `call!'
omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
omniauth (1.9.1) lib/omniauth/builder.rb:45:in `call'
lib/middleware/omniauth_bypass_middleware.rb:50:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:27: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'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:354:in `call'
config/initializers/008-rack-cors.rb:25: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.10.1) 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'
config/initializers/100-quiet_logger.rb:23:in `call'
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'
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'
plugins/discourse-prometheus/lib/middleware/metrics.rb:17:in `call'
rack-mini-profiler (2.3.3) lib/mini_profiler/profiler.rb:249:in `call'
message_bus (4.0.0) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:198: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.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `loa

Cheers,
Ismael

إعجاب واحد (1)

فضولي، هل يوجد شيء في /logs عندما يحدث هذا؟

إعجاب واحد (1)

مرحباً سام،

نعم، لقد أرفقت في الرسالة أعلاه تتبع المكدس (stacktrace)، المتعلق برسالة خطأ في /logs تبدأ بـ:

ActiveRecord::RecordInvalid (Validation failed: There's no need to invite <b>user@company.com</b>, they <a href='/u/<user>/summary'>already have an account!</b>)

وهناك أيضًا رسالة تحذير مع ما يلي:

علامة التبويب info

Failed to handle exception in exception app middleware : Validation failed: There's no need to invite <b>user@company.com</b>, they <a href='/u/<user>/summary'>already have an account!</b>

backtrace

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:639:in `block in update!'
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: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:350:in `with_transaction_returning_status'
activerecord-6.1.4.1/lib/active_record/persistence.rb:637:in `update!'
/discourse/app/models/invite.rb:242:in `invalidate_for_email'
/discourse/app/controllers/users/omniauth_callbacks_controller.rb:182:in `user_found'
/discourse/app/controllers/users/omniauth_callbacks_controller.rb:128:in `complete_response_data'
/discourse/app/controllers/users/omniauth_callbacks_controller.rb:73:in `complete'
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'
/discourse/app/controllers/application_controller.rb:387:in `block in with_resolved_locale'
i18n-1.8.11/lib/i18n.rb:314:in `with_locale'
/discourse/app/controllers/application_controller.rb:387: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:85: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'
omniauth-1.9.1/lib/omniauth/strategy.rb:420:in `call_app!'
omniauth-1.9.1/lib/omniauth/strategy.rb:373:in `callback_phase'
omniauth-oauth2-1.7.2/lib/omniauth/strategies/oauth2.rb:93:in `callback_phase'
omniauth-1.9.1/lib/omniauth/strategy.rb:238:in `callback_call'
omniauth-1.9.1/lib/omniauth/strategy.rb:189:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/strategy.rb:192:in `call!'
omniauth-1.9.1/lib/omniauth/strategy.rb:169:in `call'
omniauth-1.9.1/lib/omniauth/builder.rb:45:in `call'
/discourse/lib/middleware/omniauth_bypass_middleware.rb:50:in `call'
rack-2.2.3/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.3/lib/rack/conditional_get.rb:27: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'
/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/discourse/lib/middleware/anonymous_cache.rb:354:in `call'
/discourse/config/initializers/008-rack-cors.rb:25: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.10.1/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'
/discourse/config/initializers/100-quiet_logger.rb:23:in `call'
/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'
/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'
/discourse/plugins/discourse-prometheus/lib/middleware/metrics.rb:17:in `call'
rack-mini-profiler-2.3.3/lib/mini_profiler/profiler.rb:249:in `call'
message_bus-4.0.0/lib/message_bus/rack/middleware.rb:60:in `call'
/discourse/lib/middleware/request_tracker.rb:198: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.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/discourse/vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `load'
/discourse/vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `<main>'

مع خالص التقدير،
إسماعيل

إعجابَين (2)

لم أتمكن من إعادة إنتاج هذه المشكلة، قد يكون ذلك بسبب تفصيل أغفلته أو أنه تم إصلاحه بالفعل بواسطة هذا الالتزام:

متى كانت آخر مرة قمت فيها بالتحديث؟

3 إعجابات

اكتشاف جيد، في حالتنا قمنا بالترقية قبل ذلك بقليل ( FIX: Selected group cleared between emoji uploads (#15581) · discourse/discourse@48f70dc · GitHub)، قبل 7 أيام من الإصلاح المحتمل.

يمكنني التأكيد على ذلك صباح الاثنين على أي حال حيث سنقوم بنشر الإصدار الجديد v2.9.0.beta1 بحلول ذلك الوقت.

شكراً جزيلاً على النظر في الأمر،
إسماعيل

ملاحظة للمستقبل، لإرفاق كل من الإصدار والالتزام المستهدف عند الإبلاغ عن خطأ.

3 إعجابات

إذًا، تم التأكيد على أنه يعمل بشكل صحيح في الإصدار v2.9.0.beta1 الالتزام منع النطاقات فقط عند الوجهة النهائية (#15689) · discourse/discourse@aac9f43 (github.com)، عدة التزامات بعد الإصلاح المحتمل.

للعلم، يمكن لمستخدم غير موجود لديه دعوة منتهية الصلاحية تسجيل الدخول دون أي مشكلة، مما يؤدي إلى إنشاء حساب المستخدم كما هو متوقع.

شكرًا جزيلاً على النظر في هذا الأمر وعلى الإصلاح!

تحياتي،
إسماعيل

إعجابَين (2)