NoMethodError méthode non définie `chat_sound' avec chat désactivé

Je vais attendre avant de déplacer ceci dans Bug, car il s’agit d’une installation non standard, mais l’image est construite avec le lanceur (puis lancée avec Fargate dans ECS derrière un équilibreur de charge), donc il semble que ce ne soit probablement pas à cause de l’installation. Cela dit, il y a beaucoup de choses étranges sur ce site, mais j’ai pensé le signaler au cas où cela pourrait poser problème à d’autres.

En essayant de me connecter avec un lien d’administrateur, j’obtiens ceci :

Started POST "/session/email-login/657e8390c8dec98db8cac2feaef96dcf" for 98.46.117.40 at 2022-11-08 18:46:08 +0000
Processing by SessionController#email_login as */*
  Parameters: {"second_factor_method"=>"1", "timezone"=>"America/Chicago", "token"=>"657e8390c8dec98db8cac2feaef96dcf"}
Completed 500 Internal Server Error in 107ms (ActiveRecord: 0.0ms | Allocations: 18703)
NoMethodError (undefined method `chat_sound' for #<UserOption:0x00007f748870c1d8>)
(eval):39:in `_fast_attributes'
lib/freedom_patches/ams_include_without_root.rb:57:in `include!'
app/models/web_hook.rb:109:in `generate_payload'
app/models/web_hook.rb:63:in `enqueue_object_hooks'
config/initializers/012-web_hook_events.rb:54:in `block (2 levels) in <main>'
lib/discourse_event.rb:14:in `block in trigger'
lib/discourse_event.rb:13:in `trigger'
app/models/email_token.rb:71:in `block in confirm'
app/models/email_token.rb:57:in `confirm'
app/controllers/session_controller.rb:373:in `email_login'
app/controllers/application_controller.rb:413:in `block in with_resolved_locale'
app/controllers/application_controller.rb:413:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:368: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:202:in `call'

Je suis allé dans le conteneur et j’ai fait cd /var/www/discourse/plugins;rm -rf chat; sv restart unicorn et j’ai ensuite pu me connecter.

J’ai vérifié que la base de données avait été migrée (bien qu’elle ait fonctionné un peu avant d’être migrée). Le plugin Retort a également été installé ici à un moment donné (mais ne l’est plus).

Chat était désactivé, donc il semble que si quelqu’un d’autre peut reproduire cela, cela ressemble à un bug assez grave, car la seule façon de le corriger est de modifier le conteneur en cours d’exécution.

Je viens de construire cette image il y a environ une heure. <meta name="generator" content="Discourse 2.9.0.beta11 - https://github.com/discourse/discourse version d2ea39c932ec3ec07cbb7362c64ff3fb97c54a4a">

Je vois chat_sound dans la table user_options. Et u.user_option.chat_sound renvoie nil lorsque je le fais depuis rails (oh, mais c’est après avoir supprimé le plugin).

Je n’ai jamais entendu parler de quelque chose comme ça. Je préfère peut-être attendre un autre rapport avant de creuser cela.

1 « J'aime »

Ça semble correct. Je vais créer et lancer une nouvelle image demain et voir si je peux la reproduire.

1 « J'aime »

Merci ! Ce serait utile !

1 « J'aime »

Eh bien, quoi que ce soit. C’est parti. :person_shrugging:

J’ai déployé la même image ce matin et ça a marché. Tout ce que je peux supposer, c’est que d’une manière ou d’une autre la base de données n’a pas été entièrement migrée ou quelque chose comme ça, mais ça avait l’air vraiment mal pendant quelques minutes.

1 « J'aime »

Merci d’avoir revérifié !

1 « J'aime »

Ayant pleuré au sujet d’un autre loup, c’était le moins que je puisse faire.

1 « J'aime »

Pas de souci, il est également possible que vous ayez rencontré un problème réel, nous avons eu des erreurs dans certaines migrations ces derniers jours, donc cela vous a peut-être causé des problèmes pendant cette période.

1 « J'aime »