Mover mensajes de chat a un nuevo canal los mezcló todos

Moví 28 mensajes de un canal a uno nuevo y todos salieron en desorden:

Hmmm. ¿Soy solo yo, o estos parecen estar en desorden ahora? :thinking:

He vuelto a mirar las publicaciones desordenadas en https://meta.discourse.org/chat/channel/147/chat?messageId=2644, y parece que todas tienen la misma marca de tiempo.

6 Me gusta

Gracias por informar sobre esto, intenté tenerlo en cuenta con la función, pero creo que tuve demasiada suerte con las pruebas que hice :sweat_smile: Así que, de hecho, establecemos todas las marcas de tiempo en lo mismo aquí:

El problema es que no queremos intercalar los mensajes movidos entre los mensajes existentes del canal, y se vuelve cada vez más difícil cuanto más mensajes mueves.

Una pregunta antes de profundizar demasiado en esto: ¿puedes recordar e identificar qué mensajes están fuera de lugar? ¿Son solo un par, o están completamente desordenados? Creo que lo que posiblemente causó la discrepancia es que cuando recuperamos mensajes para un canal, lo hacemos por orden de ID (que ordenamos DESC y luego revertimos en la mayoría de los casos):

Mientras que en el movedor de mensajes estoy ordenando por created_at para mantener el orden, lo que podría causar algunas pequeñas discrepancias:

Tengo algunas ideas sobre cómo podríamos abordar esto (quizás cambiar el movedor de mensajes para ordenar por ID o cambiar el controlador para ordenar por created_at sería suficiente, prefiriendo lo último porque creo que tendría más sentido), pero me gustaría saber cuán desordenado está el orden si es posible decirlo.

5 Me gusta

Los recuperé del canal original después de notar que estaban mezclados en el nuevo. Debería poder citarlos en orden aquí: :crossed_fingers:

Orden original
Originally sent in The Chat Feedback topic
JammyDodger

Estoy buscando formas de capturar la esencia del nuevo flujo de chat como demostración de cómo el chat puede ser la semilla de discusiones más amplias.

¿Alguien tiene ideas sobre cómo podemos hacerlo desde donde estamos ahora con las pruebas de chat aquí en Meta?

Los puntos de retroalimentación son excelentes, y creo que pronto se separarán en sus propios temas adecuados, pero esperaba algo que funcionara como un gran ejemplo para cualquiera que se acabe de unir a @chat-testers. Algo que la gente pueda ver y decir: «Aaaah. Sí, al principio no estaba seguro, pero veo cómo el chat puede ser el predecesor de una discusión en profundidad».

Puede que esté pidiendo demasiado :slightly_smiling_face:

RGJ

Para ser honesto, no veo cómo el chat puede ser el predecesor de una discusión en profundidad :thinking:

Pero eso podría ser porque soy viejo.

JammyDodger

Así que estamos buscando un ejemplo que también ayude a cambiar la opinión de @RGJ :slightly_smiling_face

Moin

Me gusta el ejemplo aquí. Pero ese ejemplo no encaja aquí. Quizás el tema podría ser sobre una función que extrañas en este momento. Algo por lo que no iniciarías un tema porque, por ejemplo, no tienes tiempo de verificar si existe una solicitud de función similar o porque crees que a nadie más le interesaría.

JammyDodger

@Moin, tus habilidades de búsqueda son siempre una bendición :slightly_smiling_face

Estaba buscando uno sobre semillas y árboles, pero no pude encontrarlo aquí.

Pero, sí. Algún tipo de chat relajado/amigable/informal en el que una idea se forma a través del fácil ir y venir, y luego inspira un tema de discusión adecuado.

oshyan

Esto es 100% mi interés y caso de uso para el chat. Pero ¿puedes aclarar exactamente qué quieres decir con un ejemplo de esto? ¿Te interesan, por ejemplo, muestras de un chat (independientemente de si ocurrió en el chat de Discourse) que podría/debería/habría (obviamente) llevado a una discusión más profunda y/o llevó a una discusión más profunda, pero en un medio probablemente menos ideal para ello (chat vs. foro)? Si es así, puede que necesite un poco de tiempo para encontrar algunos, pero definitivamente tengo buenos ejemplos de mi comunidad de productividad. Si buscas ejemplos en el chat de Discourse específicamente, eso será más difícil de encontrar. Pero creo firmemente que esto es un gran valor del chat en Discourse, y dependiendo de la comunidad, jugará un papel mayor o menor.

Jonathan_Poyer

Creo que mostrar una discusión en torno a una nueva función es realmente una buena manera de demostrarla, al menos durante el primer momento de esa idea. Para algunas personas, este destello de discusión ocurre durante el desarrollo o justo antes de comenzar. Siempre hay más cosas que discutir y referirse a un tema (o varios) tiene sentido.

oshyan

Como un ejemplo quizás más conceptual de una situación en la que el chat puede (y debería) convertirse rápidamente en un tema, incluso a mitad de una discusión, esto es algo que a menudo ocurre en las comunidades de gestión de desarrollo de software en las que participo, así como en mi comunidad de productividad:

  • Una persona nueva se une al chat y hace una pregunta aparentemente simple o inofensiva.
  • Las respuestas de miembros habituales muy informados y/o apasionados crecen rápidamente hasta decenas de líneas de texto, comienzan a aparecer saltos de párrafo y ese canal de chat se satura solo con la discusión sobre esta única pregunta (tema).
  • Todo se vuelve difícil de responder, ya que cada «mensaje» incluye muchos puntos e ideas, y la falta de una función de selección para citar/responder hace difícil analizar y responder a cada cosa.
  • Estas conversaciones también suelen ser debates valiosos que desaparecerían rápidamente en el flujo subsiguiente de un chat, por lo que incluso moverlos retroactivamente a un Tema puede ser muy valioso.
JammyDodger

Pienso que inicialmente buscaba algo que pudiéramos proporcionar como ejemplo de tema/chat aquí en Meta para demostrar a las personas nuevas en Discourse Chat cómo podría encajar bien con las ideas preexistentes de la visión de «párrafo largo» de Discourse.

Así que incluso algo que creáramos para demostrar el principio de manera ordenada.

Aunque suena como si tuvieras muchos ejemplos que harían un gran tema de discusión :slightly_smiling_face

Creo que cualquier cosa que pueda ayudar a las personas a visualizar fácilmente dónde encaja el chat en su estructura de foro sería útil. Estoy abierto a todas las ideas :+1:

agungor

Siento que esta conversación se está convirtiendo en tal ejemplo per se. :smiley:

Jonathan_Poyer

Se siente como algo que en otras plataformas se convertiría en un hilo que necesitaría transformarse en otro chat o en un tema separado. Pero al mismo tiempo, ¿los temas también se sienten más como discusiones a largo plazo en comparación con lo efímero de aquí?

jimkleiber

Quizás una forma sea citar el mensaje inicial del chat que inició la idea en un tema: How can chat seed topic discussions?

Esto puede dar visibilidad a personas que no están en el chat, especialmente si el tema comienza con una pregunta.

Pero irónicamente, estoy respondiendo aquí lol.

Hmm, acabo de intentar citar mis respuestas aquí en ese mismo tema, pero creo que solo tengo la opción de citar en un tema nuevo, no en uno existente.

JammyDodger

Estaba justo pensando en eso. :slightly_smiling_face: Estaba tratando de ver si podía crear un tema con el chat de cada persona como respuesta de alguna manera, ya que no había canales de chat adecuados para moverlos. Pero ahora que lo has hecho, veo que podría tener su propio canal de chat, y podríamos mover esta conversación allí :+1:

jimkleiber

Ah, sí, casi como crear el tema que creará el nuevo canal de chat.

Y luego el tema puede llenarse solo con citas del chat, extrayendo lo más destacado.

Desordenado
oshyan

Esto es 100% mi interés y caso de uso para el chat. Pero ¿puedes aclarar exactamente qué quieres decir con un ejemplo de esto? ¿Te interesan, por ejemplo, muestras de un chat (independientemente de si ocurrió en el chat de Discourse) que podría/debería/habría (obviamente) llevado a una discusión más profunda y/o llevó a una discusión más profunda, pero en un medio probablemente menos ideal para ello (chat vs. foro)? Si es así, puede que necesite un poco de tiempo para encontrar algunos, pero definitivamente tengo buenos ejemplos de mi comunidad de productividad. Si buscas ejemplos en el chat de Discourse específicamente, eso será más difícil de encontrar. Pero creo firmemente que esto es un gran valor del chat en Discourse, y dependiendo de la comunidad, jugará un papel mayor o menor.

Jonathan_Poyer

Creo que mostrar una discusión en torno a una nueva función es realmente una buena manera de demostrarla, al menos durante el primer momento de esa idea. Para algunas personas, este destello de discusión ocurre durante el desarrollo o justo antes de comenzar. Siempre hay más cosas que discutir y referirse a un tema (o varios) tiene sentido.

oshyan

Como un ejemplo quizás más conceptual de una situación en la que el chat puede (y debería) convertirse rápidamente en un tema, incluso a mitad de una discusión, esto es algo que a menudo ocurre en las comunidades de gestión de desarrollo de software en las que participo, así como en mi comunidad de productividad:

  • Una persona nueva se une al chat y hace una pregunta aparentemente simple o inofensiva.
  • Las respuestas de miembros habituales muy informados y/o apasionados crecen rápidamente hasta decenas de líneas de texto, comienzan a aparecer saltos de párrafo y ese canal de chat se satura solo con la discusión sobre esta única pregunta (tema).
  • Todo se vuelve difícil de responder, ya que cada «mensaje» incluye muchos puntos e ideas, y la falta de una función de selección para citar/responder hace difícil analizar y responder a cada cosa.
  • Estas conversaciones también suelen ser debates valiosos que desaparecerían rápidamente en el flujo subsiguiente de un chat, por lo que incluso moverlos retroactivamente a un Tema puede ser muy valioso.
JammyDodger

Pienso que inicialmente buscaba algo que pudiéramos proporcionar como ejemplo de tema/chat aquí en Meta para demostrar a las personas nuevas en Discourse Chat cómo podría encajar bien con las ideas preexistentes de la visión de «párrafo largo» de Discourse.

Así que incluso algo que creáramos para demostrar el principio de manera ordenada.

Creo que cualquier cosa que pueda ayudar a las personas a visualizar fácilmente dónde encaja el chat en su estructura de foro sería útil. Estoy abierto a todas las ideas :+1:

Estoy buscando formas de capturar la esencia del nuevo flujo de chat como demostración de cómo el chat puede ser la semilla de discusiones más amplias.

Aunque suena como si tuvieras muchos ejemplos que harían un gran tema de discusión :slightly_smiling_face

¿Alguien tiene ideas sobre cómo podemos hacerlo desde donde estamos ahora con las pruebas de chat aquí en Meta?

RGJ

Para ser honesto, no veo cómo el chat puede ser el predecesor de una discusión en profundidad :thinking:

agungor

Siento que esta conversación se está convirtiendo en tal ejemplo per se. :smiley:

Jonathan_Poyer

Se siente como algo que en otras plataformas se convertiría en un hilo que necesitaría transformarse en otro chat o en un tema separado. Pero al mismo tiempo, ¿los temas también se sienten más como discusiones a largo plazo en comparación con lo efímero de aquí?

JammyDodger

Los puntos de retroalimentación son excelentes, y creo que pronto se separarán en sus propios temas adecuados, pero esperaba algo que funcionara como un gran ejemplo para cualquiera que se acabe de unir a @chat-testers. Algo que la gente pueda ver y decir: «Aaaah. Sí, al principio no estaba seguro, pero veo cómo el chat puede ser el predecesor de una discusión en profundidad».

jimkleiber

Quizás una forma sea citar el mensaje inicial del chat que inició la idea en un tema: How can chat seed topic discussions?

Esto puede dar visibilidad a personas que no están en el chat, especialmente si el tema comienza con una pregunta.

JammyDodger

Pienso, al menos. :slightly_smiling_face: Revisaré mi razonamiento antes de hacer cualquier cosa.

Puede que esté pidiendo demasiado :slightly_smiling_face

jimkleiber

Pero irónicamente, estoy respondiendo aquí lol.

RGJ

Pero eso podría ser porque soy viejo.

JammyDodger

Estaba justo pensando en eso. :slightly_smiling_face: Estaba tratando de ver si podía crear un tema con el chat de cada persona como respuesta de alguna manera, ya que no había canales de chat adecuados para moverlos. Pero ahora que lo has hecho, veo que podría tener su propio canal de chat, y podríamos mover esta conversación allí :+1:

jimkleiber

Ah, sí, casi como crear el tema que creará el nuevo canal de chat.

JammyDodger

Así que estamos buscando un ejemplo que también ayude a cambiar la opinión de @RGJ :slightly_smiling_face

jimkleiber

Y luego el tema puede llenarse solo con citas del chat, extrayendo lo más destacado.

Moin

Me gusta el ejemplo aquí. Pero ese ejemplo no encaja aquí. Quizás el tema podría ser sobre una función que extrañas en este momento. Algo por lo que no iniciarías un tema porque, por ejemplo, no tienes tiempo de verificar si existe una solicitud de función similar o porque crees que a nadie más le interesaría.

JammyDodger

@Moin, tus habilidades de búsqueda son siempre una bendición :slightly_smiling_face

Estaba buscando uno sobre semillas y árboles, pero no pude encontrarlo aquí.

Pero, sí. Algún tipo de chat relajado/amigable/informal en el que una idea se forma a través del fácil ir y venir, y luego inspira un tema de discusión adecuado.

2 Me gusta

Me pregunto cuándo es preferible mover mensajes en lugar de citarlos. ¿Quizás depende de si ya existe un tema o no? No estoy seguro. ¿En qué escenarios uno de los siguientes sería mejor para animar a la gente?\n\n1. Citar mensajes de chat en un tema existente\n2. Mover mensajes de chat a un tema existente\n3. Citar mensajes de chat a un nuevo tema\n4. Mover mensajes de chat a un nuevo tema\n\nDado que las cadenas de mensajes de chat son, eh, más “charlas” que los temas, tengo la sensación de que quizás queramos fomentar más las citas que las mudanzas, en general.\n\n¿Hay casos que la gente haya observado o tenga en mente donde piensen, “no, citar no sería bueno aquí. Definitivamente necesito moverlos en su lugar”?

2 Me gusta

Si solo citas, la discusión puede continuar en dos lugares.

@Moin ¿estás sugiriendo que mover mensajes sería preferible cuando realmente quieres evitar eso?

Gracias por hacer eso, ¡está completamente desordenado! Tendré que hacer algunas pruebas locales con conjuntos de mensajes más grandes. Creo que, como mínimo, esto será necesario:

Sin embargo, en general, me incomoda ordenar por ID debido a inconsistencias extrañas. Creo que ordenar los mensajes por created_at sería mejor en general para los canales. @j.jaffeux o @mcwumbly, ¿qué opinan al respecto? Si decidimos hacer eso, entonces el movedor de mensajes podría necesitar espaciar artificialmente los valores de created_at en 10 ms cada uno para una ordenación consistente.

Creo que, en general, si son totalmente irrelevantes para el canal actual, sería mejor moverlos a un canal más apropiado. Hemos utilizado esto muchas veces anteriormente internamente cuando usábamos Mattermost. Por ejemplo, un montón de respuestas a incidentes en el canal general que deberían moverse al canal incident para una mejor conservación de registros. O, charlas ociosas en un canal que es mejor que estén en el canal random.

No creo que haya ningún valor en esos casos de citar y dejar atrás el contenido antiguo, y como dice Moin, las cosas pueden volverse confusas, donde la discusión continúa en dos lugares diferentes.

Tenga en cuenta que estas dos opciones no existen actualmente. Eliminamos “Mover a tema” porque en la implementación inicial estaba creando una publicación por mensaje de chat y tampoco eliminaba los mensajes originales en el canal. Si en el futuro queremos volver a hacer esto, necesitará:

  • a) citar lotes de mensajes juntos (digamos 100 por publicación) usando la función de cita de chat y
  • b) eliminar los originales en el canal para evitar duplicaciones.
5 Me gusta

Me abstendré de comentar sobre la implementación para ordenar las publicaciones y dejaré que @j.jaffeux comente sobre ese aspecto.

Ah, sí. No preguntaba sobre mover mensajes de chat dentro del chat, pero puedo ver lo útil que puede ser y no tiene el problema de intentar convertir de forma corta a forma larga (o viceversa) “en la publicación”.

Tiene sentido. Me gusta la forma general de citar como una “transcripción” de este tipo porque creo que probablemente se leerá de esa manera de todos modos. En el pasado, cuando usé la función de transcripción de Slack, a menudo me encontré incluyéndola también en [details] y resumiendo las cosas en el cuerpo principal de la publicación.

Otro pensamiento que tuve en esa línea podría ser tener una función más sofisticada de “expandir contexto”, para que puedas citar un solo mensaje, pero luego cargar mensajes adicionales en línea bajo demanda para ver más contexto del chat sin salir del tema.

Soy escéptico sobre si esta parte es necesaria o valiosa al hacer referencia a discusiones que cruzan el límite entre el carril lento y el carril rápido.

4 Me gusta

Esto solo sucedería si eliges “Mover al tema”, ¿por qué mantener las cosas en el canal si tu intención era moverlas? Ya hemos tenido algunas discusiones internas sobre esto. Claro, una cita normal de mensajes en un tema no eliminaría nada.

Un dato curioso para ti, la clase que genera las citas se llama en realidad ChatTranscriptService :slight_smile:

Esto es interesante, en realidad tenemos algo similar con nuestras citas de temas (probablemente ya lo hayas visto). Probablemente sería útil obtener un poco más de contexto sin tener que visitar el canal.

3 Me gusta

Yo diría que el caso de uso para mover es:

  • Tenemos un canal dedicado a la discusión sobre “Ballenas”
  • Un montón de gente empieza a tener una discusión interesante sobre “Pingüinos” porque se olvidaron de hacer clic en “#pingüino” y las cosas se calentaron
  • Un moderador interviene y :foot: mueve la conversación sobre pingüinos al canal de pingüinos.

Supongo que lo fundamental aquí es la reordenación.

Yo diría que “fudge created_at” es la única solución sensata aquí porque quieres que todo se mueva en un bloque. Además, técnicamente se crea en el momento en que se mueve.

5 Me gusta

Sí, creo que me pregunto si es necesario, o si citar/transcribir es en lo que hay que centrarse para que funcione muy bien.

3 Me gusta

Sí, haría esto al 100% si nuestra ruta normal de mensajes GET para un canal estuviera ordenada por created_at, eso es lo que quiero solucionar, solo me preguntaba si Joffrey tenía algún conocimiento histórico sobre eso. Si no, cambiaré ambas cosas a la vez.

2 Me gusta

Sí, estoy 100% con Sam y contigo :grin: Mover todo de una vez y darle la fecha de creación del momento de la mudanza es el único enfoque sensato en mi opinión. De lo contrario, se abre una gigantesca caja de Pandora… ¿cómo sé dónde encontrarlo? ¿recibir notificaciones no leídas de cosas creadas antes de mi última lectura? no, no, no

4 Me gusta

Genial, ajustaré la herramienta de movimiento para que los mensajes movidos estén en :sparkles: el futuro :sparkles: con un pequeño incremento espaciado, y ordenaré los mensajes del chat por created_at en lugar de ID en el controlador general :+1:

3 Me gusta

Acabo de fusionar esto con la esperanza de abordar el problema:

No hice nada para espaciar artificialmente created_at por ahora hacia el futuro, así que veamos cómo va esto primero.

4 Me gusta

Este tema se cerró automáticamente después de 11 días. Ya no se permiten nuevas respuestas.