Babble Chat

Создал исправление и отправил PR, так как @gdpelican не отвечал в течение последней недели. Вы можете использовать альтернативный репозиторий, пока исправление не будет интегрировано в основной репозиторий.
Альтернативный репозиторий: https://github.com/PuttyTribe/babble
PR: Fix issue with search controller by ti0 · Pull Request #302 · gdpelican/babble · GitHub

Чтобы переключиться, просто измените вашу конфигурацию, заменив существующий репозиторий babble на: https://github.com/PuttyTribe/babble.git, и выполните пересборку.

@Newuser @itsbhanusharma @Boost @4ong

3 лайка

О, лол, похоже, у нас дефиле красоты :wink:

Ошибка вызвана этим изменением в ядре:

@angus, я предоставлю тебе право судить :wink:

О, какое совпадение! :slight_smile: Недели без активности, а тут два решения с разницей в 20 минут!
Сначала я выбрал именно то решение, но решил использовать универсальный вариант, так как параметр ни в одном случае не используется.

1 лайк

Я объединил PR от @merefield, который исправляет эту проблему.

@ti0 Спасибо и за твой PR. Аргумент действительно используется :slight_smile: Если вызывать super без аргументов (то есть вместо super()), аргументы подкласса автоматически передаются в super. Если посмотреть на переопределяемый метод, можно увидеть, где используется этот аргумент: discourse/lib/search.rb at main · discourse/discourse · GitHub.

@ti0 @merefield В качестве побочного замечания: стоит создать PR для ядра Discourse, чтобы добавить хук для добавления новых type_filters в класс Search из плагина. Это было бы более производительным и стабильным решением, чем патчинг метода execute. Это может стать интересным небольшим проектом, если вам удастся убедить команду Discourse, что такое дополнение оправдано.

@justin Вам удалось это исправить? У меня была та же проблема, пока я не изменил способ загрузки движка Babble в своей ветке. Подозреваю, что дело в том, как разные окружения обрабатывают метод загрузки файлов @gdpelican в инициализаторе, то есть:

require Rails.root.join('plugins', 'babble', 'app', path).to_s

Точно определить сложно. Возможно, я сделаю PR, чтобы обновить метод загрузки файлов Babble, и посмотрю, согласен ли @gdpelican изменить это на стандартный метод плагинов Discourse: использовать load с File.expand_path вместо require с Rails.root.


редактирование Я также добавил Babble на try.thepavilion.io, чтобы вы могли протестировать его в окружении, которое обновляется каждые 24 часа.

В будущем, если в Babble возникнет критическая ошибка (то есть он перестанет работать полностью) и Джеймс будет недоступен, пожалуйста, напишите @angus или @merefield, и мы это исправим (или проверим ваш PR :slight_smile: ).

6 лайков

Я имел в виду, что параметр не используется внутри переопределённого метода, который мы изменили. Исходя из того, что вы говорите, мой код должен всё ещё работать, потому что вызов super просто передаст **args, который собираёет именованные аргументы, и это более стабильно, если в будущем будут добавлены другие параметры. Имеет ли это смысл? Или я что-то упускаю?

1 лайк

Да, вы правы :slight_smile:

Только что провел небольшой тест, и ваш вариант тоже работает для текущих задач (то есть сохраняет функциональность readonly_mode). Это немного странно с концептуальной точки зрения, если подумать: **args теоретически должны быть установлены ещё до вызова суперкласса. Лично я (хотя у Джеймса может быть другое мнение) всё же предпочитаю более явный подход, так как мы уже передаём аргументы неявно, просто вызывая super. Добавление ещё одной порции неявности через **args кажется излишне усложнённым.

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

Возможно ли глобально установить параметр «автоматически открывать чат при загрузке страницы» как «да» для всех пользователей по умолчанию?

Возможно ли, чтобы в Babble ссылки отображались так же, как в Threads?

Например, при отправке ссылки на Twitter в чате Babble отображалось бы содержимое твита, а не просто URL.

Кто-нибудь интегрировал Memberful, и у вас отображилось реальное имя пользователя под его ником в чате?

Я бы хотел скрыть реальное имя, если это возможно.

Редактирование: У меня есть временное решение — просить участников указывать свой никнейм в качестве полного имени при регистрации, либо я вручную меняю полное имя на никнейм после их регистрации.

Использует ли кто-нибудь это по состоянию на 17 сентября 2020 года?

Просто хотел проверить, не является ли это побочным проектом.

3 лайка

@angus, на данный момент вы, возможно, самый доступный помощник в Babble. Поэтому я обращаюсь к вам с запросом на обновление кода, хотя буду рад, если этим займётся кто-то другой.

Я только что обновил нашу версию Discourse до 2.6.0beta2 (а именно эту версию коммита на GitHub), и теперь выборщик эмодзи не работает.

@itsbhanusharma помогает нам с установкой Discourse, и его первая мысль — проблема совместимости с обновлением выборщика эмодзи в ядре Discourse.

Проблема с выборщиком эмодзи

Окружение:

Браузер: Firefox или Chrome (последняя сборка)
Вид: настольный компьютер, планшет и мобильное устройство
Возможность воспроизвести проблему: 100%

Шаги для воспроизведения:

  • Откройте окно чата Babble.
  • Нажмите или коснитесь иконки выборщика эмодзи.

Ожидаемый результат:

Открывается интерфейс выборщика эмодзи.

Фактический результат:

Ничего не происходит. Окно выборщика эмодзи не открывается.


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

При нажатии на иконку «…» рядом с сообщением чата вариант «Пожаловаться» отображается как «[en_US.post.actions.flag]» вместо «Пожаловаться».

2 лайка

Панель выбора эмодзи в Babble также перестала работать на моём сайте.

1 лайк

Также мой чат случайно прокручивается вверх. Мне кажется, эта проблема уже была раньше.

1 лайк

@angus или кто-либо ещё, кто обладает техническими навыками для помощи с Babble в наши дни, есть ли у вас какие-либо надежды на исправление двух проблем, о которых я сообщил три недели назад в этом ответе на форуме?

Спасибо за быстрый ответ, Джоэл.

Я добавил поддержку нового выбора эмодзи в Discourse.

Я также исправил эту проблему.

7 лайков

Привет @angus, спасибо за твою усердную работу над этим плагином!

Моя система Discourse работает с пользовательским базовым URL для долгого опроса. Поскольку я только что добавил Babble, я заметил, что он не добавляет никаких заголовков Access-Control (CORS), из-за чего множество запросов завершаются неудачей.

Я мог бы написать исправление, если бы ты указал мне правильное направление в коде. :slight_smile:

После установки последних обновлений Discourse и новейшей версии Babble (несколько дней назад и снова вчера, чтобы проверить, исправлена ли проблема) у меня возникли проблемы с отправкой сообщений, а также индикатор прочтения застрял, показывая наличие новых сообщений.

Только что, когда я не смог отправить сообщение, в консоли браузера появилось множество ошибок такого вида:

Uncaught Error: No Reason Phrase
    jQuery 13
    error _application-49dab3118e527975ea48703627a0152cbe26663b7fde8423c667b094d716ae08.js:8967
    jQuery 4
_ember_jquery-865569b174cc91f4563f3552f437b32c6eadf9f6c3d49eae02cfe50e5a8c7dfa.js:38573:14
    jQuery 13
    u self-hosted:1177
    error _application-49dab3118e527975ea48703627a0152cbe26663b7fde8423c667b094d716ae08.js:8967
    jQuery 4
1 лайк

В списке учётных записей форума были обнаружены аккаунты со странными именами пользователей (начинающимися с «f5c…», например, f5cfe2e6cc098d) — This is the problem of a specific user or something else?

Сталкивался ли ваш плагин с подобной проблемой ранее?

https://site.example.com/u?name=f5c

В чём может быть причина (до этого момента на тестовом сайте не было каналов)?


babble
6db4042

Пожалуйста, исправьте (babble_initial_user_count)

путь admin/site_settings/category/plugins?filter=plugin%3Ababble

1 лайк