I preferiti badge non funzionano per alcuni utenti - Ricevono un pop-up che dice "FAILED"

Sto riscontrando un problema con un utente che non riesce a selezionare i propri preferiti. Ho trovato alcuni articoli e pull request che corrispondono a questo errore, ma risalgono a due anni fa e le richieste di merge erano già state implementate. Quindi sembra essere un altro problema.

Non riguarda tutti gli utenti, ma questo utente ha due preferiti per i suoi badge. Ogni badge ha più di un risultato raggiunto. Quando clicco su preferito, appare solo un popup che dice “fallito”.

La console di Chrome indica che riceviamo un errore 400 dal nostro URL /user_badges/17307/toggle_favorite.

Avete qualche idea su come risolvere questo problema? Non funziona né sull’app né sul browser.

Argomento Simile: "FAILED" error selecting Favorite badges

Tuttavia, cliccare due volte non ha funzionato per questo errore.

Ciao @Josiah_Philipsen :slight_smile:

Sei riuscito a risolvere definitivamente?

Potrebbe esserci una causa qui. Per riferimento, sono un utente sul Roblox DevForum che utilizza la versione 3.0.3, non un amministratore, e sto riscontrando il problema descritto qui. Ho scritto un breve resoconto lì cercando di risolverlo da solo, ma copierò/incollerò la parte pertinente:

Sono stato in grado di selezionare i miei badge preferiti molto tempo fa quando avevo quelli individuali, ma ora che ho copie impilate non posso più deselezionarli, quindi forse è dovuto all’ottenimento di più copie dopo averle preferite, poiché ogni badge è unico indipendentemente da quante duplicati si ottengono? Questa è la mia attuale motivazione, ma ovviamente senza poter esaminare l’installazione effettiva di Discourse non posso provarlo.

Ho preferito i badge Great Topic e Good Topic molto tempo fa quando avevo copie singole, ma ora ne ho ottenute 2 e 4 rispettivamente. Quando tento di rimuoverli dai preferiti, si verifica la risposta generica FAILED. Altri utenti che non hanno preferito badge possono aggiungerli e rimuoverli dai preferiti a volontà, il che indica che questo problema è causato dall’aggiunta di badge dello stesso tipo già preferiti, e che tali copie contano nel totale dei tuoi preferiti, quindi un’asserzione sta fallendo.

Guardando toggle_favorite per questa versione, l’unica asserzione relativa al conteggio dei badge è:

if !user_badge.is_favorite &&
     user_badges.select(:badge_id).distinct.where(is_favorite: true).count >=
       SiteSetting.max_favorite_badges
  return render json: failed_json, status: 400
end

Inizialmente l’ho scartata perché user_badge.is_favorite dovrebbe essere vero qui, ma ora sto iniziando a pensare che a causa delle copie extra non siano considerati preferiti…

Se questo è stato risolto in una versione più recente, mi scuso per averlo ripreso, ma gli amministratori laggiù stanno cercando di risolverlo ed è stata una causa persa, quindi sto cercando di attirare l’attenzione qui per rendere più facile per loro risolverlo o aggiornare Discourse.

1 Mi Piace