NoMethodError (undefinierte Methode `id' für #

Ich habe diese seit einigen Tagen. Alles scheint zu funktionieren, aber ich weiß sicher nicht, was unter der Haube vor sich geht. Sollte ich mir Sorgen machen oder etwas tun? Kommt es von dem Versuch, einen anonymen Beitrag zu löschen?

Discourse wurde vor etwa 10 Stunden aktualisiert…

Nachricht (16 Kopien gemeldet)

NoMethodError (undefined method `id' for #<Guardian::AnonymousUser:0x00007f5fe7ae9ea0>)
lib/guardian.rb:624:in `is_my_own?'
lib/guardian/post_guardian.rb:262:in `can_delete_post_action?'
app/controllers/application_controller.rb:422:in `block in with_resolved_locale'
app/controllers/application_controller.rb:422:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/middleware/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:387:in `call'
lib/middleware/gtm_script_nonce_injector.rb:10:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:233:in `call'

Backtrace

lib/guardian.rb:624:in `is_my_own?'
lib/guardian/post_guardian.rb:262:in `can_delete_post_action?'
plugins/discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb:230:in `format_like_user'
plugins/discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb:236:in `block in format_likes_users'
activerecord (7.0.7) lib/active_record/relation/delegation.rb:88:in `each'
activerecord (7.0.7) lib/active_record/relation/delegation.rb:88:in `each'
plugins/discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb:236:in `map'
plugins/discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb:236:in `format_likes_users'
plugins/discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb:160:in `post_reactions_users'
actionpack (7.0.7) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

Env

HTTP HOSTS: foorumi.katiska.eu
1 „Gefällt mir“

Ich könnte mich irren, aber es sieht so aus, als hätte ein Nutzer im anonymen Modus Probleme beim Löschen eines Beitrags?

Ich bin ziemlich sicher, dass es keinen solchen Fall gibt. Ich würde wetten, dass es sich um einen automatischen Prozess handelt, der im Hintergrund abläuft, und das verstehe ich auch nicht.

Auf meinem Forum passiert anonymes Posten fast nie und selbst dann waren es normale Benutzer. Es besteht eine geringe Chance, dass ich einige alte und irrelevante Themen gelöscht habe, aber ich kann mich nicht erinnern, dass es dort Anonyme gab. Und ja, mein Forum hat so wenig Traffic, dass ich mich auf meine Erinnerung statt auf SQL verlassen kann :rofl:

Ich hatte einen Benutzer, der aus irgendeinem Grund seine E-Mail nicht bestätigt hat und das System hat sein Konto vor ein paar Tagen gelöscht. Alles, was er tat, war Likes zu geben, sonst nichts. Und jetzt habe ich das Gefühl (sorry, ich kann keine solidere Information geben), dass gleichzeitig Fehler aufgetreten sind.

1 „Gefällt mir“

Es ist irgendwie mit Discourse Reactions verbunden, daher könnte das Geben von Likes relevant sein.

Wie konnten sie interagieren, ohne zuerst ihre E-Mail zu verifizieren/ihr Konto zu aktivieren?

Gute Frage.

Ich hatte Disable Email Verification for Discourse Plugin installiert, aber es war zu diesem Zeitpunkt deaktiviert. Könnte es irgendwie durchsickern? Aber trotzdem… Ich befolge keine gängigen Regeln, weil ich keine Spam-Probleme habe (ein Vorteil, wenn man einer sprachlichen Minderheit angehört…), also gebe ich TL1 sofort nach der Registrierung, das könnte auch Dinge kaputt machen?

Gibt es also etwas, wo ich anfangen kann zu graben? Und die wichtigste Frage: Wird die Welt untergehen, wenn ich nichts tue?

1 „Gefällt mir“

Es hat vielleicht etwas mit der automatischen TL1 zu tun, aber auch mit disable email verification. Ich habe das mehrmals mit demselben Benutzer:

id: 606
username: saja
name: Saja
created_at: 2023-10-28 14:34:13 UTC
trust_level: 1
last_seen_at: 
last_emailed_at:

2.11., 28.10., 12.10. und 27.9. Seltsam ist, dass das Admin-Protokoll keine IP-Adressen für diesen Benutzer anzeigt. Jede andere Löschung für nicht aktivierte Konten zeigt eine IP an.

Es sieht so aus, als ob es irgendwie mit der Einstellung allow_anonymous_likes zusammenhängt.

Ich habe ein wenig herumgespielt, um zu sehen, ob ich denselben Fehler auslösen kann, aber das Betreten des anonymen Modus und das Auslösen einiger Likes/Reaktionen, gefolgt vom Entfernen oder Löschen der Beiträge, hat ihn nicht ausgelöst. Ich habe auch allow_anonymous_likes mitten in der Aktion ausgeschaltet und es gab keinen Konflikt, es hat nur verhindert, dass sie entfernt werden konnten. Es hat auch die Einstellung post undo action window mins respektiert.

Ich bin mir nicht sicher. :thinking:

1 „Gefällt mir“

Hey, tut mir leid, dass es mit meinem Plugin zusammenhängen könnte. Könnten Sie es deaktivieren und sehen, ob das Problem dadurch behoben wird? Ich hatte nicht viel Zeit, daran zu arbeiten, aber wenn es mit meinem Plugin zusammenhängt, lassen Sie es mich bitte wissen und ich werde es mir ansehen. Ich möchte den Benutzern meines Plugins so viel Unterstützung wie möglich bieten.

Ich habe es hier aktiviert und habe keine Probleme, außer den explizit im Thread genannten. (Obwohl ich nicht die automatische TL1 habe, die Sie haben)