التعديلات غير مرئية وتتوقف عن العمل

الخلفية: تمت ترقية مثيل Discourse الخاص بي إلى الإصدار 3.3.1 قبل بضعة أسابيع. لاحظت أنا والمشرفون لدينا أن منتدياتنا تتعطل حاليًا عند محاولة تحميل تعديلات المشاركات كما هو موضح أدناه:

هل هناك مكان جيد للنظر فيه لمعرفة أين قد يحدث هذا الخطأ في وحدة تحكم البرنامج؟ يسعدني جدًا تقديم السجلات.

نعم، أشك في أنه عند تسجيل الدخول، يجب أن يعرض forum.example.com/logs الأخطاء.

3 إعجابات

هذا هو الخطأ الوحيد الذي تمكنت من رؤيته في سجلاتنا:

Psych::DisallowedClass (Tried to dump unspecified class: ActiveRecord::Associations::CollectionProxy) app/serializers/post_revision_serializer.rb:246:in `block in all_revisions' app/serializers/post_r 

/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:571:in `accept'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:360:in `block in visit_Enumerator'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:360:in `each'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:360:in `visit_Enumerator'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:352:in `visit_Array'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:135:in `accept'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:574:in `accept'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:331:in `block in visit_Hash'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:329:in `each'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:329:in `visit_Hash'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:135:in `accept'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:574:in `accept'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:117:in `push'
/usr/local/lib/ruby/3.3.0/psych.rb:585:in `safe_dump'
activerecord (7.1.3.4) lib/active_record/coders/yaml_column.rb:19:in `dump'
activerecord (7.1.3.4) lib/active_record/coders/column_serializer.rb:26:in `dump'
activerecord (7.1.3.4) lib/active_record/type/serialized.rb:29:in `serialize'
activemodel (7.1.3.4) lib/active_model/type/helpers/mutable.rb:8:in `cast'
activemodel (7.1.3.4) lib/active_model/attribute.rb:199:in `type_cast'
activemodel (7.1.3.4) lib/active_model/attribute.rb:43:in `value'
activemodel (7.1.3.4) lib/active_model/attribute_set.rb:51:in `fetch_value'
activerecord (7.1.3.4) lib/active_record/attribute_methods/read.rb:51:in `_read_attribute'
activemodel (7.1.3.4) lib/active_model/attribute_methods.rb:286:in `modifications'
app/serializers/post_revision_serializer.rb:246:in `block in all_revisions'
app/serializers/post_revision_serializer.rb:241:in `each'
app/serializers/post_revision_serializer.rb:241:in `all_revisions'
app/serializers/post_revision_serializer.rb:202:in `revisions'
app/serializers/post_revision_serializer.rb:265:in `previous'
app/serializers/post_revision_serializer.rb:46:in `previous_hidden'
(eval at active_model_serializers-0.8.4/lib/active_model/serializer.rb:467):5:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:456:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
activesupport (7.1.3.4) lib/active_support/json/encoding.rb:23:in `encode'
activesupport (7.1.3.4) lib/active_support/json/encoding.rb:23:in `encode'
activesupport (7.1.3.4) lib/active_support/core_ext/object/json.rb:42:in `to_json'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:331:in `to_json'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapter.rb:25:in `dump'
multi_json (1.15.0) lib/multi_json.rb:139:in `dump'
app/controllers/application_controller.rb:528:in `render_json_dump'
app/controllers/posts_controller.rb:459:in `latest_revision'
actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
plugins/discourse-staff-alias/lib/discourse_staff_alias/posts_controller_extension.rb:26:in `block (2 levels) in <module:PostsControllerExtension>'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `instance_exec'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n (1.14.5) lib/i18n.rb:351:in `with_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in `process_action'
activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in `process'
actionview (7.1.3.4) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'

actionpack (7.1.3.4) lib/action_controller/metal.rb:227:in `dispatch'
actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in `block in serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in `block in find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `each'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882:in `call'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.9) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.9) lib/rack/head.rb:12:in `call'
actionpack (7.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:393:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.9) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.9) lib/rack/method_override.rb:24:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.9) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:360:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in `call'
railties (7.1.3.4) lib/rails/engine.rb:536:in `call'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `public_send'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `me

لست متأكدًا تمامًا مما إذا كان هذا مرتبطًا، إنه فقط أحدث خطأ تمكنت من العثور عليه. أتساءل عما إذا كان هناك مكان يمكنه تشغيل التسجيل عند سحب شاشات التعديل لأنه لا يسجل هذه، بل يبدو وكأنه مهلة من جانب العميل. يشير مفتش المتصفح إلى أنه خطأ 500، هل هذا شيء يمكنني إصلاحه من جانب الخادم؟

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

هل هناك أي إضافات غير رسمية مثبتة على نسختك (إذا كان الأمر كذلك، فما هي؟)، أشك في أن شيئًا ما قد يعدل طريقة تسلسل التعديلات لدينا.

الخبر السار هو أن هذا ليس مهلة، بل هو مجرد خطأ، لكننا نريد مساعدتك في حل المشكلة.

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

نعم، عدد قليل ولكن هذه كانت موجودة بين الترقيات على المنتدى (ليس أن ذلك لا يمكن أن يسبب مشاكل، فقط أنها كلها موجودة منذ فترة)

 # رسمي
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-oauth2-basic.git
          - git clone https://github.com/discourse/discourse-chat-integration.git
          - git clone https://github.com/discourse/discourse-staff-notes.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/discourse/discourse-docs.git
          - git clone https://github.com/discourse/discourse-encrypt.git
          - git clone https://github.com/discourse/discourse-calendar.git
          - git clone https://github.com/discourse/discourse-rss-polling.git
          - git clone https://github.com/discourse/discourse-category-experts.git
          - git clone https://github.com/discourse/discourse-staff-alias.git
          - git clone https://github.com/discourse/discourse-templates.git
          - git clone https://github.com/discourse/discourse-automation.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-post-voting.git
          - git clone https://github.com/discourse/discourse-policy.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/discourse/discourse-restricted-replies.git
          - git clone https://github.com/discourse/discourse-teambuild.git
          - git clone https://github.com/discourse/discourse-bbcode.git
          - git clone https://github.com/discourse/discourse-shared-edits.git
          - git clone https://github.com/discourse/discourse-github.git
          - git clone https://github.com/discourse/discourse-assign.git
          - git clone https://github.com/discourse/discourse-saved-searches.git
          - git clone https://github.com/discourse/discourse-signatures.git
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/discourse-custom-topic-lists.git
          - git clone https://github.com/discourse/discourse-lti.git
          # طرف ثالث 
          ## ردود
          - git clone https://github.com/gdpelican/retort.git
          ## Communiteq
          - git clone https://github.com/communiteq/discourse-private-replies.git
          - git clone https://github.com/communiteq/discourse-private-topics.git
          - git clone https://github.com/communiteq/discourse-category-restrictor.git
          ## NetGamers
          - git clone https://github.com/netgamers-forum/discourse-category-mod-enhancer.git
          ## Pavilion Coop
          - git clone https://github.com/paviliondev/discourse-custom-wizard.git
          - git clone https://github.com/paviliondev/discourse-tickets.git
          - git clone https://github.com/paviliondev/discourse-landing-pages.git
          - git clone https://github.com/paviliondev/discourse-journal.git

تم تثبيت إضافة Retorts ولكن لم يتم تمكينها، لقد انتقلنا إلى إضافة التفاعلات الرسمية وكان لدينا ذلك لترحيل البيانات القديمة في وقت سابق من هذا العام عندما قمنا بالتبديل أخيرًا.

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

لا أعتقد أن التمكين/التعطيل كافٍ. يجب عليك التعليق عليه. أو حذف هذا السطر.

6 إعجابات

من المرجح أن يكون اسم مستعار للموظفين ولكننا سنحقق في الأمر.

هذا لا يثبت شيئًا ولكني أستخدم اسمًا مستعارًا للموظفين دون مثل هذه المشكلات.

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

نعم، لست متأكدًا في هذه المرحلة، إنها staff-alias، ولكن القليل من الأدلة تجعلها منافسًا جيدًا. ومع ذلك، يمكن أن تكون موجودة فقط في تتبع المكدس دون أن تكون مصدر المشكلة.

يسعدني تقديم سجلات مفصلة إذا كنت بحاجة إليها!

مخطط له في نافذة الصيانة التالية!

هل يمكنك إعادة البناء بدونها؟ في بعض الأحيان يمكن للإضافات أن تتلاعب بالأشياء بشكل غير صحيح حتى في حالة معطلة، خاصة القديمة المعطلة.

@cmahns تم دمج الإصلاح، شكرًا على التقرير!

إعجابَين (2)

تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام من آخر رد. لم يعد يُسمح بالردود الجديدة.