Представляем потоки чата!

Вы видите это только в каналах, где потоки были недавно включены и клиент еще не обновлялся после этого изменения? Или также в случаях, когда вы уже обновляли его один раз после включения потоков?

Кажется, мы сталкивались с чем-то подобным не так давно и исправили это.

Может быть, проблема вернулась? Если вы обновитесь до последней версии tests-passed, проблема всё ещё сохраняется?

2 лайка

Все наши чат-каналы недавно были активированы.

Не уверен, когда и как пользователи обновили свои браузеры. Возможно, стоит принудительно выполнять полную перезагрузку системы каждый раз после установки обновления или изменения администратором системных параметров?

Не знаю, как обстоят дела у вас, но наши пользователи, если попросить их обновить страницу, скорее всего, спросят, можно ли это съесть.

Сейчас установлю последнюю версию и попрошу моих тестовых пользователей понаблюдать. Спасибо за ответ.

4 лайка

Привет! Мне очень нравится, что ответ на комментарий сразу создаёт новую ветку :slight_smile:
Предлагаю считать, что новый комментарий — это ответ на непосредственно предыдущий комментарий. Это наиболее частый сценарий в разговоре. Людям естественно использовать «ответить на» для комментария, который уже есть в диалоге, но когда они хотят ответить на непосредственно предыдущий комментарий, они так не делают. С момента, как человек начинает писать в такой ситуации, я предполагаю, что он хочет ответить на непосредственно предыдущий комментарий и создать ветку (это будет работать даже если появятся новые комментарии, так что пользователю не придётся удалять и переписывать). Таким образом, когда люди начинают печатать, над полем ввода будет написано «Ответ на (…)», а если они не хотят этого делать, рядом с этим текстом будет кнопка «x». Это упростит процесс и поможет сохранить канал чистым, на мой взгляд.

4 лайка

Экспорт сообщений чата в CSV-файл

Я рад видеть, что другие относятся к чату достаточно серьёзно, чтобы сохранять его. Отлично, что теперь мы можем получить CSV-файл с нашими сообщениями. Было бы ещё лучше, если бы эту задачу можно было автоматизировать через настройки администратора. Однако это шаг вперёд.

Изначально идея и концепция «чата» заключались в том, что он эфемерен и не заслуживает постоянного хранения. Возможно, это рассматривалось как способ избежать необходимости включать «светские беседы» в базу данных? Каковы бы ни были первоначальные мотивы, очевидно, что люди хотят сохранять переписку, и предпринимаются шаги, позволяющие администраторам это делать.

Я очень доволен прогрессом и с нетерпением жду полной сохранности наших сообщений.

4 лайка

Прежде чем я продолжу, хочу отметить очевидную истину для всех, кто пользуется чатами: чат — понятие крайне субъективное, и найти «правильное» решение практически невозможно, если выбирать лишь один из множества вариантов.

Я склонен делить треды в чатах на две категории: подпространства и встроенные ответы.

Платформы, использующие формат подпространства, создают «карманы», когда кто-то отвечает на сообщение: все ответы хранятся в таком кармане и скрыты, пока кто-то не нажмёт, чтобы присоединиться к нему. Многие знакомы с этим подходом по Slack; именно так работает встроенная функция чата в Discourse.

Встроенные ответы оставляют все реплики в основном потоке чата, указывая на исходное сообщение через ссылку-якорь. Здесь есть два варианта: с цитированием текста и без. Пример с цитированием — Discord (который использует выдержку, а не полную цитату) или приложение «Сообщения» на устройствах Apple. Ранее Discord использовал встроенные ответы без цитирования, прежде чем перейти к текущему формату. Другой пример встроенных ответов без цитирования — функция чата на Stack Exchange / Stack Overflow.

Оба подхода validны, у каждого есть свои применения, и они в некотором роде «решают» проблемы, создаваемые другим:

  • Я считаю, что карманы подпространства…
    • + отлично подходят для удержания побочной линии рассуждений или глубокого погружения в тему, не отвлекая от основного обсуждения;
    • + позволяют держать такие отклонения аккуратными и легко отслеживаемыми, но
    • - их легко пропустить, особенно если ответы появляются спустя долгое время после того, как чат перешёл к другим темам;
    • - становится важнее убедиться, что вы уведомляете (пингуете) всех, кому нужно видеть эти ответвления.
  • С встроенными чатами всё наоборот…
    • - поскольку всё находится в одном потоке, легко увести чат в сторону, отклонившись в сторону;
    • - может запутать при одновременном отслеживании нескольких линий обсуждения;
    • + поскольку всё в одном потоке, невозможно что-то упустить, как это бывает в подпространствах;
    • + пользователям не нужно сильно задумываться о том, чтобы правильно уведомить конкретных людей в ответе.

Как пользователь Slack и Discord уже несколько лет, я бы утверждал, что «правильное» решение, вероятно, то, которое не хочет слышать ни один разработчик: иметь оба варианта. Для меня главными факторами выбора предпочтительного формата являются:

  1. Сколько людей участвует в чате или насколько он активен.
    • Если я общаюсь с одним человеком или активность низкая, мне нужны только встроенные ответы. Даже при 2–3 участниках подпространства не нужны. Не могу сказать, сколько раз меня раздражало использование подпространств в личных сообщениях Slack между двумя людьми.
    • Если в пространстве много участников и сообщения летят быстро, отслеживать встроенные диалоги становится гораздо сложнее, особенно когда люди неаккуратно используют функцию ответа.
  2. Насколько сильно я хочу/нужно видеть всё.
    • Если я играю вспомогательную роль в канале Slack, подпространства разгружают канал, позволяя мне быстро просматривать сообщения.
    • Если я в пространстве, где упустить что-то, скрытое в треде, было бы плохо, я предпочитаю встроенные ответы. FOMO — это реально, друзья!
  3. Насколько «глубоко» заходит тред.
    • Каналы, где за вопросом следуют десятки или даже сотни ответов, должны использовать подпространства.
    • Каналы, где на сообщение обычно приходится очень мало ответов, лучше работают со встроенными ответами.
  4. Кто я и к чему привык.
    • Я знаю человека, который создал скрипт для Slack, чтобы убрать подпространства, потому что они ему так не нравятся.
    • Я знаю людей, которые настойчиво требуют, чтобы их команды всегда использовали подпространства в каналах Slack, и слегка сердятся, когда этого не делают.

Всё это к тому, что не существует универсального (или даже подходящего для большинства) решения. Я обратился к этому мета-посту именно потому, что находился в чате один на один на другом экземпляре Discourse и был удивлён выбором системы тредов; мне очень хотелось избежать тредов.

Несколько идей, если вы рассматриваете возможность предложить оба варианта:

  • Рассмотрите возможность настройки пользователя, позволяющей выбрать предпочитаемый стиль глобально или для каждого чата отдельно.
  • Учитывайте количество пользователей в пространстве чата, частоту сообщений и среднюю глубину ответов при автоматическом выборе формата — например, использовать встроенные ответы, пока количество ответов в цепочке не достигнет определённого порога, или пока пользователь явно не попросит «преобразовать ответы в тред».
  • Учтите ситуацию, когда кто-то создаёт новый тред ответа на сообщение вчерашнего дня или прошлой недели, и имеет ли смысл указывать на это сообщение (или разрешать отвечающим публиковать ответ встроенно, как это делает Slack).

Я считаю, что то, что у вас есть, вполне приемлемо, но мне бы очень хотелось увидеть, как Discourse, развивая эту функцию, размоет границу между этими двумя различными подходами.

7 лайков

Большое спасибо за такой продуманный и конструктивный подход.

Мы вас действительно услышали, и большинство из этих пунктов хотя бы пару раз приходили нам в голову. Я вполне уверен, что по мере развития чата и роста его популярности этот вопрос будет решён в ближайшем (или не очень) будущем.

8 лайков

Я думаю, что это можно красиво решить, показывая встроенные фрагменты всех тем до определенного лимита. Так, если комментариев немного, все они будут читаемы, а если их больше, часть будет доступна для чтения прямо в потоке, что уже дает быстрое представление о разговоре с первого взгляда (а пользователь при желании сможет перейти в подпространство темы).

3 лайка

IMO это касается и тем форума. Я хочу видеть фрагменты как первого, так и самых последних комментариев/ответов на верхнем уровне списка для удобного просмотра. Я создал и протестировал подобную систему, и можно было отслеживать несколько обсуждений одновременно, просто наблюдая за тем, как постоянно обновляются несколько последних ответов. (примечание: это был ответ на предыдущий пост, который был объединён с отдельным постом ниже)


Думаю, что в какой-то момент темы и потоки станут единой базовой системой. Это в основном разница в UX и представлении, не так ли? Иначе нам придётся дублировать многие одинаковые функции и возможности для обоих вариантов.

1 лайк

В настоящее время у нас нет планов по внедрению потоков в темы. Это функция, доступная только в чате.

Однако существует множество обсуждений по внедрению потоковых ответов, если вы хотите продолжить разговор в одном из них?

Я имею в виду, что чат с потоками не сильно отличается от форума с темами. По мере внедрения новых функций в Discourse мы естественным образом захотим, чтобы многие из них применялись как к сообщениям форума, так и к сообщениям чата, что было бы проще, если бы технически они базировались на одной и той же основной системе.

1 лайк

Я тоже выступаю за конвергенцию. Мне кажется, это самый надежный долгосрочный подход ко всему в целом: выявлять, где абстракции функциональности совпадают, и делать их таковыми. Например, я однажды предложил рассматривать теги как форму «мета-категорий».

1 лайк

Пост был разделен на новую тему: Не удается ответить на сообщение в чате, чтобы создать тему

Поскольку эта функция уже хорошо зарекомендовала себя, я закрою эту тему с объявлением. :tada:

Если у вас возникнут проблемы с этой функцией или у вас есть предложения по её улучшению, пожалуйста, создайте новую тему в разделах Support, ux или #feature. :slight_smile:

7 лайков