Conflicto de edición: Otro usuario editó esa publicación y tus cambios ya no se pueden guardar

Si intento editar una publicación que acabo de crear, obtengo el siguiente error:

Esa publicación fue editada por otro usuario y tus cambios ya no se pueden guardar

Por ejemplo:

El botón “Guardar edición” también cambia su nombre a “Sobrescribir edición”.

Esto solo ha comenzado a ocurrir desde que actualicé el viernes a “2.8.0.beta2” ( 4681c670c0 ).

Si ayuda, actualizo semanalmente, por lo que este es un problema nuevo que surgió entre el viernes 4 de junio de 2021 y el viernes 11 de junio de 2021.

Esto también ocurre aquí en Meta (como se muestra en mi captura de pantalla).

No logro identificar el patrón. No sucede cada vez, solo a veces :thinking:

Varios de nuestros usuarios también han reportado esto.

9 Me gusta

5 Me gusta

Suena exactamente al mismo problema :+1:

1 me gusta

¡Acaba de volver a ocurrir justo aquí!

2 Me gusta

Algunos de nosotros en el equipo también hemos visto esto. Somos conscientes del problema y lo estamos investigando.

9 Me gusta

Sí, acabo de conseguir uno de estos hoy; @nbianca lo va a revisar.

3 Me gusta

El tema Error message when editing posts es un duplicado de este.

1 me gusta

¿Ok, entonces esto está completamente solucionado con FIX: Update raw and cooked immediate after edit by nbianca · Pull Request #13387 · discourse/discourse · GitHub @nbianca?

9 Me gusta

Sí, todos los problemas conocidos están solucionados.

8 Me gusta

¡Fantástico, gracias!

5 Me gusta

Esto ya está fusionado y debería estar en vivo aquí en 20-30 minutos.

10 Me gusta

Lamentablemente, esto aún no está solucionado. Mis usuarios siguen recibiendo el mensaje de “edición sobrescrita” y yo mismo acabo de verlo. Estoy ejecutando la versión 2.8.0.beta2 (0f9d31a85e).

Por otro lado, al intentar subir la primera captura de pantalla a meta.discourse, simplemente obtuve un error:

PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "uploads_pkey"

Reintentarlo funcionó.

1 me gusta

Yo también puedo seguir reproduciéndolo aquí en Meta.

5 Me gusta

@nbianca fue muy difícil aislarlo, pero tengo una reproducción 100% consistente.

Crea una publicación con el texto:

hello world 123 hello world

Asegúrate de que haya un espacio al final después de la última palabra world.

Escribe world ESPACIO

Luego, intenta editar rápidamente tu publicación añadiendo algunas letras al final.

Algo en nuestra lógica interna está “eliminando” los espacios iniciales y finales, lo que hace que falle el algoritmo que detecta si una publicación ha cambiado.

10 Me gusta

Lo probé durante mucho tiempo, pero nunca pensé en agregar espacios. Me centré en la sincronización más que en el contenido.

La PR anterior permitirá que el servidor devuelva el texto sin formato y lo use para actualizar el registro del mensaje.

14 Me gusta

¡Me impresiona que lo hayas encontrado, considerando de qué se trataba! Hasta ahora, la solución parece buena, gracias a todos nuevamente.

1 me gusta

Lo siento, no se ha solucionado @nbianca. La secuencia exacta que señaló @sam sigue provocando el error. Estoy ejecutando la versión 2.8.0.beta2 (0c42a29dc4).

De hecho, acabo de recibir el error al editar este mismo post en meta.discourse.

¿Hiciste algo especial con esto? ¿Publicaste e intentaste editar el mensaje inmediatamente después, o esperaste un tiempo (actualizaste la página) y luego intentaste editarlo?

¿Tu mensaje tenía algún espacio en blanco como antes?

1 me gusta

Para probar en mi propio sitio, seguí las instrucciones de Sam. Aquí, fui a editar tu etiqueta y apareció el error.

Hmm, tengo una reproducción sencilla en try.discourse.org: publicas, luego editas y agregas caracteres, y obtengo

Esa publicación fue editada por otro usuario y tus cambios ya no se pueden guardar.

Me preocupa un poco esta ruta de código si la estamos rompiendo tan fácilmente y tenemos tantas dificultades para solucionarla :cry:

6 Me gusta