Los miembros no reciben correos electrónicos de la categoría Vigilada

Hola. ¿Hay alguna forma de anular la elección deliberada de los usuarios existentes?

Intenté UserOption.update_all(default_categories_watching: <id>) y UserOption.update_all(watched_categories: <id>), pero estas no son opciones de usuario…

EDITAR y solución: User.all.each do |user| CategoryUser.batch_set(user, :watching, [<id>]) end

1 me gusta

Es posible hacerlo a través de la consola de Rails (y también de la API), pero consideraría cuidadosamente si debería hacerlo o no. Si un usuario ha tomado la decisión deliberada de seguir o silenciar una categoría (o etiqueta o tema), anular esa elección probablemente no será deseado. También pueden simplemente volver a cambiarlo a lo que era, por lo que puede que no gane nada.

3 Me gusta

Gracias por la respuesta. Estoy totalmente de acuerdo. Aunque en nuestro caso, es para resolver un problema actual que describí aquí: Favor activity summary posts from certain category.

La idea es revertir la nueva configuración predeterminada (seguir una categoría determinada) y luego dejar que las personas la cambien como deseen.

Ahora he notado que el comando anterior User.all.each do |user| CategoryUser.batch_set(user, :watching, [<id>]) end de alguna manera no funcionó para cambiar las preferencias de todos los usuarios. ¿Alguna idea de por qué? Sería aún mejor agregar la nueva preferencia de seguimiento a las preferencias de seguimiento de usuario existentes…

PD: somos una comunidad pequeña y sé que solo una fracción aún menor se tomó el tiempo de ajustar sus preferencias (;

1 me gusta

Para cualquiera que no haya configurado específicamente una categoría a un nivel de notificación, restablecer la categoría predeterminada de observación y aplicarla históricamente debería restablecerlas a los niveles normales.

Si los números son pequeños, usar la interfaz de usuario o la API puede ser una apuesta más segura que la consola de rails. ¿De cuántas personas estamos hablando?

1 me gusta

Para que quede claro, la categoría en cuestión se llama Anuncios y su ID es 22.

Hice exactamente esto antes de intentar también el comando. Pero todavía, después de ambos, en una nueva publicación en Anuncios, solo algunos usuarios reciben un correo electrónico.
Lo que podría haber sucedido es que los usuarios se dieron de baja de las notificaciones por correo electrónico porque el correo electrónico de resumen solo contenía actividad “menor” (es decir, ninguna publicación de Anuncios como se describe en el problema relacionado vinculado anteriormente).

60

1 me gusta

¿Tienes instalado el explorador de datos? Si es así, ¿tienes alguna consulta para ver cuántos de tus usuarios no tienen el seguimiento y/o la preferencia de correo electrónico correctos?

2 Me gusta

Buena idea. ¡Lo haré cuando tenga un poco más de tiempo!

Un script de Rails para restablecer los parámetros necesarios para todos los usuarios me haría feliz también, con un esfuerzo inmediato menor.

1 me gusta

Creo que necesitamos saber un poco más de detalle antes de encontrar una solución. La tabla category_users solo guarda un registro de los niveles de notificación de categorías activas, por lo que si alguien no tiene uno, los datos no estarán en la tabla para cambiarlos a través de la consola de Rails. (por ejemplo, si agrego #site-feedback a la configuración de administrador de default categories watching, agregará un registro en category_users para cada usuario, y cuando restablezca la configuración, eliminará esos registros nuevamente).

2 Me gusta

Puedo confirmar que User.all.each do |user| CategoryUser.batch_set(user, :watching, [22]) cambió las preferencias de seguimiento de todos los usuarios para observar la categoría deseada (22 | Anuncios); ya que esta consulta enumera a todos los usuarios:

SELECT *
FROM category_users 
WHERE category_id = '22' AND notification_level = '3'

Y esta consulta enumera solo 1 usuario:

SELECT *
FROM user_options uo
WHERE uo.email_level = '2'

La pregunta ahora es, ¿por qué a tantos usuarios no se les envía un correo electrónico cuando hay una nueva publicación en la categoría 22 “Anuncios”? :thinking:

PD: Estuve jugando con las consultas SQL y no sé cómo unirlas.

Hola. Todavía no he encontrado una solución. No logro entender las preferencias de usuario necesarias para recibir correos electrónicos de notificación de publicaciones para temas seguidos. ¿Alguna idea? ¡Gracias!

Hola @JammyDodger

Por si acaso, sigo investigando y tratando de resolver este problema. Aislé la configuración de uno de nuestros usuarios que tiene la configuración predeterminada de seguir una categoría específica (‘Anuncios’) pero que no recibe notificaciones por correo electrónico para nuevas publicaciones:

usuario modo_lista_correo resúmenes_correo enlaces_externos_en_nueva_pestaña habilitar_citación favicon_dinámico desanclar_automáticamente_temas minutos_resumen milisegundos_seguir_temas_automáticamente minutos_duración_nuevo_tema última_redirección_a_superior_en responder_previos_correo responder_a frecuencia_notificación_me_gusta frecuencia_modo_lista_correo incluir_tl0_en_resúmenes nivel_notificación_al_responder secuencia_clave_tema permitir_mensajes_privados página_principal ids_tema ocultar_perfil_y_presencia clave_tamaño_texto secuencia_tamaño_texto nivel_correo nivel_mensajes_correo clave_modo_conteo_título habilitar_retraso zona_horaria habilitar_usuarios_pm_permitidos esquema_oscuro omitir_consejos_nuevos_usuarios esquema_color calendario_predeterminado fecha_más_antigua_registro_búsqueda chat_habilitado solo_notificaciones_push_chat sonido_chat retención_recordatorio_retención_canal_descartado retención_recordatorio_retención_dm_descartado preferencia_eliminación_automática_marcador mencionar_canal_amplio_ignorar frecuencia_correo_chat habilitar_barra_lateral_experimental popups_vistos preferencia_indicador_encabezado_chat barra_lateral_enlace_a_lista_filtrada barra_lateral_mostrar_conteo_nuevos_elementos precedencia_vistos_sobre_silenciados modo_barra_lateral_chat_separado temas_no_leídos_al_cerrar mostrar_indicaciones_título_hilo
JohnDoe falso verdadero verdadero verdadero falso verdadero 10080 240000 2880 2023-06-13T08:25:13.000Z 1 falso 1 1 verdadero 2 0 verdadero NULL {} falso 0 0 1 1 0 falso Europa/AlgúnLugar falso NULL falso NULL 0 NULL verdadero NULL NULL NULL NULL 3 NULL 1 falso {1,2,3,4,5} 0 falso falso NULL 0 verdadero verdadero

Realmente no veo por qué surge este problema, porque esta es la línea del usuario cuando consulto los usuarios que siguen la categoría ‘Anuncios’:

id categoría usuario nivel_notificación última_vista_en
123 Anuncios JohnDoe 3 NULL

¿Hay alguna otra configuración que me esté perdiendo? ¿Podría ser que el usuario hizo clic en darse de baja en uno de los correos electrónicos de notificación y eso cambió su configuración de correo electrónico?

¡Gracias!

Hacer clic en el enlace “darse de baja” de un correo electrónico de notificación lleva al usuario a una página donde puede modificar sus preferencias de notificación. Por ejemplo:

Si un usuario seleccionó alguna de las opciones “dejar de seguir todos los temas de la categoría <category_name>” o “No me envíes ningún correo electrónico de Discourse”, verás los cambios en su página de preferencias. O bien, la categoría se habrá eliminado de su lista de categorías seguidas, o sus preferencias de correo electrónico se habrán modificado de modo que todos los ajustes de su página de correo electrónico se establecerán en “nunca”.

Es más difícil ver el cambio si el usuario seleccionó la opción “dejar de seguir este tema”. En ese caso, puedes suplantar al usuario desde su página de administrador, luego visitar el tema para ver si su nivel de notificación para el tema ha cambiado de “seguir” a “rastrear”. También puedes obtener información sobre su nivel de notificación para el tema desde la consola de Rails:

Antes de involucrarte demasiado en esto, ve a la página de Registros de correos electrónicos omitidos del sitio. Puedes navegar a ella desde la barra lateral de administración. Introduce el correo electrónico del usuario en el campo “Dirección a” que se encuentra en la parte superior de la página. Podría mostrarte detalles sobre por qué no se envió el correo electrónico en particular al usuario.

3 Me gusta

Gracias por la respuesta.

Revisé la sección de correos electrónicos omitidos. Solo hay casos de “El usuario fue visto recientemente”, “Notificaciones de listas de correo deshabilitadas para las publicaciones del propio usuario” y “Se superó el umbral de puntuación de rebote”.

Me preguntaba si existe la posibilidad de cambiar la configuración para todos los usuarios de alguna de las siguientes maneras:

  • Cambiar la configuración de todos los usuarios “como si” acabaran de registrarse.
  • o: Creo un nuevo usuario de prueba y uso esta configuración para pegarla en todos los demás usuarios existentes.

Existe la configuración del sitio “default categories watching” (categorías predeterminadas que se observan). Si la cambias, se te dará la opción de aplicar los cambios históricamente. Seleccionar esa opción actualizará las preferencias de todos los usuarios excepto los usuarios que hayan configurado explícitamente su preferencia para esa categoría en su página de preferencias. Creo que ese es el problema que intentas evitar. Probablemente podrías solucionarlo desde la consola de Rails, pero yo evitaría ese enfoque.

Podrías simplemente crear una nueva categoría para anuncios y añadir esa categoría a la configuración del sitio “default categories watching” de tu sitio. Luego podrías organizar el sitio moviendo temas de la antigua categoría de anuncios a la nueva. Si quieres mantener el nombre de la categoría “announcements” (anuncios), empieza por renombrar la categoría original “announcements” a otra cosa. Me doy cuenta de que esto es un poco un hackeo, pero es una forma de resolver el problema sin tocar la consola de Rails.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.