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

I un-deleted them from the original channel after I noticed they were jumbled in the new one. I should be able to quote them in order here: :crossed_fingers:

Original order
Originally sent in The Chat Feedback topic
JammyDodger

I'm looking for ways we can capture the essence of the new chat flow as a demonstration of how chat can be the seeds of bigger discussion

Has anyone got any ideas on how we can do that from where we are now with the chat-testing here on Meta?

The feedback points are great, and I think they will be calved off into their own proper topics shortly too, but I was hoping for something that would work as a great exemplar for anyone just joining the @chat-testers. Something that people can just look at and go 'Aaaah. Yes, I wasn't sure at first, but I see how can chat can be the pre-cursor to in depth discussion'

I may be asking too much :slightly_smiling_face:

RGJ

TBH I don't see how chat can be the pre-cursor to in depth discussion :thinking:

But that might be because I'm old

JammyDodger

So we're looking for an example that will help change @RGJ's mind too :slightly_smiling_face:

Moin

I like the example here. But that example does not fit here. Maybe the topic could be about a feature you miss just now. Something you wouldn't start a topic because for example you don’t have time to check whether there is a similar feature request or you think no one else will be interested into that.

JammyDodger

@Moin, your search skills are always a blessing :slightly_smiling_face:

I was looking for one about seeds and trees, but couldn't find it on here

But, yes. Some kind of relaxed/friendly/informal chat in which an idea forms through the course of the easy back-and-forth, and then inspires a proper discussion topic

oshyan

This is 100% my interest and use-case for chat. But can you clarify exactly what you mean by an example of this. Are you interested in, say, samples of a chat (regardless of whether it happened in Discourse chat) that could/should/would have (obviously) led to deeper discussion and/or did lead to deeper discussion but in an arguably less ideal medium for it (chat vs. forum)? If that's the case I may need a little to find some, but I absolutely have good examples from my productivity community. If you're looking for examples in Discourse chat, specifically, that's going to be harder to find. But I absolutely think this is a big value of chat in Discourse, and depending on the community, it will play a bigger or smaller role.

Jonathan_Poyer

I think showcase a discussion around a new feature is actually a nice way to demo it at least during the first moment of that idea. For some people, this spark of discussion is during the time of development or about to begin. There are always more things to discuss about and referring to a topic (or multiple) makes sense.

oshyan

As a perhaps more conceptual example of a situation where chat can (and should) quickly turn into a topic, even mid-way through a discussion, this is something that often happens in software dev management communities I'm part of, as well as my productivity community:

  • New person joins chat and asks a seemingly simple or innocuous question
  • Responses from highly informed and/or impassioned regulars quickly grow to 10s of lines of text, paragraph breaks start happening, and that chat channel becomes saturated only with discussion on this one question (topic)
  • Everything becomes difficult to respond to as each "message" includes lots of points and ideas and no select-to-quote/reply feature makes parsing and responding to each thing difficult
  • These conversations are also often valuable debates that would quickly disappear in the subsequent flow of a chat, so even retroactively moving them to a Topic is potentially very valuable
JammyDodger

I think I was initially looking for something we could provide as an example topic/chat here on Meta to demonstrate to people new to Discourse Chat of how it could gel nicely with pre-existing ideas of the 'long-form paragraph' view of Discourse

So even something that we created to neatly demonstrate the principle

Though it sounds like you have lots of examples that would make a great discussion topic :slightly_smiling_face:

I think anything that can help people easily visualise where in their forum structure chat can slot into would be useful. I am open to all ideas :+1:

agungor

I feel that this conversation is becoming such an example per se. :smiley:

Jonathan_Poyer

Feels like something that would become a thread on other platforms would either need to turn into another chat or a split off topic. But at the same time, topic feel also more like long term discussion vs one-off as here?

jimkleiber

Maybe one way is to quote the initial chat message that started the idea into a topic: How can chat seed topic discussions?

This can give visibility to people who aren't in the chat, especially if the topic starts with a question

but ironically I'm answering here lol

Hmm, I just tried to quote my replies here into that same topic but I think I only have the option to quote into a new topic, not an existing one

JammyDodger

I was just mulling that over. :slightly_smiling_face: I was working out if I could make a topic with each person's chat as a reply somehow, as there were no suitable chat channels to slide them to. But now you've made it I can see that it could have its own chat channel, and we could move this conversation there :+1:

jimkleiber

Ah yes, almost like creating the topic that will create the new chat channel

and then the topic can be filled with just quotes from the chat, pulling the highlights

Jumbled
oshyan

This is 100% my interest and use-case for chat. But can you clarify exactly what you mean by an example of this. Are you interested in, say, samples of a chat (regardless of whether it happened in Discourse chat) that could/should/would have (obviously) led to deeper discussion and/or did lead to deeper discussion but in an arguably less ideal medium for it (chat vs. forum)? If that's the case I may need a little to find some, but I absolutely have good examples from my productivity community. If you're looking for examples in Discourse chat, specifically, that's going to be harder to find. But I absolutely think this is a big value of chat in Discourse, and depending on the community, it will play a bigger or smaller role.

Jonathan_Poyer

I think showcase a discussion around a new feature is actually a nice way to demo it at least during the first moment of that idea. For some people, this spark of discussion is during the time of development or about to begin. There are always more things to discuss about and referring to a topic (or multiple) makes sense.

oshyan

As a perhaps more conceptual example of a situation where chat can (and should) quickly turn into a topic, even mid-way through a discussion, this is something that often happens in software dev management communities I'm part of, as well as my productivity community:

  • New person joins chat and asks a seemingly simple or innocuous question
  • Responses from highly informed and/or impassioned regulars quickly grow to 10s of lines of text, paragraph breaks start happening, and that chat channel becomes saturated only with discussion on this one question (topic)
  • Everything becomes difficult to respond to as each "message" includes lots of points and ideas and no select-to-quote/reply feature makes parsing and responding to each thing difficult
  • These conversations are also often valuable debates that would quickly disappear in the subsequent flow of a chat, so even retroactively moving them to a Topic is potentially very valuable
JammyDodger

I think I was initially looking for something we could provide as an example topic/chat here on Meta to demonstrate to people new to Discourse Chat of how it could gel nicely with pre-existing ideas of the 'long-form paragraph' view of Discourse

So even something that we created to neatly demonstrate the principle

I think anything that can help people easily visualise where in their forum structure chat can slot into would be useful. I am open to all ideas :+1:

I'm looking for ways we can capture the essence of the new chat flow as a demonstration of how chat can be the seeds of bigger discussion

Though it sounds like you have lots of examples that would make a great discussion topic :slightly_smiling_face:

Has anyone got any ideas on how we can do that from where we are now with the chat-testing here on Meta?

RGJ

TBH I don't see how chat can be the pre-cursor to in depth discussion :thinking:

agungor

I feel that this conversation is becoming such an example per se. :smiley:

Jonathan_Poyer

Feels like something that would become a thread on other platforms would either need to turn into another chat or a split off topic. But at the same time, topic feel also more like long term discussion vs one-off as here?

JammyDodger

The feedback points are great, and I think they will be calved off into their own proper topics shortly too, but I was hoping for something that would work as a great exemplar for anyone just joining the @chat-testers. Something that people can just look at and go 'Aaaah. Yes, I wasn't sure at first, but I see how can chat can be the pre-cursor to in depth discussion'

jimkleiber

Maybe one way is to quote the initial chat message that started the idea into a topic: How can chat seed topic discussions?

This can give visibility to people who aren't in the chat, especially if the topic starts with a question

JammyDodger

I think, at least. :slightly_smiling_face: I'll double-check my thinking before I do anything

I may be asking too much :slightly_smiling_face:

jimkleiber

but ironically I'm answering here lol

RGJ

But that might be because I'm old

JammyDodger

I was just mulling that over. :slightly_smiling_face: I was working out if I could make a topic with each person's chat as a reply somehow, as there were no suitable chat channels to slide them to. But now you've made it I can see that it could have its own chat channel, and we could move this conversation there :+1:

jimkleiber

Ah yes, almost like creating the topic that will create the new chat channel

JammyDodger

So we're looking for an example that will help change @RGJ's mind too :slightly_smiling_face:

jimkleiber

and then the topic can be filled with just quotes from the chat, pulling the highlights

Moin

I like the example here. But that example does not fit here. Maybe the topic could be about a feature you miss just now. Something you wouldn't start a topic because for example you don’t have time to check whether there is a similar feature request or you think no one else will be interested into that.

JammyDodger

@Moin, your search skills are always a blessing :slightly_smiling_face:

I was looking for one about seeds and trees, but couldn't find it on here

But, yes. Some kind of relaxed/friendly/informal chat in which an idea forms through the course of the easy back-and-forth, and then inspires a proper discussion topic

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.