NoMethodError : méthode `chat_sound' non définie lorsque le chat est désactivé

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

En essayant de me connecter via 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 entré dans le conteneur et j’ai exécuté cd /var/www/discourse/plugins;rm -rf chat; sv restart unicorn, après quoi j’ai pu me connecter.

J’ai vérifié que la base de données avait été migrée (bien que la migration ait pris un certain temps avant de s’exécuter). De plus, le plugin Retort avait été installé ici à un moment donné (mais ne l’est plus actuellement).

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

J’ai construit 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 retourne nil lorsque je l’exécute 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.

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

Merci ! Ce serait utile !

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.

Merci d’avoir revérifié !

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

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.