Reducir la frecuencia de visualización de la advertencia "Draft is being edited in another window."

Hola.

Soy miembro de un foro de Discourse (BlenderArtists.org) y tengo un monitor 4K que me permite tener dos páginas del foro colocadas una al lado de la otra.

A veces, cuando planeo escribir un comentario largo y preparo mi respuesta (incluyendo varias citas de un hilo largo actual), abro el Editor de mensajes en la página izquierda y navego por el mismo hilo en la página derecha.

Pero cuando hago eso, este mensaje aparece con mucha frecuencia:

El borrador se está editando en otra ventana. Por favor, recarga esta página.

No estoy en contra de esta advertencia (estoy seguro de que es útil en algunas circunstancias).

Pero ¿sería posible agregar una opción en las preferencias del usuario para desactivarla? ¿O para establecer la frecuencia de visualización (el temporizador)?

Este mensaje de advertencia impide escribir el mensaje con tranquilidad.

Gracias por considerar agregar esta opción.

5 Me gusta

Lo sentimos, hemos recibido demasiadas solicitudes de soporte sobre esto, por lo que la insistencia es intencional. Es un flujo de trabajo muy arriesgado y podrías perder toda tu publicación.

Un segundo, ¿realmente lo estás editando en dos lugares? ¿Cuál es la reproducción exacta?

Solo abrirlo y navegar no debería causar esta advertencia; debes estar editando desde dos ventanas.

1 me gusta

Intentamos abrir automáticamente el borrador para editarlo cuando entras en un tema. Incluso si minimizas inmediatamente el editor, sigue activo y en conflicto.

4 Me gusta

Sí, me ha pasado. Es definitivamente molesto cuando ocurre, pero estoy de acuerdo con Jeff en que debemos ser cautelosos aquí debido a los problemas históricos.

Mi solución suele ser abrir el tema en dos pestañas y comenzar a redactar solo después de que ambas se hayan cargado.

1 me gusta

Esto es claramente un error: la protección debería activarse solo cuando empieces a escribir.

3 Me gusta

Bien, si tenemos una reproducción, podemos solucionarlo.

También me ha afectado la apertura automática del borrador, pero es peor que solo recibir el mensaje de advertencia. He vuelto a escribir mi publicación y luego apareció la ventana emergente, intentando redirigirme a otra pestaña que tiene un borrador más antiguo. En ese momento, si actualizo la página, solo obtengo la versión más antigua de mi borrador, por lo que, en ese sentido, esta función no está realmente previniendo lo que intenta evitar.

No estoy seguro de si ocurre antes de empezar a escribir. Acabo de intentar reproducirlo en meta y solo sucedió cuando empecé a escribir en la segunda pestaña. Suelo activar esto poco después de duplicar mi pestaña para consultar lo que estoy escribiendo. Pierdo la noción de en qué pestaña empecé, y cuando empiezo a escribir por error en la segunda pestaña, aparece la advertencia.

¿Sería posible o razonable detectar si otra pestaña ya tiene el editor abierto para el tema dado y, en ese caso, no abrir el editor para la nueva pestaña?

4 Me gusta

Demasiado complicado realmente… podría haber algo que podamos hacer con web workers, pero es un cambio enorme que no me gustaría realizar.

Necesito una reproducción exacta paso a paso; nuestra advertencia se activa muy temprano, en el peor de los casos perderías unas pocas palabras. Supongo que si estás desconectado las cosas pueden volverse extrañas, pero es un caso límite importante… la solución es copiar y pegar.

Acabo de echar un vistazo a la publicación original.

No puedo reproducirlo; ¿puedes proporcionar los pasos exactos que llevan a este mensaje incorrecto? Si no estás editando, solo hay un caso límite donde obtienes este mensaje, y podría considerarse incorrecto. Pero es un caso límite muy menor.

  1. Abre la pestaña 1… comienza a redactar una respuesta
  2. Abre la pestaña 2… navega por ahí
  3. En la pestaña 1… continúa redactando
  4. En la pestaña 2… minimiza el editor (recibirás un mensaje de advertencia… pero solo una vez)

Lo que podría estar ocurriendo y causándote problemas:

  1. Abre la pestaña 1… comienza a redactar una respuesta
  2. Abre la pestaña 2… por error citas algo para la respuesta
  3. En la pestaña 1… continúa redactando… la advertencia está presente… persistentemente (porque estaríamos descartando la cita de (2))

Simplemente no estoy seguro de qué arreglar aquí… necesito reproducciones.

1 me gusta

Definitivamente he tenido momentos en los que perdí una cantidad significativa de contenido. Sin embargo, por esa razón, he sido cuidadoso al no activar esta advertencia, así que en este punto no recuerdo los pasos exactos que causaron la pérdida significativa.

Creo que el problema podría ser si esto guarda un borrador, sobrescribiendo lo que hiciste en la pestaña 1. Si eso ocurre, podría resultar en una pérdida significativa de contenido. Por ahora es solo una especulación, pero veré si puedo reproducir el problema de esa manera y te lo haré saber.

No puede ser, por favor… necesito pasos para reproducirlo… cada vez que se guarda un borrador se realiza una prueba de cambio de conflicto.

Necesito una guía paso a paso para reproducir cualquier pérdida significativa de contenido.

1 me gusta

Entiendo que necesitas pasos reproducibles. He puesto una recordatorio (:tada:) para revisarlo mañana por la noche. Sería útil saber (a un nivel general) cómo funciona la prueba de conflictos. ¿Se genera un identificador único al cargar la página o algo similar?

Cada borrador está fuertemente asociado al compositor mediante un ID único. Esto solo avanza hacia adelante.

¿Qué quieres decir con esto?

Básicamente, quiero decir que si hay una carrera… y dos compositores responden al mismo tema para el mismo usuario… solo uno gana. Cada vez que guardamos, se elige un propietario.

1 me gusta

Está bien, @sam, tengo los pasos para reproducirlo. No sé si esto está relacionado con el problema original del OP (ya que esta conversación se ha desviado un poco), pero de todos modos, aquí está lo que tengo. Básicamente, si abres la pestaña 2 pero sigues escribiendo en la pestaña 1 antes de que la pestaña 2 se haya cargado completamente, la nueva página entra en un estado erróneo. Si continúas escribiendo en la pestaña 1 mientras la pestaña 2 aún se está cargando, la pestaña 2 cargará el borrador de la pestaña 1 tal como estaba cuando se abrió la página, pero aún podrás editar en la pestaña 2 incluso después de que la pestaña 1 haya guardado cambios adicionales (sobrescribiendo así esos cambios). Aquí están los pasos para reproducirlo:

  1. Abre el tema A y comienza a redactar una respuesta.
  2. Deja de escribir para que se guarde el borrador.
  3. Abre el tema A en una nueva pestaña (duplicar la pestaña o hacer clic derecho/central en el título del tema es la forma más fácil de reproducirlo, ya que deben cargar la página completa y, por lo tanto, son más lentos).
  4. Inmediatamente continúa redactando la respuesta en la pestaña 1, antes de que la pestaña 2 haya terminado de cargarse.
  5. Deja de escribir para que el borrador se guarde nuevamente (esto se realizará con éxito, como se espera).
  6. Ve a la pestaña 2 y escribe en el editor.
  7. Deja de escribir. El borrador se guardará, incluso aunque debería aparecer una advertencia. Esto sobrescribirá todos los cambios adicionales que hiciste en la pestaña 1 en el paso #4. (Si obtienes la advertencia como se espera, probablemente esperaste demasiado para empezar a escribir en el paso #4.) Ten en cuenta que, en este punto, tampoco puedes escribir en la pestaña 1 de nuevo sin recargar esa pestaña.

Ten en cuenta que en el paso #4, en realidad no necesitas dejar de escribir y guardar un borrador antes de que la pestaña 2 termine de cargarse. Simplemente empezar a escribir es lo que pone todo en un estado erróneo. De hecho, no es poco razonable abrir una pestaña duplicada en segundo plano para revisar cosas más tarde y continuar escribiendo en la pestaña 1 mientras tanto. Pero hacerlo demasiado rápido pondrá las pestañas en un estado erróneo y te permitirá sobrescribir accidentalmente lo que agregaste en la pestaña 1. Por supuesto, minimizar el editor también guarda un borrador, así que una vez que entres en este estado erróneo, simplemente minimizar el editor en la pestaña 2 para quitártelo de encima sobrescribirá tu último borrador de la pestaña 1.

En este punto, si vuelves a la pestaña 1 donde originalmente estabas redactando tu mensaje, ya no podrás escribir y obtendrás la advertencia que debería haber aparecido en la pestaña 2. Si te das cuenta de que se perdió tu borrador, por supuesto, puedes copiar el contenido del editor desde la pestaña 1. Pero si no te diste cuenta y recargas la página (siguiendo las instrucciones de la advertencia), perderás los cambios que hiciste y no tendrás forma de recuperarlos.

Házmelo saber si aún tienes problemas para reproducir el problema con esos pasos. Puedo reproducir el problema de manera bastante consistente siguiendo esos pasos (cambiando ocasionalmente a nuevos temas para obtener borradores frescos), así que espero que eso sea suficiente información.

10 Me gusta

OK, tengo una solución aquí:

Muchas gracias por el caso de reproducción; fue espectacular y me ayudó a aislar el problema rápidamente.

Siento que mi respuesta anterior sobre cómo rastreamos las versiones de borrador fue un poco vaga. Creo que se debe a que mi algoritmo fue un poco demasiado ingenuo y sofisticado. Esa es una combinación peligrosa. El nuevo algoritmo es mucho más fácil de explicar.

  • Cada vez que el cliente guarda un borrador, le indica al servidor el “número de secuencia” que tiene.

  • Si el número de secuencia coincide, el servidor incrementará el número de secuencia en 1 y se lo devolverá al cliente (nuestro nuevo número de secuencia).

  • Si el número de secuencia no coincide, el servidor le informará al cliente que hay un conflicto y no guardará el borrador.

  • Al recargar/cargar la página, el servidor le indica al cliente cuál es el número de secuencia actual.

Mi implementación anterior era demasiado sofisticada; intentaba evitar aumentar el número de secuencia bajo muchas condiciones rastreando el propietario de una secuencia. Tu caso de prueba mostró lo malo que eso es y cómo puede causar pérdida de contenido.

Esto debería estar activo en meta; avísame si encuentras más casos límite en este sistema.

10 Me gusta

Eso es un gran cumplido, @seanblue. Deberías estar orgulloso de esto :tada:

4 Me gusta

Me enfrento al mismo problema aquí en meta:

  • Abrí un compositor y escribí el título.
  • Para tomar una captura de pantalla de este error, lo cambié de “nuevo tema” a “nuevo mensaje”.
  • Cancelé el tema (es decir, el mensaje) ya que no pude cambiarlo de nuevo a un tema.
  • Comencé un nuevo tema.

Se mostró una advertencia incorrectamente (ya que ya había cancelado el mensaje):

Ahora, incluso cuando elegí “abandonarlo”, cada 10-20 segundos recibía este mensaje:

aunque no había ninguna otra pestaña.

Esto solo ocurre si cambio de un tema a un mensaje. Parece que la cancelación de un mensaje no lo cancela realmente.

2 Me gusta

Esto requiere bastante trabajo, cambiando entre pestañas en el navegador, pero sí… el abandono definitivamente no está funcionando como debería en este caso; deberíamos solucionarlo.

5 Me gusta