¿Usuarios fusionados rotos?

Después de actualizar con éxito mi instalación de Discourse de la versión beta 2.7 beta 2 a la 2.7 beta 3, intenté fusionar usuarios para una cuenta que solo había realizado unas 270 publicaciones repartidas entre sus dos perfiles.

45 minutos después, el sitio web sigue apareciendo en gris y mostrando “Cambiando la propiedad de las publicaciones”. Supongo que algún proceso se ha quedado colgado en algún lugar.

Mi foro, por lo demás, tenía muy poca actividad (no había otros usuarios conectados).

Al buscar pistas en este foro, me encontré con una publicación que menciona el plugin Merge Users y que “podría dejar de funcionar pronto” ahora que Discourse ha incluido esta funcionalidad de forma nativa (desde la versión Discourse 2.5.0 beta 3).

Todavía tengo instalado ese plugin (versión 0.1), aunque, por coincidencia, no inicié la fusión desde el menú de plugins, sino que utilicé un botón “Fusionar” que aparece directamente en la página de perfil del usuario (esquina inferior derecha). Supongo que esto significa que invoqué la herramienta nativa de Discourse en lugar del plugin.

No estoy seguro de si el plugin o el propio Discourse son los responsables de que el proceso se haya quedado atascado.

Puedo acceder al sitio como administrador desde otra sesión del navegador y puedo ver que ambos perfiles siguen presentes, aunque todas las publicaciones antiguas que se estaban fusionando, excepto 9, ya están asociadas a la cuenta nueva prevista. Junto a ese número, veo una advertencia que puede o no estar relacionada con este intento específico de fusión: “No se pueden eliminar todas las publicaciones. Algunas publicaciones tienen más de 60 días de antigüedad (la configuración delete_user_max_post_age).”

Por coincidencia, TODAS las publicaciones fusionadas con éxito tenían más de 60 días, así que no sé qué hacer con esta información.

¿Qué debo hacer ahora para finalizar elegantemente el proceso (asumiendo que aún está en curso) y evitar la corrupción de la base de datos?

1 me gusta

OK, me rendí y actualicé la ventana del navegador que estaba desactivada, y el sitio se reanudó como si nada hubiera ocurrido, mostrando la misma cuenta de usuario antigua con las 9 publicaciones sin fusionar restantes.

Lo intenté de nuevo, después de establecer delete_user_max_post_age en 99999: mismo resultado. Luego intenté fusionar en la otra dirección: mismo resultado.

Al final, lo intenté de nuevo usando el plugin, y esto funcionó perfectamente a la primera, y solo tomó un minuto o dos.

Por lo tanto, según la evidencia disponible, la función de fusión de Discourse 2.7 beta 3 está rota de alguna manera, pero el plugin sigue funcionando.

Funciona bien cuando lo pruebo. Quizás había algo sucediendo porque tenías el plugin instalado. Aquí está categorizado como #plugin:plugin-roto. Me alegra que finalmente lo hayas solucionado.

2 Me gusta

Gracias. Desinstalaré el plugin, con la base de que si la situación no mejora la próxima vez para el proceso de fusión nativa, presumiblemente siempre podré reinstalarlo.

Me pregunto si la antigüedad o el origen de las publicaciones que se fusionaron fue un factor. Estas publicaciones fueron importadas de un foro de Yahoo Groups que ya no existe, y el proceso de importación creó usuarios ‘zombi’ cuando no había un usuario activo correspondiente para la dirección de correo electrónico dada. Creo que esta cuenta de usuario antigua fue un ejemplo de ello.

2 Me gusta