Presentamos Discourse Chat (BETA)

Actualmente existe la opción de tener muchos canales asociados a una categoría.

1 me gusta

Si instalamos el plugin de código abierto, ¿habrá una transferencia fluida cuando se integre en core/public?

1 me gusta

El plugin es un plugin compatible oficialmente. Si se migra al núcleo (actualmente no hay planes), habrá una ruta de migración adecuada, sí.

9 Me gusta

Sería genial si los canales pudieran crearse como privados/públicos y tuvieran URL públicas para que los motores de búsqueda los indexaran. Esto traería tráfico adicional a la comunidad.

3 Me gusta

Después de la actualización y 10 segundos de prueba: ahora puedo cerrar canales innecesarios, incluso y especialmente los privados.

Como dicen nuestros amigos británicos tan a menudo: espléndido, en efecto.

9 Me gusta

Se encontró algo que parece ser un error de UX. Al pasar el cursor sobre un mensaje y sobre la barra de herramientas de interacción del mensaje, y luego hacer clic en el botón de emoji, la superposición de emoji permanecerá en pantalla incluso después de hacer clic en los botones de responder o puntos suspensivos; sin embargo, hacer clic fuera de la barra de herramientas hace que la ventana de emoji desaparezca.

Aquí hay un clip del comportamiento y, como podemos ver, la superposición de puntos suspensivos está oculta detrás de la superposición de emoji.

CleanShot 2022-01-07 at 07.17.32

7 Me gusta

Gracias por agregar los botones X para ocultar chats. Un par de puntos de retroalimentación:

  1. Los botones X no aparecen en absoluto en el móvil (¿porque están ocultos hasta que pasas el cursor por encima?), por lo que actualmente no puedes salir de los chats personales en el móvil.
  2. Actualmente no se puede agregar un nuevo chat personal; este error ocurre tanto en escritorio como en móvil.
3 Me gusta

Esto es un compromiso por ahora, en unos meses implementaremos una acción de deslizar en el móvil para abandonar

¿Puedes reconstruir e intentarlo de nuevo?

6 Me gusta

Hola, me funciona muy bien, solo que en los teléfonos móviles no veo una opción para cerrar el chat.

3 Me gusta

+1 a la pregunta sobre los requisitos de rendimiento.
Actualmente estoy ejecutando una pequeña instancia que tiene limitaciones de recursos de forma constante. (sí, sé que debería actualizar a una instancia más grande :wink:)

1 me gusta

Raramente. Aproximadamente 19 de cada 20 intentos de reconstruir, uno de los 50 comandos git durante la reconstrucción se cuelga para siempre. Muy extraño. No empezó a suceder hasta hace unas semanas.

3 Me gusta

Discourse Chat y category-lock (el de Pavilion) son incompatibles en mi instancia.

Registro de error de Backtrace:

app/models/concerns/has_custom_fields.rb:173:in `[]'
plugins/discourse-category-lockdown/plugin.rb:16:in `block (2 levels) in activate!'
(eval):33:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:456:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
plugins/discourse-chat/app/serializers/chat_channel_serializer.rb:38:in `chatable'
(eval):4:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:456:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer/associations.rb:124:in `block in serialize'
active_model_serializers (0.8.4) lib/active_model/serializer/associations.rb:123:in `map'
active_model_serializers (0.8.4) lib/active_model/serializer/associations.rb:123:in `serialize'
lib/freedom_patches/ams_include_without_root.rb:57:in `include!'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:368:in `block in include_associations!'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:367:in `each_key'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:367:in `include_associations!'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:362:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
app/controllers/application_controller.rb:486:in `serialize_data'
app/controllers/application_controller.rb:495:in `render_serialized'
plugins/discourse-chat/app/controllers/chat_channels_controller.rb:6:in `index'
actionpack (6.1.4.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.1.4.1) lib/abstract_controller/base.rb:228:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.1.4.1) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:117:in `block in run_callbacks'
app/controllers/application_controller.rb:387:in `block in with_resolved_locale'
i18n (1.8.11) lib/i18n.rb:314:in `with_locale'
app/controllers/application_controller.rb:387:in `with_resolved_locale'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:126:in `block in run_callbacks'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:137:in `run_callbacks'
actionpack (6.1.4.1) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
activesupport (6.1.4.1) lib/active_support/notifications.rb:203:in `block in instrument'
activesupport (6.1.4.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.1.4.1) lib/active_support/notifications.rb:203:in `instrument'
actionpack (6.1.4.1) lib/action_controller/metal/instrumentation.rb:33:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
activerecord (6.1.4.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.1.4.1) lib/abstract_controller/base.rb:165:in `process'
actionview (6.1.4.1) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.3.3) lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'

actionpack (6.1.4.1) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.1.4.1) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:842:in `call'
railties (6.1.4.1) lib/rails/engine.rb:539:in `call'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `public_send'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `method_missing'
actionpack (6.1.4.1) lib/action_dispatch/routing/mapper.rb:20:in `block in <class:Constraints>'
actionpack (6.1.4.1) lib/action_dispatch/routing/mapper.rb:49:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:842:in `call'
lib/middleware/omniauth_bypass_middleware.rb:71: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'
actionpack (6.1.4.1) lib/action_dispatch/http/permissions_policy.rb:22:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:356: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.1.4.1) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack (6.1.4.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.10.1) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.1.4.1) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.1.4.1) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
request_store (1.5.0) lib/request_store/middleware.rb:19:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/request_id.rb:26:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/host_authorization.rb:92:in `call'
rack-mini-profiler (2.3.3) lib/mini_profiler/profiler.rb:249:in `call'

message_bus (4.0.0) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:198:in `call'
railties (6.1.4.1) lib/rails/engine.rb:539:in `call'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `public_send'
railties (6.1.4.1) lib/rails/railtie.rb:207: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 (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `<main>'

Info Error log

StandardError (Se intentó acceder al campo personalizado no precargado 'redirect_url'. Esto está prohibido para prevenir consultas N+1.)
app/models/concerns/has_custom_fields.rb:173:in `[]'
(eval):33:in `_fast_attributes'
(eval):4:in `_fast_attributes'
lib/freedom_patches/ams_include_without_root.rb:57:in `include!'
app/controllers/application_controller.rb:486:in `serialize_data'
app/controllers/application_controller.rb:495:in `render_serialized'
app/controllers/application_controller.rb:387:in `block in with_resolved_locale'
app/controllers/application_controller.rb:387:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:356:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:198:in `call'

Registro de error [object Object] no capturado

Uncaught [object Object]
Url: https://www.domainname.com/assets/vendor-96a5eaa8d436066b954c21ae5afb7f504310945c679465a2f1ba46b429a95edf.js
Line: 30
Column: 180630
Window Location: https://www.domainname.com/
3 Me gusta

Cuando el chat está habilitado, ¿cómo se relaciona con las métricas de un usuario? ¿La participación en el chat cuenta de alguna manera para el crecimiento/participación del nivel de confianza?

¿Y hay planes para agregar métricas al panel de administración para rastrear la participación en el chat?

3 Me gusta

Estoy usando Discourse Chat solo para miembros de trust_level_3 y basado en categorías (una categoría disponible solo para miembros de trust_level_3). ¿Puedo, como administrador, hacer que todos los miembros de trust_level_3 se unan al canal automáticamente sin tener que pasar por la lista de canales y unirse ellos mismos?

1 me gusta

No.

No.

No se relaciona de ninguna manera.

10 Me gusta
  • ¿El chat se somete a las mismas reglas de bloqueo de palabras que las publicaciones?

  • ¿Hay alguna forma para que los administradores revisen el chat personal de otros? (Preocupado por el abuso potencial. Los mensajes privados pueden ser limitados y monitoreados, pero el chat parece una forma fácil de abusar)

6 Me gusta

Todavía no, pero haremos que suceda

Tenemos planes a largo plazo para admitir el cifrado de Discourse con chat

Los datos en este momento no están cifrados en la base de datos

13 Me gusta

No. Siempre habrá errores. Hay errores en Discourse hoy, al igual que hay errores en el chat. Los corregimos a medida que se nos informan.

¿Es el chat lo suficientemente seguro como para instalarlo? Sí. Lo estamos utilizando ampliamente internamente, y lo hemos estado haciendo exclusivamente durante casi 2 meses. (Anteriormente usábamos Mattermost, y lo cerramos a principios de diciembre) Hay pequeños errores aquí y allá, y muchas características que todavía queremos agregar, pero ciertamente es seguro de usar.

17 Me gusta

Hola, y gracias por el gran plugin, ¡realmente añade algo interesante a discourse!

Pregunta rápida: ¿es posible o está planeado tener el icono de chat dentro del perfil o en la tarjeta de usuario?

También está poco claro cómo los mensajes de chat terminan notificando a los usuarios por correo electrónico y cuándo? (la pregunta subyacente es: ¿podríamos simplemente reemplazar los mensajes directos con la funcionalidad de chat?)

7 Me gusta

Cuando estoy dentro de un canal de chat en el móvil, he notado que sigo haciendo clic en la burbuja de chat en la cabecera para intentar volver a la lista de canales de chat y no me lleva a ninguna parte. Cuando no estoy en el chat y hago clic en ella, me lleva a la lista de canales de chat.

¿Hay alguna manera de hacer esto uniforme, de modo que el icono de la burbuja de chat en la cabecera siempre me lleve a la lista de canales de chat en el móvil, ya sea que esté dentro de un canal de chat o no?

9 Me gusta