Mover mensagens de chat para um novo canal as embaralhou todas

Movi 28 mensagens de um canal para um novo e todas saíram de ordem:

Hmmm. Sou só eu, ou estas parecem estar fora de ordem agora? :thinking:

Dei outra olhada nas postagens fora de ordem em https://meta.discourse.org/chat/channel/147/chat?messageId=2644, e parece que todas têm o mesmo timestamp.

6 curtidas

Obrigado por relatar isso, eu tentei levar isso em consideração com o recurso, mas acho que tive um pouco de sorte com os testes que fiz :sweat_smile: Então, de fato, definimos todos os timestamps para a mesma coisa aqui:

O problema é que não queremos intercalar as mensagens movidas entre as mensagens existentes do canal, e isso fica cada vez mais difícil quanto mais mensagens você move.

Uma pergunta antes de me aprofundar nisso – você consegue se lembrar e identificar quais mensagens estão fora do lugar? São apenas algumas, ou elas estão completamente fora de ordem? Acho que o que possivelmente causou a discrepância é que, quando estamos buscando mensagens para um canal, fazemos isso por ordem de ID (que ordenamos DESC e depois revertemos na maioria dos casos):

Enquanto no message mover eu estou ordenando por created_at para manter a ordem, o que pode causar algumas pequenas discrepâncias:

Tenho algumas ideias sobre como podemos abordar isso (talvez mudar o message mover para ordenar por ID ou mudar o controller para ordenar por created_at seja o suficiente, preferindo o último porque acho que faria mais sentido), mas gostaria de saber o quão bagunçada a ordem está, se for possível dizer.

5 curtidas

Eu as reativei no canal original depois que notei que estavam embaralhadas no novo. Devo conseguir citá-las na ordem certa aqui: :crossed_fingers:

Ordem original
Originally sent in The Chat Feedback topic
JammyDodger

Estou procurando maneiras de capturar a essência do novo fluxo de chat como uma demonstração de como o chat pode ser a semente de discussões maiores.

Alguém tem alguma ideia de como podemos fazer isso a partir do ponto em que estamos agora com os testes de chat aqui no Meta?

Os pontos de feedback são ótimos, e acho que eles serão desmembrados em seus próprios tópicos adequados em breve também, mas eu esperava por algo que funcionasse como um ótimo exemplo para qualquer pessoa que esteja se juntando agora aos @chat-testers. Algo que as pessoas possam apenas olhar e dizer: 'Aaaah. Sim, eu não tinha certeza no início, mas vejo como o chat pode ser o precursor de uma discussão aprofundada'.

Talvez eu esteja pedindo demais :slightly_smiling_face:

RGJ

Para ser honesto, não vejo como o chat pode ser o precursor de uma discussão aprofundada :thinking:

Mas isso pode ser porque sou velho.

JammyDodger

Então estamos procurando um exemplo que ajude a mudar a opinião do @RGJ também :slightly_smiling_face:

Moin

Gosto do exemplo aqui. Mas esse exemplo não se encaixa aqui. Talvez o tópico pudesse ser sobre um recurso que você sente falta agora. Algo que você não iniciaria um tópico porque, por exemplo, não tem tempo para verificar se há uma solicitação de recurso semelhante ou acha que ninguém mais se interessaria por isso.

JammyDodger

@Moin, suas habilidades de busca são sempre uma bênção :slightly_smiling_face:

Eu estava procurando um sobre sementes e árvores, mas não consegui encontrar aqui.

Mas, sim. Algum tipo de chat relaxado/amigável/informal no qual uma ideia se forma durante o curso da fácil troca de ideias e, em seguida, inspira um tópico de discussão adequado.

oshyan

Isso é 100% meu interesse e caso de uso para o chat. Mas você pode esclarecer exatamente o que você quer dizer com um exemplo disso? Você está interessado, digamos, em amostras de um chat (independentemente de ter acontecido no Discourse chat) que poderia/deveria/teria (obviamente) levado a uma discussão mais profunda e/ou levou a uma discussão mais profunda, mas em um meio arguably menos ideal para isso (chat vs. fórum)? Se for esse o caso, posso precisar de um pouco de tempo para encontrar alguns, mas tenho absolutamente bons exemplos da minha comunidade de produtividade. Se você está procurando exemplos no Discourse chat, especificamente, isso será mais difícil de encontrar. Mas eu absolutamente acho que isso é um grande valor do chat no Discourse e, dependendo da comunidade, terá um papel maior ou menor.

Jonathan_Poyer

Acho que mostrar uma discussão em torno de um novo recurso é, na verdade, uma boa maneira de demonstrá-lo, pelo menos durante o primeiro momento dessa ideia. Para algumas pessoas, essa faísca de discussão ocorre durante o desenvolvimento ou está prestes a começar. Sempre há mais coisas para discutir e referenciar um tópico (ou vários) faz sentido.

oshyan

Como talvez um exemplo mais conceitual de uma situação em que o chat pode (e deve) se transformar rapidamente em um tópico, mesmo no meio de uma discussão, isso é algo que frequentemente acontece nas comunidades de gerenciamento de desenvolvimento de software das quais faço parte, bem como na minha comunidade de produtividade:

  • Uma nova pessoa entra no chat e faz uma pergunta aparentemente simples ou inofensiva
  • Respostas de membros regulares altamente informados e/ou apaixonados crescem rapidamente para dezenas de linhas de texto, quebras de parágrafo começam a acontecer e esse canal de chat fica saturado apenas com discussão sobre essa única pergunta (tópico)
  • Tudo se torna difícil de responder, pois cada "mensagem" inclui muitos pontos e ideias e a falta de um recurso de seleção para citar/responder torna difícil analisar e responder a cada coisa
  • Essas conversas também são frequentemente debates valiosos que desapareceriam rapidamente no fluxo subsequente de um chat, então até mesmo movê-los retroativamente para um Tópico pode ser muito valioso
JammyDodger

Acho que inicialmente estava procurando algo que pudéssemos fornecer como um exemplo de tópico/chat aqui no Meta para demonstrar a pessoas novas no Discourse Chat como ele pode se integrar bem com ideias pré-existentes da visão de 'parágrafo longo' do Discourse.

Então, até mesmo algo que criássemos para demonstrar o princípio de forma organizada.

Embora pareça que você tem muitos exemplos que fariam um ótimo tópico de discussão :slightly_smiling_face:

Acho que qualquer coisa que ajude as pessoas a visualizar facilmente onde, na estrutura do fórum, o chat pode se encaixar seria útil. Estou aberto a todas as ideias :+1:

agungor

Sinto que essa conversa está se tornando, por si só, tal exemplo. :smiley:

Jonathan_Poyer

Parece algo que se tornaria um thread em outras plataformas precisaria se transformar em outro chat ou em um tópico separado. Mas, ao mesmo tempo, o tópico parece mais uma discussão de longo prazo versus algo único como aqui?

jimkleiber

Talvez uma maneira seja citar a mensagem inicial de chat que iniciou a ideia em um tópico: How can chat seed topic discussions?

Isso pode dar visibilidade a pessoas que não estão no chat, especialmente se o tópico começar com uma pergunta.

Mas, ironicamente, estou respondendo aqui lol.

Hmm, acabei de tentar citar minhas respostas aqui no mesmo tópico, mas acho que tenho apenas a opção de citar em um novo tópico, não em um existente.

JammyDodger

Eu estava apenas pensando nisso. :slightly_smiling_face: Eu estava tentando descobrir se podia criar um tópico com o chat de cada pessoa como uma resposta de alguma forma, já que não havia canais de chat adequados para deslizá-los para lá. Mas agora que você criou, posso ver que poderia ter seu próprio canal de chat, e poderíamos mover essa conversa para lá :+1:

jimkleiber

Ah, sim, quase como criar o tópico que criará o novo canal de chat.

E então o tópico pode ser preenchido apenas com citações do chat, destacando os pontos principais.

Embaralhado
oshyan

Isso é 100% meu interesse e caso de uso para o chat. Mas você pode esclarecer exatamente o que você quer dizer com um exemplo disso? Você está interessado, digamos, em amostras de um chat (independentemente de ter acontecido no Discourse chat) que poderia/deveria/teria (obviamente) levado a uma discussão mais profunda e/ou levou a uma discussão mais profunda, mas em um meio arguably menos ideal para isso (chat vs. fórum)? Se for esse o caso, posso precisar de um pouco de tempo para encontrar alguns, mas tenho absolutamente bons exemplos da minha comunidade de produtividade. Se você está procurando exemplos no Discourse chat, especificamente, isso será mais difícil de encontrar. Mas eu absolutamente acho que isso é um grande valor do chat no Discourse e, dependendo da comunidade, terá um papel maior ou menor.

Jonathan_Poyer

Acho que mostrar uma discussão em torno de um novo recurso é, na verdade, uma boa maneira de demonstrá-lo, pelo menos durante o primeiro momento dessa ideia. Para algumas pessoas, essa faísca de discussão ocorre durante o desenvolvimento ou está prestes a começar. Sempre há mais coisas para discutir e referenciar um tópico (ou vários) faz sentido.

oshyan

Como talvez um exemplo mais conceitual de uma situação em que o chat pode (e deve) se transformar rapidamente em um tópico, mesmo no meio de uma discussão, isso é algo que frequentemente acontece nas comunidades de gerenciamento de desenvolvimento de software das quais faço parte, bem como na minha comunidade de produtividade:

  • Uma nova pessoa entra no chat e faz uma pergunta aparentemente simples ou inofensiva
  • Respostas de membros regulares altamente informados e/ou apaixonados crescem rapidamente para dezenas de linhas de texto, quebras de parágrafo começam a acontecer e esse canal de chat fica saturado apenas com discussão sobre essa única pergunta (tópico)
  • Tudo se torna difícil de responder, pois cada "mensagem" inclui muitos pontos e ideias e a falta de um recurso de seleção para citar/responder torna difícil analisar e responder a cada coisa
  • Essas conversas também são frequentemente debates valiosos que desapareceriam rapidamente no fluxo subsequente de um chat, então até mesmo movê-los retroativamente para um Tópico pode ser muito valioso
JammyDodger

Acho que inicialmente estava procurando algo que pudéssemos fornecer como um exemplo de tópico/chat aqui no Meta para demonstrar a pessoas novas no Discourse Chat como ele pode se integrar bem com ideias pré-existentes da visão de 'parágrafo longo' do Discourse.

Então, até mesmo algo que criássemos para demonstrar o princípio de forma organizada.

Acho que qualquer coisa que ajude as pessoas a visualizar facilmente onde, na estrutura do fórum, o chat pode se encaixar seria útil. Estou aberto a todas as ideias :+1:

Estou procurando maneiras de capturar a essência do novo fluxo de chat como uma demonstração de como o chat pode ser a semente de discussões maiores.

Embora pareça que você tem muitos exemplos que fariam um ótimo tópico de discussão :slightly_smiling_face:

Alguém tem alguma ideia de como podemos fazer isso a partir do ponto em que estamos agora com os testes de chat aqui no Meta?

RGJ

Para ser honesto, não vejo como o chat pode ser o precursor de uma discussão aprofundada :thinking:

agungor

Sinto que essa conversa está se tornando, por si só, tal exemplo. :smiley:

Jonathan_Poyer

Parece algo que se tornaria um thread em outras plataformas precisaria se transformar em outro chat ou em um tópico separado. Mas, ao mesmo tempo, o tópico parece mais uma discussão de longo prazo versus algo único como aqui?

JammyDodger

Os pontos de feedback são ótimos, e acho que eles serão desmembrados em seus próprios tópicos adequados em breve também, mas eu esperava por algo que funcionasse como um ótimo exemplo para qualquer pessoa que esteja se juntando agora aos @chat-testers. Algo que as pessoas possam apenas olhar e dizer: 'Aaaah. Sim, eu não tinha certeza no início, mas vejo como o chat pode ser o precursor de uma discussão aprofundada'.

jimkleiber

Talvez uma maneira seja citar a mensagem inicial de chat que iniciou a ideia em um tópico: How can chat seed topic discussions?

Isso pode dar visibilidade a pessoas que não estão no chat, especialmente se o tópico começar com uma pergunta.

JammyDodger

Acho, pelo menos. :slightly_smiling_face: Vou verificar meu raciocínio antes de fazer qualquer coisa.

Talvez eu esteja pedindo demais :slightly_smiling_face:

jimkleiber

Mas, ironicamente, estou respondendo aqui lol.

RGJ

Mas isso pode ser porque sou velho.

JammyDodger

Eu estava apenas pensando nisso. :slightly_smiling_face: Eu estava tentando descobrir se podia criar um tópico com o chat de cada pessoa como uma resposta de alguma forma, já que não havia canais de chat adequados para deslizá-los para lá. Mas agora que você criou, posso ver que poderia ter seu próprio canal de chat, e poderíamos mover essa conversa para lá :+1:

jimkleiber

Ah, sim, quase como criar o tópico que criará o novo canal de chat.

JammyDodger

Então estamos procurando um exemplo que ajude a mudar a opinião do @RGJ também :slightly_smiling_face:

jimkleiber

E então o tópico pode ser preenchido apenas com citações do chat, destacando os pontos principais.

Moin

Gosto do exemplo aqui. Mas esse exemplo não se encaixa aqui. Talvez o tópico pudesse ser sobre um recurso que você sente falta agora. Algo que você não iniciaria um tópico porque, por exemplo, não tem tempo para verificar se há uma solicitação de recurso semelhante ou acha que ninguém mais se interessaria por isso.

JammyDodger

@Moin, suas habilidades de busca são sempre uma bênção :slightly_smiling_face:

Eu estava procurando um sobre sementes e árvores, mas não consegui encontrar aqui.

Mas, sim. Algum tipo de chat relaxado/amigável/informal no qual uma ideia se forma durante o curso da fácil troca de ideias e, em seguida, inspira um tópico de discussão adequado.

2 curtidas

Fico pensando quando é preferível mover mensagens em vez de citá-las. Talvez dependa se já existe um tópico ou não? Não tenho certeza. Em que cenários um dos seguintes seria melhor para incentivar as pessoas?\n\n1. Citar mensagens de chat em um tópico existente\n2. Mover mensagens de chat para um tópico existente\n3. Citar mensagens de chat para um novo tópico\n4. Mover mensagens de chat para um novo tópico\n\nComo sequências de mensagens de chat são, erm, mais “conversacionais” do que tópicos, tenho a impressão de que podemos querer incentivar mais a citação do que a movimentação, em geral.\n\nExistem casos que as pessoas observaram ou têm em mente onde você pensa: “não, citar não seria bom aqui. definitivamente precisamos movê-los em vez disso”?

2 curtidas

Se você apenas citar, a discussão poderá continuar em dois lugares.

@Moin você está sugerindo que mover mensagens seria preferível quando você realmente quer evitar isso?

Obrigado por fazer isso – isso está completamente confuso! Terei que fazer alguns testes locais com conjuntos de mensagens maiores. Acho que, no mínimo, isso será necessário:

No entanto, geralmente fico apreensivo em ordenar por ID por causa de inconsistências estranhas, acho que ordenar mensagens por created_at seria melhor em geral para os canais. @j.jaffeux ou @mcwumbly, quais são seus pensamentos sobre isso? Se decidirmos fazer isso, o mover de mensagens pode precisar espaçar artificialmente os valores de created_at em 10ms cada, mais ou menos, para uma ordenação consistente.

Acho que, em geral, se forem totalmente irrelevantes para o canal atual, seria melhor movê-las para um canal mais apropriado. Usamos isso muitas vezes anteriormente internamente quando usávamos o Mattermost. Por exemplo, um monte de resposta a incidentes no canal geral que deveriam ser movidos para o canal incidente para um melhor registro. Ou, bate-papo ocioso em um canal que é melhor estar no canal aleatório.

Não acho que haja valor nesses casos de citar e deixar lixo antigo para trás, e como Moin diz, as coisas podem então ficar confusas, onde a discussão continua em dois lugares diferentes.

Tenha em mente que essas duas opções não existem atualmente. Removemos “Mover para Tópico” porque na implementação inicial estava criando uma postagem por mensagem de chat e também não estava excluindo as mensagens originais no canal. Se no futuro quisermos fazer isso novamente, precisará:

  • a) citar lotes de mensagens juntas (digamos, 100 por postagem) usando o recurso de citação de chat e
  • b) excluir os originais no canal para evitar duplicação.
5 curtidas

Abster-me-ei de comentar sobre a implementação para ordenar postagens e deixarei que @j.jaffeux comente sobre esse aspecto.

Ah, sim. Eu não estava perguntando sobre mover mensagens de chat dentro do chat, mas posso ver como isso pode ser útil, e não tem o problema de tentar converter forma curta em forma longa (ou vice-versa) “na postagem”.

Faz sentido. Gosto da forma geral de citar como mais uma “transcrição” como esta, porque acho que provavelmente será lida dessa forma de qualquer maneira. No passado, quando usei o recurso de transcrição do Slack, muitas vezes me vi envolvendo-o em [details] também, e resumindo as coisas no corpo principal da postagem.

Outro pensamento que tive nessa linha pode ser ter um recurso mais sofisticado de “expandir contexto”, para que você possa citar uma única mensagem, mas depois carregar mensagens adicionais em linha sob demanda para ver mais contexto do chat sem sair do tópico.

Sou cético quanto à necessidade ou valor dessa parte ao referenciar discussões na fronteira entre a via lenta e a via rápida.

4 curtidas

Isso só aconteceria se você escolhesse Mover para Tópico. Por que manter as coisas no canal se a sua intenção era movê-las? Já tivemos algumas discussões sobre isso internamente. Claro, apenas uma citação normal de mensagens em um tópico não excluiria nada.

Uma curiosidade para você: a classe que gera as citações é, na verdade, chamada ChatTranscriptService :slight_smile:

Isso é interessante, na verdade temos algo semelhante com nossas citações de tópicos (você provavelmente já viu isso). Provavelmente seria útil obter um pouco mais de contexto sem ter que visitar o canal.

3 curtidas

Eu diria que o caso de uso para mover é:

  • Temos um canal dedicado à discussão sobre “Baleias”
  • Um monte de gente começa a ter uma discussão envolvente sobre “Pinguins” porque esqueceram de clicar em “#pinguim” e as coisas esquentaram
  • Um moderador intervém e :foot: move a conversa sobre Pinguins para o canal dos Pinguins.

Eu acho que a coisa fundamental aqui é a reordenação.

Eu diria que “fudge created_at” é a única solução sensata aqui porque você quer que tudo seja movido em um bloco? Além disso, tecnicamente, ele é criado no momento em que é movido.

5 curtidas

Sim, acho que estou me perguntando se é necessário, ou se citação/transcrição é a coisa a se concentrar em fazer funcionar muito bem.

3 curtidas

Sim, eu faria isso 100% se nossa rota normal de mensagens GET para um canal fosse ordenada por created_at, é isso que quero resolver, estava apenas me perguntando se Joffrey tinha algum conhecimento histórico sobre isso. Se não, mudarei ambas as coisas de uma vez.

2 curtidas

Sim, estou 100% com o Sam e você😁 Mover tudo de uma vez e dar a ele o created_at do momento da movimentação é a única abordagem sensata na minha opinião. Caso contrário, isso abre uma gigantesca caixa de Pandora… como saberei onde encontrá-lo? Receber notificações não lidas para coisas criadas antes da minha última leitura? não, não, não

4 curtidas

Legal, vou ajustar a ferramenta de mover para que as mensagens movidas fiquem no :sparkles: futuro :sparkles: com um pequeno incremento espaçado, e fazer com que as mensagens do chat sejam ordenadas por created_at em vez de ID no controller geral :+1:

3 curtidas

Acabei de mesclar isso na esperança de resolver o problema:

Não fiz nada para espaçar artificialmente created_at para o futuro por enquanto, então vamos ver como isso vai primeiro.

4 curtidas

Este tópico foi fechado automaticamente após 11 dias. Novas respostas não são mais permitidas.