Здесь может быть причина. Для справки: я пользователь на Roblox DevForum с версией 3.0.3, не администратор, и сталкиваюсь с описанной здесь проблемой. Я написал там краткое описание, пытаясь разобраться самостоятельно, но вот relevantная часть:
Раньше я мог выбрать свои любимые значки, когда они были у меня по одному, но теперь, когда у меня есть несколько копий, я больше не могу их отменить. Возможно, это связано с получением дополнительных копий после добавления в избранное, так как каждый значок уникален, независимо от количества дубликатов? Это моё текущее предположение, но, конечно, без возможности проверить саму установку Discourse я не могу это доказать.
Я добавил в избранное значки Great Topic и Good Topic очень давно, когда у меня был по одному экземпляру каждого, но теперь у меня их 2 и 4 соответственно. При попытке убрать из избранного я получаю общий ответ FAILED. Другие пользователи, которые ещё не добавляли значки в избранное, могут добавлять и удалять их по желанию, что указывает на то, что проблема вызвана добавлением значков того же типа, которые уже находятся в избранном, и что эти копии учитываются в общем количестве избранных, из-за чего какая-то проверка не проходит.
Посмотрев на метод toggle_favorite для этой версии, единственная проверка, связанная с количеством значков, выглядит так:
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
Сначала я отбросил эту идею, потому что user_badge.is_favorite должно быть true в этом случае, но теперь я начинаю думать, что из-за дополнительных копий они не считаются добавленными в избранное…
Если это уже исправлено в более новой версии, извините за оживление темы, но администраторы там пытаются разобраться, и это уже стало тупиком, поэтому я пытаюсь привлечь внимание здесь, чтобы им было проще исправить проблему или обновить Discourse.