# Erreur 500 lors de l'approbation d'un message révisable après avoir modifié les tags dans /review (tags sauvegardés comme objets, pas des chaînes)

**URL:** https://meta.discourse.org/t/500-error-when-approving-a-reviewable-post-after-editing-tags-in-review-tags-saved-as-objects-not-strings/395014
**Category:** Bug
**Tags:** tags, review-queue, bug
**Created:** [Février 3, 2026, 8:51 UTC](https://meta.discourse.org/t/500-error-when-approving-a-reviewable-post-after-editing-tags-in-review-tags-saved-as-objects-not-strings/395014 "2026-02-03T08:51:38Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![TheBaby5](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thebaby5/32/178897_2.png) [@TheBaby5](https://meta.discourse.org/u/TheBaby5)
#### Post date: [Février 3, 2026, 8:51 UTC](https://meta.discourse.org/t/500-error-when-approving-a-reviewable-post-after-editing-tags-in-review-tags-saved-as-objects-not-strings/395014/1 "2026-02-03T08:51:38Z")

</div>

## Résumé

Dans la file d’attente de révision (`/review`), si un modérateur modifie les étiquettes (tags) d’une publication en attente, puis clique sur **Approuver** , la demande d’approbation échoue avec une **Erreur interne du serveur 500**.

 ![image](https://global.discourse-cdn.com/meta/original/4X/4/9/d/49d1785f1e3c3a22dfb90a981cccb990c720f95b.png)

* * *

## Étapes pour Reproduire

1. Assurez-vous qu’une publication est en attente dans la file d’attente de révision (par exemple, d’un utilisateur/groupe nécessitant une approbation).
2. Allez à `/review`.
3. Ouvrez l’élément en file d’attente.
4. Modifiez les étiquettes à l’aide de l’interface utilisateur du sélecteur d’étiquettes.
5. Cliquez sur **Approuver**.
6. Observez une réponse **500**.

* * *

## Comportement Attendu

La publication doit être approuvée avec succès, les étiquettes mises à jour étant appliquées.

* * *

## Comportement Actuel

L’approbation échoue avec une erreur 500.

Modèle de requête d’exemple :

```plaintext
PUT /review/{id}/perform/approve_post?version={x} → 500 (Internal Server Error)

```

* * *

## Ce qui semble se passer (Cause Racine)

Après avoir modifié les étiquettes dans l’interface utilisateur de révision, la charge utile (payload) de l’élément révisable stocke des **objets d’étiquettes complets** au lieu de **chaînes de noms d’étiquettes**.

**Avant de modifier les étiquettes :**

```ruby
payload["tags"] = ["tag-one", "tag-two"]

```

**Après avoir modifié les étiquettes dans `/review` :**

```ruby
payload["tags"] = [
  {"id"=>123, "name"=>"tag-one", "description"=>nil, "count"=>50, ...},
  {"id"=>456, "name"=>"tag-two", "description"=>nil, "count"=>30, ...}
]

```

Lorsque l’action d’approbation traite les étiquettes, elle semble s’attendre à des chaînes, mais reçoit des hachages/objets, ce qui entraîne l’erreur 500.

* * *

## Solution de Contournement

Normaliser les étiquettes pour revenir aux noms :

```ruby
r = ReviewableQueuedPost.find(ID)
r.payload["tags"] = r.payload["tags"].map { |t| t.is_a?(Hash) ? t["name"] : t }
r.save!

```

* * *

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [Février 3, 2026, 9:09 UTC](https://meta.discourse.org/t/500-error-when-approving-a-reviewable-post-after-editing-tags-in-review-tags-saved-as-objects-not-strings/395014/3 "2026-02-03T09:09:44Z")

</div>

Merci d’avoir signalé le problème. Nous allons examiner cela.

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [Février 3, 2026, 1:57 UTC](https://meta.discourse.org/t/500-error-when-approving-a-reviewable-post-after-editing-tags-in-review-tags-saved-as-objects-not-strings/395014/4 "2026-02-03T13:57:00Z")

</div>

Ceci sera corrigé dans [FIX: Cater for reviewable tag payloads that have been saved as names by nattsw · Pull Request #37477 · discourse/discourse · GitHub](https://github.com/discourse/discourse/pull/37477). J’apprécie beaucoup le signalement rapide du bogue.

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [Février 7, 2026, 12:00 UTC](https://meta.discourse.org/t/500-error-when-approving-a-reviewable-post-after-editing-tags-in-review-tags-saved-as-objects-not-strings/395014/5 "2026-02-07T00:00:25Z")

</div>

Ce sujet a été automatiquement fermé après 2 jours. Les nouvelles réponses ne sont plus autorisées.
