Babble 聊天

有计划将 Babble 列为官方支持的插件(https://www.discourse.org/plugins)之一吗?如果没有,原因是什么?

1 个赞

我们目前没有实施这一计划的打算。我们发现,将 Discourse 与聊天软件结合使用是足够的,只要将聊天视为短期记忆,而将 Discourse 视为长期记忆。此外,聊天往往信噪比偏低,这与我们通过强调段落而非单词来提升对话质量的宗旨直接相悖。

5 个赞

谢谢,Justin。关于将 Discourse 与聊天功能结合的最佳实践,您是否有任何示例或指导?我理解聊天的信噪比可能较低,但对于我们这家初创公司来说,它将是解决方案中至关重要的一环。提前感谢您的帮助。

1 个赞

你好,这个插件太棒了!我的网站肯定会用到它。

有个小建议。这个聊天界面在移动端表现有点奇怪,因为当用户输入时,它没有考虑键盘的高度。也许可以加个选项,让聊天消息默认从聊天窗口底部开始显示(就像大多数聊天应用那样)?这样在聊天刚开始时,新回复在移动端仍然可见。

不过,这项工作做得非常棒。我还在深入探索,但到目前为止,这真是一个很好的发现。

1 个赞

很大程度上取决于如何营造社区文化。例如,鼓励用户将聊天中的对话记录或摘要发布到 Discourse,将较长的讨论迁移到 Discourse,在主题中维护知识库并链接到相关内容等。如果您将聊天视为信息仅存在一天的临时渠道,这种思维方式最终会有所帮助。

5 个赞

大家好,

我在此处修复了几个问题,包括修复表情符号和附件功能以适配最新的 Discourse,修复点击提及内容或用户头像时用户卡片不显示的问题,防止图片在展开聊天时横向拉伸,并修复了一些弃用项。

8 个赞

你好..

点击用户时,如何替换“消息”按钮,以直接打开 Babble 私信,而不是默认的“开始消息”界面?

  1. 我的用户提出了一个功能请求,这将提升易用性。

我们有两个聊天室,用户希望能更快捷地在两者之间切换。
是否可以在聊天室名称的左右两侧添加 fa-chevron 箭头,以便快速切换到下一个/上一个聊天室?

  1. 目前,无法访问任何聊天室的用户会在其用户偏好设置中看到 Babble 选项。如果 Discourse 支持该功能,或许最好将其移除。

  2. 为每个聊天室设置自定义头像将是一个巨大的帮助。

1 个赞

对此有任何更新吗?有人能帮我吗?

你找到解决你提到的最后一个bug的方法了吗?我在隐身模式下也看到私信出现在搜索结果中。我假设只有实际参与对话的两个人才能阅读这些消息(希望如此!),但这确实给刚加入社区、可能好奇那些随机“数字”主题帖是什么的新潜水者带来了不少干扰。

很想知道你是否找到了绕过这个问题的方法,或者你只是不再使用私信功能了?

我在那篇帖子发布后就停止使用 babble 了。目前的状态我不太清楚。

明白了。cc: @gdpelican,如果你有时间的话帮忙看一下!

缺少帖子头像,我想这是最近 Discourse 更新导致的……

1 个赞

在我的手机上,Babble 按钮完美地显示在标题栏中:

但在我的桌面上,它出现在页面中间某个位置,看起来是这样的:
image

我希望该按钮在桌面上也能作为标题栏图标显示。
我该如何实现这一点?

1 个赞

我认为这可能是一个新功能。如果我没记错的话,当你自己的头像被隐藏的同时,还发生了另一个变化:你的帖子现在右对齐了。(也许帖子背景不再是蓝色的,但我不确定当时是否确实如此。)

因此,隐藏你自己的头像可能是一项功能,旨在让你更清楚地分辨哪些是自己的帖子。

我不确定最近是否有什么变化,但在重建 Discourse 后,搜索功能无法再使用了。在搜索框中输入任何内容都会导致内部服务器错误。
我检查了日志,发现了以下内容:

image

点击后显示:

plugins/babble/app/models/search.rb:3:in `execute'

app/controllers/search_controller.rb:132:in `query'

actionpack (6.0.3.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

actionpack (6.0.3.2) lib/abstract_controller/base.rb:195:in `process_action'

actionpack (6.0.3.2) lib/action_controller/metal/rendering.rb:30:in `process_action'

actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'

activesupport (6.0.3.2) lib/active_support/callbacks.rb:112:in `block in run_callbacks'

app/controllers/application_controller.rb:340:in `block in with_resolved_locale'

i18n (1.8.5) lib/i18n.rb:313:in `with_locale'

app/controllers/application_controller.rb:340:in `with_resolved_locale'

activesupport (6.0.3.2) lib/active_support/callbacks.rb:121:in `block in run_callbacks'

activesupport (6.0.3.2) lib/active_support/callbacks.rb:139:in `run_callbacks'

actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:41:in `process_action'

actionpack (6.0.3.2) lib/action_controller/metal/rescue.rb:22:in `process_action'

actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'

activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `block in instrument'

activesupport (6.0.3.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'

activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `instrument'

actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:32:in `process_action'

actionpack (6.0.3.2) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'

activerecord (6.0.3.2) lib/active_record/railties/controller_runtime.rb:27:in `process_action'

actionpack (6.0.3.2) lib/abstract_controller/base.rb:136:in `process'

actionview (6.0.3.2) lib/action_view/rendering.rb:39:in `process'

rack-mini-profiler (2.0.4) lib/mini_profiler/profiling_methods.rb:104:in `block in profile_method'

actionpack (6.0.3.2) lib/action_controller/metal.rb:190:in `dispatch'

actionpack (6.0.3.2) lib/action_controller/metal.rb:254:in `dispatch'

actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'

actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:33:in `serve'

actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'

actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `each'

actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `serve'

actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:834:in `call'

lib/middleware/omniauth_bypass_middleware.rb:68:in `call'

rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'

rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'

rack (2.2.3) lib/rack/head.rb:12:in `call'

lib/content_security_policy/middleware.rb:12:in `call'

lib/middleware/anonymous_cache.rb:336:in `call'

rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'

rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'

actionpack (6.0.3.2) lib/action_dispatch/middleware/cookies.rb:648:in `call'

actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'

activesupport (6.0.3.2) lib/active_support/callbacks.rb:101:in `run_callbacks'

actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'

actionpack (6.0.3.2) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'

actionpack (6.0.3.2) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'

actionpack (6.0.3.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'

logster (2.9.1) lib/logster/middleware/reporter.rb:43:in `call'

railties (6.0.3.2) lib/rails/rack/logger.rb:37:in `call_app'

railties (6.0.3.2) lib/rails/rack/logger.rb:28:in `call'

config/initializers/100-quiet_logger.rb:19:in `call'

config/initializers/100-silence_logger.rb:31:in `call'

actionpack (6.0.3.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'

actionpack (6.0.3.2) lib/action_dispatch/middleware/request_id.rb:27:in `call'

lib/middleware/enforce_hostname.rb:22:in `call'

rack (2.2.3) lib/rack/method_override.rb:24:in `call'

actionpack (6.0.3.2) lib/action_dispatch/middleware/executor.rb:14:in `call'

rack (2.2.3) lib/rack/sendfile.rb:110:in `call'

actionpack (6.0.3.2) lib/action_dispatch/middleware/host_authorization.rb:76:in `call'

rack-mini-profiler (2.0.4) lib/mini_profiler/profiler.rb:321:in `call'

message_bus (3.3.1) lib/message_bus/rack/middleware.rb:61:in `call'

lib/middleware/request_tracker.rb:176:in `call'

railties (6.0.3.2) lib/rails/engine.rb:527:in `call'

railties (6.0.3.2) lib/rails/railtie.rb:190:in `public_send'

railties (6.0.3.2) lib/rails/railtie.rb:190:in `method_missing'

rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'

rack (2.2.3) lib/rack/urlmap.rb:58:in `each'

rack (2.2.3) lib/rack/urlmap.rb:58:in `call'

unicorn (5.6.0) lib/unicorn/http_server.rb:632:in `process_client'

unicorn (5.6.0) lib/unicorn/http_server.rb:728:in `worker_loop'

unicorn (5.6.0) lib/unicorn/http_server.rb:548:in `spawn_missing_workers'

unicorn (5.6.0) lib/unicorn/http_server.rb:144:in `start'

unicorn (5.6.0) bin/unicorn:128:in `<top (required)>'

vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'

vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<main>'

我移除了 Babble 插件并重新构建后,搜索功能又完全正常了。

请修复此错误。

4 个赞

对同时运行 Babble 插件与 Matterbridge 以及 Matterbabble 来连接第三方聊天服务的用户经验感到好奇。

您能否成功将 Babble 聊天与其他聊天服务(如 Slack、Discord、Matrix 等)同步?

我自己也遇到了这个问题,删除 babble 后重新构建,我的网站搜索功能也恢复正常了。

1 个赞

@gdpelican 我们也遇到了同样的问题(搜索返回内部服务器错误),方便时能否帮忙查看一下?我们的社区有一些资深聊天用户,由于我们暂时禁用了 Babble 直到问题解决,他们现在都很沮丧。

1 个赞

我也是——而且我们相当频繁地使用 Babble。