Problema
Las ediciones concurrentes en una página de wiki pueden provocar un comportamiento inesperado. En mi caso, la relación quoted_posts entre dos publicaciones se vuelve incorrecta.
Esto puede derivar en otros problemas cuando se utiliza quoted_posts, como en User#refresh_avatar. La ausencia de quoted_posts impide volver a generar todas las publicaciones citadas.
Posible causa
La advertencia introducida en este commit no es suficiente para proteger las ediciones concurrentes de una publicación, ya que la verificación no es atómica. Se trata de una situación poco frecuente, pero aún puede ocurrir.
PostRevisor#revise! llama a QuotedPost.extract_from(@post), lo que elimina todas las quoted_posts si no hay ninguna cita en la publicación. Cuando dos ediciones llaman a PostRevisor#revise! simultáneamente, una para añadir una publicación citada y otra también para añadir una publicación citada, el contenido de la publicación podría terminar con la edición que tiene citas, mientras que la relación quoted_post queda destruida por la edición que no tiene ninguna cita.
Solución posible
Quizás deberíamos considerar adquirir un bloqueo de Redis al editar una publicación.