Continuando a discussão de Falha ao recriar canal de chat excluído com o mesmo nome:
Este bug foi relatado no tópico vinculado, mas parece persistir para mim. Estou na versão mais recente, fiz um git pull e reconstruí o launcher ontem.
Ao tentar nomear um novo canal de chat com qualquer nome de canal de chat usado anteriormente, ocorre um erro 500 no console JS.
Nos logs de erro do Discourse, recebo:
Falha ao tratar exceção no middleware de exceção: ActiveRecord::RecordNotUnique : PG::UniqueViolation: ERROR: violação de chave duplicada viola a restrição de chave única "index_chat_channels_on_slug"
DETALHE: A chave (slug)=(sec-fhir) já existe.
No console do Rails, posso ver que os ChatChannels excluídos desapareceram, mas suspeito que em algum lugar o slug excluído permaneça em um índice ou em alguma outra dependência do banco de dados e não tenha sido excluído.
Esta solução alternativa não funciona para mim, ao tentar renomear “foo2” para “foo”, recebo o mesmo erro 500, devido à falha na restrição de exclusividade do slug.
Não tenho certeza de como excluir com segurança os slugs (indexados?) de ChatChannels excluídos, mas estaria disposto a tentar.
Possivelmente relacionado: este problema que também afeta slugs, mas não parece ser o mesmo problema: Attempt to recreate deleted chat channel with same name fails