Entiendo que los publicaciones en temas archivados no pueden recibir “me gusta” ni reacciones. Con base en eso, ¿cómo es posible que este post pueda recibir un “me gusta” (en el sentido de que puedes pulsar el corazón, aunque arroje un error que dice “Esa reacción se creó hace demasiado tiempo. Ya no se puede modificar ni eliminar”, lo cual tampoco es correcto)?
De hecho, esto aplica a otras publicaciones en ese tema. Aunque parece que las publicaciones que ya tienen “me gusta” o reacciones no pueden recibirlos en absoluto, aquellas que no tienen ninguno sí pueden, aunque con ese error.
Este comportamiento inconsistente me hace pensar que esto debería estar en Contribute > Bug , ¿no?
Moin
1 Abril, 2026 06:15
2
Creo que es por el plugin reactions . No puedo hacer lo mismo en el modo seguro. Y recuerdo haber añadido accidentalmente una reacción a un post archivado cuando Jammy era el moderador de la comunidad. Como mi reacción fue bastante inapropiada, él la eliminó por mí, y creo que se añadió algo para evitar eso en el futuro. Pero no estoy seguro, y encontrarlo en nuestro chat llevaría mucho tiempo.
1 me gusta
Vale. Entonces, en modo seguro, el botón no se puede pulsar en absoluto. Supongo que debería ocultarse en los temas archivados, ¿verdad?
Moin
1 Abril, 2026 06:24
4
Parece que mi problema ocurrió en publicaciones que ya tenían un “me gusta”.
nuestra conversación
Probé cómo funciona la combinación de archivar, lo que impide los "me gusta" y las reacciones.
El resultado: Button color changes - #7 by tyraniczar
Logré añadirlo, pero no puedo quitarlo Ahora se quedará para siempre
En este caso, ¿añadiste la reacción antes de archivarlo?
Para mí, parece que bloquea tanto añadir como quitar una reacción cuando está archivado (como se espera)
Aún puedo añadir a las publicaciones de ese tema
Ah, sí. Dice que no puedes, pero puedes
Y no hay forma de quitarlo
Hmm
Lo desarquive y limpié las reacciones sueltas
Voy a enviar un informe
Estoy notando algunas rarezas en mi reproducción para esta prueba de archivar + reacciones
En mi sitio de prueba, el menú de reacciones no aparece
Solo aparece el
Puedo reproducirlo en mi entorno de pruebas
Hmm
Crear tema
Añadir respuesta
Archivar
Como usuario de prueba, visitar el tema e intentar reaccionar a una publicación
Ahora tampoco funciona allí
Lo probé en mi sitio alojado básico y tampoco funciona
Cuando el usuario de prueba crea la respuesta y yo archivo y reacciono sin recargar, añadir la reacción funciona. Pero no después de la actualización
Prueba a dar "me gusta" a la publicación como usuario2 antes de archivar y luego reacciona como usuario3 después
Sí, puedo reproducirlo con eso
1 me gusta
Gracias @NateDhaliwal y @Moin , parece que las reacciones tenían una lógica incorrecta al manejar temas archivados.
main ← fix/reactions-archived-topic-like-button
opened 12:41PM - 01 Apr 26 UTC
When a post in an archived topic has no existing likes, the backend omits the li… ke entry from `actions_summary` (no count, no `can_act`, no `acted`), making `likeAction` null on the frontend.
Core's like button handles this correctly (renders as disabled), but the reactions plugin — which replaces core's like button — had guards that checked `likeAction && !(canToggle || can_undo)`. When `likeAction` was null, the guard was bypassed, allowing clicks that triggered a 403 from the backend with a misleading "too long ago" error message.
Posts with existing likes were unaffected since `likeAction` existed with `canToggle: false`, and the guard worked as intended.
This commit:
- Flips the `toggleFromButton` guard from `likeAction && ...` to `!likeAction || ...` so null likeAction blocks the interaction
- Reorders the `toggle()` condition to check `likeAction?.canToggle` first, preventing reactions via the emoji picker
- Adds an early return in `pointerOver` when `!likeAction?.canToggle` to prevent the reaction picker from opening on hover
- Adds optional chaining in the picker's `reactionInfo` getter to fix a TypeError crash on `post.likeAction.canToggle` when null
- Uses the server error message in `_extractErrors` when available instead of a hardcoded misleading string, and updates the fallback translation to a generic message
https://meta.discourse.org/t/399681
2 Me gusta
Este tema se cerró automáticamente 3 días después de la última respuesta. Ya no se permiten nuevas respuestas.