500-Fehler für TL0 Instagram- & YouTube-Link-Posts

Also bin ich auf einen seltsamen Fehler gestoßen.

Dies betrifft eine Testinstanz, die auf tests-passed läuft (der Fehler trat sowohl auf beta als auch auf tests-passed auf). Ich habe versucht, alle Plugins außer dem Docker-Manager zu deinstallieren und alle Theme-Komponenten zu entfernen.

Ich habe von Stable auf Beta und dann auf tests-passed aktualisiert. Ein Hinweis könnte sein, dass zwei alte Beiträge des regulären Testbenutzerkontos nach dem Update vom System als zu viele Verweise auf dieselben Domains markiert wurden.

Wenn ich versuche, mit dem TL0-Konto zu posten, kann ich Oneboxen von Twitter und Reddit ohne Probleme erstellen. Instagram- und YouTube-Links führen jedoch zu einem 500-Fehler. Wenn ich das Vertrauenslevel des Kontos auf TL1 erhöhe, werden die Links problemlos gepostet (und wenn ich es wieder auf TL0 zurücksetze, tritt weiterhin ein 500-Fehler auf).

Außerdem verschwindet der 500-Fehler für den TL0-Benutzer, wenn ich YouTube und Instagram zu den erlaubten Spam-Domains (allowed_spam_host_domains) hinzufüge.

Log - Info:

NoMethodError (undefined method `title' for nil:NilClass)
lib/post_action_creator.rb:264:in `create_message_creator'
lib/post_action_creator.rb:91:in `perform'
lib/post_action_creator.rb:18:in `create'
app/models/user.rb:1073:in `block in flag_linked_posts_as_spam'
app/models/user.rb:1066:in `flag_linked_posts_as_spam'
lib/new_post_manager.rb:284:in `perform_create_post'
lib/new_post_manager.rb:216:in `perform'
app/controllers/posts_controller.rb:180:in `create'
app/controllers/application_controller.rb:357:in `block in with_resolved_locale'
app/controllers/application_controller.rb:357:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:354: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:22:in `call'
lib/middleware/request_tracker.rb:176:in `call'

Log - Backtrace:

lib/post_action_creator.rb:264:in `create_message_creator'

lib/post_action_creator.rb:91:in `perform'

lib/post_action_creator.rb:18:in `create'

app/models/user.rb:1073:in `block in flag_linked_posts_as_spam'

activerecord (6.0.3.3) lib/active_record/relation/delegation.rb:87:in `each'

activerecord (6.0.3.3) lib/active_record/relation/delegation.rb:87:in `each'

app/models/user.rb:1066:in `flag_linked_posts_as_spam'

lib/new_post_manager.rb:284:in `perform_create_post'

lib/new_post_manager.rb:216:in `perform'

app/controllers/posts_controller.rb:180:in `create'

actionpack (6.0.3.3) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

actionpack (6.0.3.3) lib/abstract_controller/base.rb:195:in `process_action'

actionpack (6.0.3.3) lib/action_controller/metal/rendering.rb:30:in `process_action'

actionpack (6.0.3.3) lib/abstract_controller/callbacks.rb:42:in `block in process_action'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:112:in `block in run_callbacks'

app/controllers/application_controller.rb:357:in `block in with_resolved_locale'

i18n (1.8.5) lib/i18n.rb:313:in `with_locale'

app/controllers/application_controller.rb:357:in `with_resolved_locale'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:121:in `block in run_callbacks'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:139:in `run_callbacks'

actionpack (6.0.3.3) lib/abstract_controller/callbacks.rb:41:in `process_action'

actionpack (6.0.3.3) lib/action_controller/metal/rescue.rb:22:in `process_action'

actionpack (6.0.3.3) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'

activesupport (6.0.3.3) lib/active_support/notifications.rb:180:in `block in instrument'

activesupport (6.0.3.3) lib/active_support/notifications/instrumenter.rb:24:in `instrument'

activesupport (6.0.3.3) lib/active_support/notifications.rb:180:in `instrument'

actionpack (6.0.3.3) lib/action_controller/metal/instrumentation.rb:32:in `process_action'

actionpack (6.0.3.3) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'

activerecord (6.0.3.3) lib/active_record/railties/controller_runtime.rb:27:in `process_action'

actionpack (6.0.3.3) lib/abstract_controller/base.rb:136:in `process'

actionview (6.0.3.3) lib/action_view/rendering.rb:39:in `process'

rack-mini-profiler (2.2.0) lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'

actionpack (6.0.3.3) lib/action_controller/metal.rb:190:in `dispatch'

actionpack (6.0.3.3) lib/action_controller/metal.rb:254:in `dispatch'

actionpack (6.0.3.3) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'

actionpack (6.0.3.3) lib/action_dispatch/routing/route_set.rb:33:in `serve'

actionpack (6.0.3.3) lib/action_dispatch/journey/router.rb:49:in `block in serve'

actionpack (6.0.3.3) lib/action_dispatch/journey/router.rb:32:in `each'

actionpack (6.0.3.3) lib/action_dispatch/journey/router.rb:32:in `serve'

actionpack (6.0.3.3) lib/action_dispatch/routing/route_set.rb:834:in `call'

lib/middleware/omniauth_bypass_middleware.rb:68: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'

lib/content_security_policy/middleware.rb:12:in `call'

lib/middleware/anonymous_cache.rb:354: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.0.3.3) lib/action_dispatch/middleware/cookies.rb:648:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:101:in `run_callbacks'

actionpack (6.0.3.3) lib/action_dispatch/middleware/callbacks.rb:26:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'

logster (2.9.4) lib/logster/middleware/reporter.rb:43:in `call'

railties (6.0.3.3) lib/rails/rack/logger.rb:37:in `call_app'

railties (6.0.3.3) 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.0.3.3) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/request_id.rb:27:in `call'

lib/middleware/enforce_hostname.rb:22:in `call'

rack (2.2.3) lib/rack/method_override.rb:24:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/executor.rb:14:in `call'

rack (2.2.3) lib/rack/sendfile.rb:110:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/host_authorization.rb:76:in `call'

rack-mini-profiler (2.2.0) lib/mini_profiler/profiler.rb:246:in `call'

message_bus (3.3.4) lib/message_bus/rack/middleware.rb:61:in `call'

lib/middleware/request_tracker.rb:176:in `call'

railties (6.0.3.3) lib/rails/engine.rb:527:in `call'

railties (6.0.3.3) lib/rails/railtie.rb:190:in `public_send'

railties (6.0.3.3) lib/rails/railtie.rb:190: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 (5.7.0) lib/unicorn/http_server.rb:632:in `process_client'

unicorn (5.7.0) lib/unicorn/http_server.rb:728:in `worker_loop'

unicorn (5.7.0) lib/unicorn/http_server.rb:548:in `spawn_missing_workers'

unicorn (5.7.0) lib/unicorn/http_server.rb:144:in `start'

unicorn (5.7.0) bin/unicorn:128:in `<top (required)>'

vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'

vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<main>'

Ich kann dieses Problem in der neuesten Discourse-Version nicht reproduzieren.

Könntest du versuchen, deine Discourse-Instanz auf die neueste Version zu aktualisieren und dies im abgesicherten Modus zu testen? Falls das Problem weiterhin besteht, prüfe bitte, ob du relevante Einstellungen geändert hast.

4 „Gefällt mir“

Danke für die Antwort, @techAPJ. Ich vermute, dass es damit zusammenhängt, dass neue Benutzer Links zur gleichen Domain posten, die den „newuser spam host threshold

2 „Gefällt mir“

Bei genauerer Betrachtung… scheint dies kein Fehler zu sein, sondern das beabsichtigte Verhalten.

Neue Benutzer dürfen nicht zu viele Links desselben Hosts posten. Falls ein Administrator dieses Verhalten überschreiben möchte, kann dies durch Anpassung der Site-Einstellungen newuser_spam_host_threshold und allowed_spam_host_domains erfolgen.

Dies spiegelt sich auch in der Staff-Nachricht wider, die wir senden, wenn ein Beitrag aufgrund wiederholter Links blockiert wird:

2 „Gefällt mir“

Dieses Thema wurde nach 23 Stunden automatisch geschlossen. Neue Antworten sind nicht mehr erlaubt.