Babble Chat

@gdpelican Отличная работа над этим плагином — он прошел долгий путь! :rocket: Мне особенно нравятся звуковые уведомления, интеграция «Кто онлайн» и всплывающие уведомления, когда чат свернут. Стильно!

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

Самый главный вопрос, пожалуй, — устойчивость: это неофициальный плагин, так что не могли бы вы немного рассказать о своём опыте поддержки его на протяжении лет и о ваших будущих планах? Я понимаю, что это проект с открытым исходным кодом, поэтому в этом смысле он защищён от устаревания, но есть ли ещё люди, помимо @gdpelican, которые знакомы с кодом и привержены проекту, способные развивать его дальше, если с вами что-то случится? Иншаллах, этого не произойдёт!

В этой теме есть несколько проблем, которые не перечислены на GitHub. Не туда ли нам стоит публиковать сообщения об ошибках? Возможно, централизация отчётов об ошибках в одном месте поможет вам реагировать более эффективно, не тратя слишком много времени, и поможет нам понимать, что входит в дорожную карту, а что (и это, возможно, важнее) — нет.

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

Некоторые ошибки и, надеюсь, лёгкие исправления:

  • ошибка: чат отображается на панели администратора, даже когда плагин Babble не включён
  • в настройках администратора: отсутствует перевод: en.site_settings.babble_initial_user_count
  • обновление: когда я упомянул пользователя (@mention), он получил уведомление по электронной почте со ссылкой одновременно на тему в категории и на чат в Babble. Это кажется ошибочным и странным! Ссылка должна вести, например, просто на главную страницу сайта с открытым чатом в Babble, без отображения темы Babble.
  • Пользователи должны иметь возможность начать с нуля пользователей в списке для личных сообщений, а затем создать свой собственный список людей, с которыми они хотели бы общаться в личных сообщениях. Если я установлю «babble initial user count» в ноль, опция личных сообщений просто не появляется. Это ошибка? :bug:

edit: ещё одна ошибка:

  • при удалении тестового пользователя и его сообщений, каналы чата, в которых участвовал пользователь, тоже удалялись. Это неожиданно.

Мысли/предложения по новым функциям:

  • Где администраторы могут просматривать и управлять логами чата? Эти сообщения, похоже, скрыты как темы, что отлично с точки зрения UX для пользователей, но для администраторов должен быть способ заглянуть в них и управлять ими. Возможно, администраторам можно предоставить доступ, и ссылка, например, на /t/n/1234 могла бы быть доступна из раздела управления каналами в admin/chats.
  • Если пользователь отключил Babble в своих настройках пользователя, он всё ещё может отображаться в списке личных сообщений для других, его можно найти через поиск, и с ним можно начать общение. Такие сообщения, похоже, исчезают в никуда, что немного тревожит. Было бы полезно хотя бы какое-то указание на то, что этот пользователь не использует Babble, или вообще запретить общение с тем, кто отключил эту функцию.
  • Если не отправляется уведомление по электронной почте офлайн-пользователям, когда им приходит чат (и, похоже, не отправляется), то я считаю, что функция личных сообщений должна работать только для общения с пользователями, которые сейчас онлайн. Также должна быть настройка администратора для включения/отключения уведомлений по электронной почте, на случай, если кто-то захочет использовать её для относительно безопасного общения на сайте.
  • Пользователи должны иметь возможность удалять пользователей из списка личных сообщений. Возможно, справа от их имён можно добавить крестик, который при нажатии удаляет их из списка. Поиск позволит им снова добавлять пользователей в список по своему усмотрению.
  • Мне нравится звук уведомления, но я могу представить, что другим он может показаться раздражающим, или они предпочтут другой звук. Возможность для администраторов загружать и делать доступными различные звуки уведомлений для выбора участниками была бы интересной.
  • Возможность для администраторов устанавливать настройки пользователя по умолчанию для Babble уже упоминалась, и я поддерживаю её добавление.
  • Чат достаточно заметен, поэтому было бы полезно добавить ссылку на настройки Babble из самого интерфейса чата. Как минимум, переключатель для включения/отключения звуковых уведомлений.
  • На карточке пользователя и на странице профиля для пользователей, которые сейчас онлайн, можно ли добавить кнопку для начала чата рядом с кнопкой для начала сообщения? Это был бы отличный способ напрямую связаться с людьми. Включается через настройку администратора, потому что я могу представить, что многие не захотят этого в своих сообществах.

edit после дня использования:

  • в Babble, похоже, не используются групповые флаги или даже стандартные фавиконки для групп, что визуально немного режет глаз.
  • когда я выбираю канал группы, логично было бы увидеть список участников этой группы, которые сейчас онлайн, для личных сообщений или упоминаний в чате.
  • когда я нахожусь справа, по какой-то причине селектор эмодзи всё ещё появляется слева, что немного далеко для выбора эмодзи на большом экране, как у меня. :slight_smile:
  • всплывающее уведомление имеет тень, в отличие от других всплывающих уведомлений в Discourse

… и ещё один отчёт об ошибке перед тем, как я оставлю это на время и дам другим возможность ответить. Я заметил, что личные сообщения отображаются в списке последних тем на странице «Страница не найдена» с заголовком в виде случайной строки. См. скриншот. Это режим инкогнито, поэтому это видно всем. Между этой проблемой и тем, что случайные пользователи появляются в списке тех, с кем можно общаться в личных сообщениях, но затем не видят свои сообщения, если у них нет доступа к каналу… пока я отключу функциональность личных сообщений.

6 лайков

Только сегодня утром заметил, что настройка babble history window вроде бы не работает. Вижу задачу Sidekiq Jobs::BabblePruneHistory, но при её запуске ничего не происходит. Настройка была установлена на удаление сообщений старше одного дня, однако в чатах есть сообщения трёхдневной давности. Изменил значение на два дня и снова запустил задачу Sidekiq, но эффекта нет. Для нас это довольно важная функция, поэтому, если известно, что она не работает как заявлено, дайте знать.

Тем временем нашёл способ получить доступ к темам каналов: просто перейдите по адресу admin/chat, выберите канал, а затем замените admin/chat/nnnn на t/nnnn, где nnnn — это идентификатор темы канала. Просто. :slight_smile:

Я использую образы Bitnami для Discourse, и в моих тестах этот плагин не обеспечивает чат в реальном времени. Чтобы увидеть новые сообщения, необходимо обновить страницу. Так ли это работает с этим плагином? Или у других пользователей чат в реальном времени через Babble работает нормально?

Не уверен, но Babble должен работать так же, как и любая тема в Discourse, поскольку он создаёт отдельную тему для каждого канала чата. Значит, обновления должны происходить в реальном времени.

Я думаю, это связано с моим обратным прокси-сервером nginx, который я использую для развёртывания Discourse. Я включил поддержку WebSocket для сайта, но работа в реальном времени всё ещё не работает. Спасибо за подтверждение, что это должно работать в реальном времени. Я помню, что читал страницу с конфигурацией nginx для Babble, но больше не могу её найти… Есть ли у вас какие-либо мысли о том, что ещё нужно настроить в nginx? Ха-ха, не волнуйтесь, вам не нужно отвечать на это. Я найду это. Спасибо!

Можно ли скрыть или размыть сообщения от игнорируемых / заблокированных пользователей?

Привет, @gdpelican, я, кажется, нашёл проблему. Уже неделю, а может и две, администраторы не видят чат при нажатии на иконку. Доступ к нему есть только у администратора :thinking:

Привет, Джеймс

Есть ли способ добавить маршрут в плагин, чтобы его можно было запускать из компонента темы панели вкладок Discourse?

Это было бы здорово с точки зрения удобства использования.

Какой отличный плагин!!

Я попытался прочитать 289 сообщений, но, возможно, упустил несколько моментов, поэтому извините, если на этот вопрос уже был дан ответ.

У меня есть несколько пожеланий:

  1. Отсортировать каналы по алфавиту
  2. Отключить/включить звук для конкретных каналов
  3. Сделать панель управления администратора более удобной; в настоящее время можно создать два одинаковых канала, даже не осознавая этого
  4. Разработать что-то похожее на Mattermost с командами и т. д.

Спасибо!!

Привет, друзья! :content:

Я добавил модуль Babble в свою установку Discourse. Мне нравится идея наличия чат-окна, похожего на Discord, на моём сайте, но сейчас у меня возникли две проблемы с ним.

Во-первых, у меня есть то, что я бы назвал фантомными упоминаниями (как у коллеги по использованию Discord <3).
image
Это значки упоминаний, при клике на которые ничего, кроме… Ничего не появляется. Я имею в виду, будто мне пришло личное сообщение, но там нет ничего нового.

А вторая проблема в том, что отправка личного сообщения другому пользователю вызывает мой вебхук Discord и заставляет его объявлять о новой теме. Это же частный разговор, который должен оставаться частным.

Надеюсь, мы сможем выяснить, как это исправить… Заранее всем спасибо! :content:

Есть ли способ отображать личные сообщения (или одну конкретную тему ЛС с сообщениями) как сообщения один на один?

Мне не нравится, что сообщения один на один представляют собой отдельный канал и не используют просто ЛС.

1 лайк

@gdpelican Если я хочу добавить push-уведомления, например, через OneSignal или другого провайдера, как можно интегрировать это с Babble? Я полагаю, что, скорее всего, потребуется написать плагин, который будет подписываться на события через шину сообщений?

Я добавил Babble в свой Discourse, но им никто не пользуется, потому что нет уведомлений о новых сообщениях.

Также мне хотелось бы иметь настройку администратора, которая по умолчанию включает звуковые уведомления для всех пользователей, чтобы пользователям нужно было отключать их, а не включать. Но если push-уведомления будут работать, возможно, звуковые уведомления и не понадобятся…

Спасибо за плагин. Но при создании канала я получаю эту ошибку:

Не удалось сохранить этот чат-канал. Пожалуйста, попробуйте снова.

Любая помощь будет очень кстати.

Обновление: Канал был создан, несмотря на ошибку. Мне пришлось обновить кэш браузера, чтобы увидеть каналы. Должно быть, это баг, я так думаю.

2 лайка

У меня возникает та же ошибка. Ошибка, но канал всё же создаётся.

Также у меня окно чата случайно прокручивается к верху при нажатии на потоки.

1 лайк

Здравствуйте,

Плагин работал отлично, но после обновления пользователи больше не могут делиться фотографиями в чате.
Получаю:
error_babble
Я пробовал удалить все плагины, а затем устанавливать их по одному, но безрезультатно.
У кого-нибудь есть идеи?
Спасибо

4 лайка

@gdpelican, просто хотел напомнить об этом, похоже, у нескольких из нас возникли проблемы с функцией вложений — она не работает.

1 лайк

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

1 лайк

Мне и моим пользователям не нравится эффект исчезновения клавиатуры при публикации в чате.

Есть ли способ постоянно держать клавиатуру открытой в чате?

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

Как можно идентифицировать чаты Babble в Data Explorer? Я могу написать запрос, просто укажите мне таблицу и поле, которые идентифицируют тему или сообщение как чат Babble.