チャットメッセージを新しいチャンネルに移動したら、すべてがごちゃ混ぜになった

チャンネル間で28件のメッセージを移動しましたが、すべて順序が狂っています。

うーん。私だけですか、それともこれらは順序が狂っているように見えますか?:thinking:

順序が狂っている投稿をもう一度確認しました。\u003chttps://meta.discourse.org/chat/channel/147/chat?messageId=2644\u003e、それらはすべて同じタイムスタンプを持っているようです。

「いいね!」 6

この報告ありがとうございます。機能に盛り込もうとしたのですが、テストがうまくいきすぎたようです :sweat_smile: 確かに、ここでタイムスタンプはすべて同じものに設定しています。

問題は、移動したメッセージを既存のチャットメッセージの間に割り込ませたくないということで、メッセージを移動すればするほど難しくなります。

これに深く入り込む前に質問ですが、どのメッセージが本来の位置にないか覚えていて特定できますか?数件だけですか、それとも完全に順序が狂っていますか?おそらく不一致の原因となったのは、チャネルのメッセージを取得する際に、ID順(ほとんどの場合DESCで並べ替え、その後逆順にします)で取得していることだと思います。

一方、メッセージムーバーでは順序を維持するために created_at で並べ替えているため、小さな不一致が生じる可能性があります。

これを解決する方法についていくつかアイデアがあります(メッセージムーバーをIDで並べ替えるように変更するか、コントローラーを created_at で並べ替えるように変更すれば十分かもしれません。後者の方が理にかなっていると思うので、そちらを優先します)。しかし、もし判別可能であれば、順序がどれほど乱れているか教えていただきたいです。

「いいね!」 5

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

メッセージを引用するよりも移動する方が良いのはいつか、疑問に思っています。既存のトピックがあるかどうかに依存するのでしょうか?よくわかりません。次のいずれかの場合、人々をどちらかに誘導するのが良いでしょうか?

  1. 既存のトピックにチャットメッセージを引用する
  2. 既存のトピックにチャットメッセージを移動する
  3. 新しいトピックにチャットメッセージを引用する
  4. 新しいトピックにチャットメッセージを移動する

チャットメッセージの文字列は、トピックよりも「チャット」的であるため、一般的には移動よりも引用を奨励したいという気持ちがあります。

「いや、ここでは引用は良くない。代わりに移動する必要がある」というような、皆さんが観察した、または考えているケースはありますか?

「いいね!」 2

議論を引用するだけだと、2箇所で議論が続けられてしまいます。

@Moin は、本当に避けたい場合にメッセージを移動することを提案していますか?

それが完了したこと、ありがとうございます。完全にめちゃくちゃになっています!メッセージの大きなセットでローカルテストを行う必要があります。少なくともこれは必要になると思います。

しかし、IDによる並べ替えは、奇妙な一貫性の問題があるため、一般的に気が進みません。メッセージを created_at で並べ替える方が、一般的にチャンネルにとって良いと思います。@j.jaffeux または @mcwumbly、これについてどう思いますか?もしそうすることに決めた場合、メッセージムーバーは一貫した並べ替えのために created_at の値を10ミリ秒ずつ人工的に間隔を空ける必要があるかもしれません。

一般的に、現在のチャンネルに全く関係がない場合は、より適切なチャンネルに移動する方が良いと思います。以前、Mattermostを使用していたときには、内部でこれを何度も使用しました。例えば、general チャンネルでのインシデント対応の多くは、記録保持のために incident チャンネルに移動されるべきです。または、チャンネルでの無駄話は、random チャンネルに置く方が良いでしょう。

引用して古いゴミを残しておくことには、これらのケースでは価値がないと思います。そして、Moin が言うように、議論が2つの異なる場所で続けられると、混乱を招く可能性があります。

これらの2つのオプションは現在存在しないことに注意してください。最初の実装では、チャットメッセージごとに1つの投稿が作成され、元のメッセージがチャンネルから削除されなかったため、「トピックに移動」を削除しました。将来的にこれを再度行う場合は、次の必要があります。

  • a) チャット引用機能を使用して、メッセージのバッチ(たとえば100件ごと)を一緒に引用し、
  • b) 重複を避けるために、元のメッセージをチャンネルから削除する。
「いいね!」 5

投稿の順序付けの実装については、@j.jaffeux さんにコメントを譲ることにします。

ああ、そうですね。チャットメッセージをチャット内で移動することについて尋ねていたわけではありませんが、それは便利だろうと思いますし、「投稿内」で短形式と長形式を変換しようとする問題はありません。

なるほど。引用の一般的な形式は、このような「トランスクリプト」のようなものの方が、いずれにしてもそのように読まれる可能性が高いと思います。以前、Slackのトランスクリプト機能を使っていたとき、メインの投稿本文で要約しつつ、[details]で囲むことがよくありました。

それに関連して、より洗練された「コンテキストを展開」機能があれば、単一のメッセージを引用し、オンデマンドで追加のメッセージをインラインで読み込み、トピックを離れることなくチャットのコンテキストをさらに表示できるかもしれません。

スローレーンとファストレーンの境界を越えて議論を参照する場合、これが不可欠または価値があるかどうかについては懐疑的です。

「いいね!」 4

これはトピックへの移動を選択した場合にのみ発生します。移動するつもりだったのに、なぜチャンネルに残しておくのですか?すでに内部でこの件についていくつかの議論がありました。もちろん、メッセージを通常の引用としてトピックに含めるだけでは何も削除されません。

トリビアですが、引用を生成するクラスは実際には ChatTranscriptService と呼ばれています :slight_smile:

これは興味深いですね。実際、私たちのトピック引用にはこれに似たものがあります(おそらく既にご覧になったことがあるでしょう)。チャンネルに実際に行かなくても、もう少しコンテキストを取得できると便利でしょう。

「いいね!」 3

移動のユースケースは次のとおりです。

  • 「Whales」に関する議論専用のチャンネルがあります。
  • 大勢の人々が、「#penguin」をクリックするのを忘れてしまい、物事が白熱したため、「Penguins」について活発な議論を始めます。
  • モデレーターが介入し、「:foot: 」でペンギンの話題をペンギンチャンネルに移動させます。

根本的なことは再シーケンスだと思います。

すべてを1つのブロックに移動したいので、「fudge created_at」が唯一の合理的な解決策だと思いますか?また、技術的には移動された時点に作成されます。

「いいね!」 5

ええ、それが必要なのか、それとも引用/文字起こしを非常にうまく機能させることに集中すべきなのか疑問に思っています。

「いいね!」 3

はい、通常のGETメッセージルートがcreated_atで並べ替えられていれば、絶対にそうします。それを解決したいのですが、Joffreyにそのことに関する歴史的な知識があるかどうか疑問に思っていただけです。もしなければ、両方のことを一度に変更します。

「いいね!」 2

はい、サムさんとあなたには100%賛成です😁 一度にすべてを移動し、移動時のcreated_atを付与するのが、私の意見では唯一の合理的なアプローチです。そうでなければ、巨大な問題の缶が開いてしまいます…どこで見つけられるかわかりません?最後に読んだものより前に作成されたものに対する未読通知を受け取る?いやいやいや

「いいね!」 4

移動ツールを調整して、移動されたメッセージが :sparkles: 未来 :sparkles: に小さな間隔で配置されるようにします。また、チャットメッセージを汎用コントローラーでIDではなく created_at で並べ替えます :+1:

「いいね!」 3

これをマージして問題に対処できればと思います。

今のところ、created_at を意図的に未来の日付にずらすようなことはしていません。まずはこれで様子を見ましょう。

「いいね!」 4

このトピックは11日後に自動的に閉じられました。返信はもうできません。