piffy
9 Agosto, 2024 06:37
1
Tengo un error al intentar editar una publicación de tema que contiene una encuesta.
Para reproducir:
Crea un nuevo tema con una encuesta, como la que se muestra a continuación:
[poll name=pollA type=regular results=on_close public=true chartType=bar]
* Opción
[/poll]
Publica el tema y vota en la encuesta.
Actualiza la página.
Edita la publicación del tema.
Recibo este error en mi consola y la página se cuelga, no se genera una vista previa del editor, etc.
import Component from "@glimmer/component";
import { concat } from "@ember/helper";
import { htmlSafe } from "@ember/template";
import i18n from "discourse-common/helpers/i18n";
import evenRound from "discourse/plugins/poll/lib/even-round";
import PollVoters from "./poll-voters";
export default class PollResultsStandardComponent extends Component {
orderOptions = (options) => {
return options.sort((a, b) => {
if (a.votes < b.votes) {
return 1;
} else if (a.votes === b.votes) {
if (a.html < b.html) {
return -1;
} else {
return 1;
}
} else {
return -1;
This file has been truncated. show original
Creo que este NaN% podría estar relacionado:
Espero poder replicarlo aquí, intentándolo ahora.
Lamentablemente, parece que no puedo replicarlo aquí en meta. Hice una actualización reciente antes de probar en mi instancia, actualmente estoy ejecutando 3.4.0.beta1-dev (a3d61ba1c4 )
No estoy seguro si importa, pero tengo poll edit window mins configurado en 90 minutos.
3 Me gusta
Probado con la versión 3.4.0.beta1-dev y funciona bien
Probado con poll edit windows mins establecido en 90
[poll name=pollA type=regular results=on_close public=true chartType=bar]
* Opción
[/poll]
Votado en la encuesta y luego editado el tema
¿Has probado en modo seguro?
http://discourse.example.com/safe-mode
piffy
9 Agosto, 2024 06:44
3
Intenté en modo seguro sin temas (y repliqué el problema) pero desafortunadamente no puedo probar sin plugins porque el sondeo es un plugin.
1 me gusta
Ah, lo he logrado reproducir en el mío…
Resumen
Versión
3.4.0.beta1-dev
Configuración
Probado con poll edit windows mins establecido en 90
Encuesta
[poll name=pollA type=regular results=on_close public=true chartType=bar]
* Opción
[/poll]
Error
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0b05a21ff916fbd0f86b5172a2817610')
Posiblemente relacionado con
name=pollA
@piffy Prueba esto
[poll type=regular results=always public=true chartType=bar]
* Opción
[/poll]
Editar: Esto parece funcionar bien, así que name=pollA parece ser un problema.
piffy
9 Agosto, 2024 07:03
6
Gracias por la investigación adicional. Parece que el problema no es el nombre de la encuesta, sino en realidad el on_close.
Olvidé añadir una hora de cierre a la encuesta en el OP (y ahora han pasado más de 5 minutos, así que ya no puedo editarla :)). Pero en mi instancia:
Este causa un problema
[poll name=pollB type=regular results=on_close public=true chartType=bar close=2024-08-15T19:00:00.000Z]
* Option
[/poll]
Este parece no tener ningún problema
[poll name=pollC type=regular results=always public=true chartType=bar]
* Option
[/poll]
2 Me gusta
Gracias por el informe. Le echaré un vistazo.
3 Me gusta
Probado esto
[poll name=pollB type=regular results=on_close public=true chartType=bar close=2024-08-15T19:00:00.000Z]
* Opción
[/poll]
Me funciona bien, sin errores
Ver Can't Edit Topic with Poll, Bug Occurs? - #4 by Vaping_Community
Creo que he identificado el problema.
Creo correctamente que, cuando la encuesta se establece en “resultados AL CERRAR”, los recuentos de votos para cada opción solo se transmiten al navegador cuando la votación está cerrada.
El problema es que, al actualizar la página, la vista predeterminada es la de resultados, lo que para este tipo de encuesta NO debería suceder.
La vista de resultados no debería ser visible hasta el cierre, ni siquiera para el autor.
Por lo tanto, la solución aquí es asegurarse de que la vista predeterminada (para encuestas que tienen resultados al cerrar) sea la vista de votación hasta que la encuesta se cierre.
Prepararé una PR.
4 Me gusta
Esto se ha fusionado, por favor confirme que todo está resuelto.
1 me gusta
Este tema se cerró automáticamente después de 3 días. Ya no se permiten nuevas respuestas.