Description
Lors de la récupération des utilisateurs actifs via l’API, certaines pages de `/admin/users/list/active.json` renvoient une erreur HTTP 500.
Contournement
Si les pages problématiques sont ignorées, les autres pages peuvent être récupérées sans problème.
Erreur
L’erreur serveur ayant provoqué le HTTP 500 :
```ruby
NoMethodError: méthode ‘[]’ non définie pour nil (NoMethodError)
main_user_record\[:silenced_till\]
^^^^^^^^^^^^^^^^
provenant de app/models/user.rb:1335:in `silenced_till’
provenant de active_record/attribute_methods/query.rb:48:in `public_send’
provenant de active_record/attribute_methods/query.rb:48:in `query_attribute’
provenant de active_model/attribute_methods.rb:273:in `silenced_till?’
provenant de app/serializers/admin_user_list_serializer.rb:51:in `include_silenced_till?’
provenant de active_model/serializer.rb:375:in `include?’
…
```
Nos journaux système indiquent que nous avons commencé à rencontrer ces erreurs après notre mise à niveau de Discourse v3.5.1 vers v3.5.2 fin octobre 2025. Les lignes référencées ont été introduites dans FIX: Delegate silenced_till from anonymous user to main user account · Pull Request #32416 · discourse/discourse, comme discuté dans Silenced user can circumvent it entering anonymous mode - #12 by pangbo.
Solution
Je ne suis pas moi-même expert Ruby, mais comme cela semble se produire avec les pages JSON de l’API contenant des utilisateurs qui n’ont pas été actifs depuis les changements de la v3.5.2, je suppose qu’il manque une migration de base de données gérant un cas particulier lié à ce changement.