Le déplacement des messages de chat vers un nouveau canal les a tous mélangés

J’ai déplacé 28 messages d’un canal vers un nouveau et ils sont tous dans le désordre :

Hmmm. Est-ce que c'est juste moi, ou ceux-ci semblent maintenant dans le désordre ? :thinking:

J'ai jeté un autre regard sur les messages désordonnés dans \u003chttps://meta.discourse.org/chat/channel/147/chat?messageId=2644\u003e, et il semble qu'ils aient tous le même horodatage.

6 « J'aime »

Merci de nous avoir signalé cela. J’ai essayé d’en tenir compte lors de la mise en œuvre de la fonctionnalité, mais je pense que j’ai eu un peu trop de chance avec les tests que j’ai effectués :smile_sweat: Nous définissons donc effectivement tous les horodatages sur la même valeur ici :

Le problème est que nous ne voulons pas intercaler les messages déplacés entre les messages existants du canal, et cela devient de plus en plus difficile à mesure que vous déplacez plus de messages.

Une question avant de me plonger trop profondément dans ce problème : vous souvenez-vous et pouvez-vous identifier quels messages sont déplacés ? Y en a-t-il juste quelques-uns, ou sont-ils complètement désordonnés ? Je pense que ce qui a éventuellement causé l’écart, c’est que lorsque nous récupérons les messages d’un canal, nous le faisons par ordre d’ID (que nous classons par ordre DESC puis inversons dans la plupart des cas) :

Alors que dans le message_mover, je trie par created_at pour maintenir l’ordre, ce qui pourrait causer de petites divergences :

J’ai quelques idées sur la façon dont nous pourrions résoudre ce problème (peut-être que changer le message_mover pour trier par ID ou changer le contrôleur pour trier par created_at suffirait, préférant cette dernière option car je pense que ce serait plus logique), mais j’aimerais savoir à quel point l’ordre est désordonné, si possible.

5 « J'aime »

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 « J'aime »

Je me demande quand il est préférable de déplacer des messages plutôt que de les citer. Peut-être que cela dépend s’il existe déjà un sujet ou non ? Pas sûr. Dans quels scénarios l’un des éléments suivants serait-il préférable pour inciter les gens ?

  1. Citer des messages de chat dans un sujet existant
  2. Déplacer des messages de chat vers un sujet existant
  3. Citer des messages de chat dans un nouveau sujet
  4. Déplacer des messages de chat vers un nouveau sujet

Étant donné que les chaînes de messages de chat sont, euh, plus « bavardes » que les sujets, j’ai le sentiment que nous pourrions vouloir encourager davantage le citation que le déplacement, en général.

Existe-t-il des cas que les gens ont observés ou auxquels ils pensent où vous vous dites : « non, citer ne serait pas bien ici. il faut absolument les déplacer à la place » ?

2 « J'aime »

Si vous citez simplement, la discussion peut se poursuivre à deux endroits.

@Moin suggérez-vous que déplacer des messages serait préférable lorsque vous voulez vraiment éviter cela ?

Merci d’avoir fait cela – c’est complètement embrouillé ! Je devrai faire des tests locaux sur des ensembles de messages plus importants. Je pense qu’au minimum, ceci sera nécessaire :

Cependant, je suis généralement mal à l’aise avec le tri par ID en raison d’incohérences étranges. Je pense que trier les messages par created_at serait généralement mieux pour les canaux. @j.jaffeux ou @mcwumbly, qu’en pensez-vous ? Si nous décidons de le faire, le moveur de messages pourrait devoir espacer artificiellement les valeurs de created_at de 10 ms chacune environ pour un tri cohérent.

Je pense qu’en général, s’ils sont totalement sans rapport avec le canal actuel, il serait préférable de les déplacer vers un canal plus approprié. Nous l’avons utilisé plusieurs fois auparavant en interne lorsque nous utilisions Mattermost. Par exemple, un tas de réponses aux incidents dans le canal general qui devraient être déplacées dans le canal incident pour une meilleure tenue des registres. Ou, des bavardages dans un canal qui seraient mieux dans le canal random.

Je ne pense pas qu’il y ait de valeur dans ces cas à citer et à laisser des résidus derrière, et comme le dit Moin, les choses peuvent alors prêter à confusion, la discussion se poursuivant dans deux endroits différents.

Gardez à l’esprit que ces deux options n’existent pas actuellement. Nous avons supprimé “Déplacer vers le sujet” car dans l’implémentation initiale, cela créait un message par message de chat, et ne supprimait pas non plus les messages originaux dans le canal. Si à l’avenir nous voulons refaire cela, il faudra :

  • a) citer des lots de messages ensemble (disons 100 par message) en utilisant la fonctionnalité de citation de chat et
  • b) supprimer les originaux dans le canal pour éviter les doublons.
5 « J'aime »

Je m’abstiendrai de commenter l’implémentation pour la commande des publications et laisserai @j.jaffeux commenter cet aspect.

Ah, oui. Je ne demandais pas comment déplacer les messages de chat dans le chat, mais je vois à quel point cela peut être utile, et cela n’a pas le problème d’essayer de convertir du format court en format long (ou vice versa) “dans la publication”.

Ça a du sens. J’aime la forme générale de la citation comme une sorte de “transcription” comme celle-ci, car je pense qu’elle sera probablement lue de cette façon de toute façon. Par le passé, lorsque j’utilisais la fonction de transcription de Slack, je me retrouvais souvent à l’envelopper également dans [details], et à résumer les choses dans le corps principal de la publication.

Une autre idée que j’ai eue dans ce sens pourrait être d’avoir une fonctionnalité plus sophistiquée d’“étendre le contexte”, de sorte que vous puissiez citer un seul message, puis charger des messages supplémentaires en ligne à la demande pour voir plus de contexte du chat sans quitter le sujet.

Je suis sceptique quant à la nécessité ou à la valeur de cette partie lorsqu’il s’agit de faire référence à des discussions entre la voie lente et la voie rapide.

4 « J'aime »

Cela n’arriverait que si vous choisissiez de déplacer vers le sujet, pourquoi garder des choses dans le canal si votre intention était de les déplacer ? Nous avons déjà eu des discussions à ce sujet en interne. Bien sûr, une simple citation normale de messages dans un sujet ne supprimerait rien.

Anecdote pour vous, la classe qui génère les citations s’appelle en fait ChatTranscriptService :slight_smile:

C’est intéressant, nous avons en fait quelque chose de similaire avec nos citations de sujets (vous l’avez probablement déjà vu). Il serait probablement utile d’obtenir un peu plus de contexte sans avoir à visiter le canal.

3 « J'aime »

Je dirais que le cas d’utilisation pour le déplacement est :

  • Nous avons un canal dédié à la discussion sur les « Baleines »
  • Un groupe de personnes commence à avoir une discussion animée sur les « Pingouins » parce qu’ils ont oublié de cliquer sur « #pingouin » et que les choses se sont envenimées
  • Un modérateur intervient et :foot: déplace la discussion sur les pingouins vers le canal Pingouins.

Je suppose que la chose fondamentale ici est la re-séquençage.

Je dirais que « falsifier created_at » est la seule solution sensée ici, car vous voulez que tout soit déplacé en un seul bloc ? De plus, il est techniquement créé au moment où il est déplacé.

5 « J'aime »

Oui, je me demande si c’est nécessaire, ou si la citation/transcription est la chose sur laquelle il faut se concentrer pour que cela fonctionne vraiment bien.

3 « J'aime »

Oui, je le ferais à 100 % si notre route normale de messages GET pour un canal était triée par created_at, c’est ce que je veux régler, je me demandais juste si Joffrey avait des connaissances historiques à ce sujet. Sinon, je changerai les deux choses en même temps.

2 « J'aime »

Oui, je suis à 100% avec Sam et toi :grin: Tout déplacer en une seule fois et lui donner la date de création du moment du déplacement est la seule approche sensée selon moi. Sinon, cela ouvre une gigantesque boîte de Pandore… comment savoir où le trouver ? recevoir des notifications non lues pour des choses créées avant ma dernière lecture ? non, non, non.

4 « J'aime »

Bien, je vais ajuster l’outil de déplacement pour que les messages déplacés soient dans :sparkles: le futur :sparkles: avec un petit incrément espacé, et je vais ordonner les messages de chat par created_at au lieu de l’ID dans le contrôleur général :+1:

3 « J'aime »

Je viens de fusionner ceci dans l’espoir de résoudre le problème :

Je n’ai rien fait pour espacer artificiellement created_at pour l’instant dans le futur, alors voyons d’abord comment cela se passe.

4 « J'aime »

Ce sujet a été automatiquement fermé après 11 jours. Les nouvelles réponses ne sont plus autorisées.