Les appels API échouent en raison d'un problème avec main_user_record silenced_till

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.

Utilisez-vous la dernière version de Discourse ? Je crois que votre problème a été résolu il y a quelques mois dans

Si vous utilisez toujours la version v3.5.2, c’est là que réside votre problème, car elle est considérablement obsolète et, comme mentionné, le problème pourrait être résolu dans une version plus récente. Essayez de mettre à jour votre site vers une version plus moderne et réessayez.

@zogstrip : Oui, nous exécutons la version 2026.1.3 (la dernière ESR, publiée le 31 mars 2026), et il semble que la correction ait été incluse dans la version 2026.2.0 (et non rétroportée), de sorte que l’ESR actuelle l’a tout juste manquée.