Excluir permanentemente não está funcionando

Estou na versão 2.9.0.beta14 e ativei a exclusão permanente via DISCOURSE_CAN_PERMANENTLY_DELETE em app.yml.

A opção aparece no fórum para uma postagem e, se eu clicar nela, abre uma janela modal pedindo para eu confirmar e, em seguida, quando clico em OK, nada acontece.

Olhando na aba de rede nas ferramentas de desenvolvedor, não há requisições. Olhando no console, não há erros ou logs adicionais.

A postagem não é excluída, ela permanece.

1 curtida

Após a atualização após o beta 15 do 3.0.0, ele ainda não funciona corretamente. Há algo que eu possa fazer para fornecer logs, etc.? Obrigado.

Olá @Soenneker :slight_smile:

Desculpe pela resposta tardia. Acabei de ativar a configuração e a testei em meu site de teste para verificar, e também estou vendo um comportamento semelhante, mas apenas se eu não atualizar a página antes de tentar executar a exclusão permanente.

Meu passo a passo:

  • Excluir um post existente (soft delete)
  • Abrir a chave do post e clicar em ‘Excluir permanentemente’
  • Aparece a modal de confirmação ‘Tem certeza de que deseja excluir permanentemente este post? Você não poderá recuperá-lo.’
  • Clicar em ‘Sim’
  • A modal fecha, mas nenhuma resposta. O post permanece excluído (soft deleted)

No entanto, se eu adicionar uma atualização de página, funciona como pretendido:

  • Excluir um post existente (soft delete)
  • Atualizar a página
  • Revelar o post excluído (soft deleted) usando ‘Ver resposta oculta’
  • Abrir a chave do post e clicar em ‘Excluir permanentemente’
  • Aparece a modal de confirmação ‘Tem certeza de que deseja excluir permanentemente este post? Você não poderá recuperá-lo.’
  • Clicar em ‘Sim’
  • E o post é permanentemente excluído (desde que eu tenha esperado 5 minutos ou usado um segundo usuário de teste com privilégios de administrador)

Isso soa familiar, ou eu poderia tentar algo mais para replicar o que você está vendo?

4 curtidas

Olá @JammyDodger

Obrigado pela sua resposta.

Vejo o problema sobre o qual você está falando, tudo isso está alinhado com a funcionalidade atual que estou vendo também.

Algumas coisas a serem adicionadas às observações:

Se eu atualizar em uma página excluída logicamente após 5 minutos, e eu excluir permanentemente a postagem, o tópico ainda não é excluído. Eu recebo o modal que você está vendo e pressiono OK. Para postagens que não sejam a postagem original, funciona.

No entanto, se eu for para /latest?status=deleted, ele ainda aparece na lista de tópicos. Os tópicos mostram Respostas -1, e se eu clicar nesses tópicos, vejo a página “:frowning: erro algo deu errado”.

Eu recebi um erro 500 em um ponto, isso parece talvez que o tópico ainda estava sendo excluído ou algo assim e talvez eu tenha tentado excluí-lo enquanto estava em andamento:
Olhando no log de erros, é isso que vejo:

NoMethodError (método indefinido `topic_id' para nil:NilClass)
lib/post_destroyer.rb:60:in `destroy'
app/controllers/topics_controller.rb:643:in `destroy'
app/controllers/application_controller.rb:413:in `block in with_resolved_locale'
app/controllers/application_controller.rb:413: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:368: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:209:in `call'
1 curtida

Excelente. Acho que essa é exatamente a informação que eu precisava para reproduzir o problema. :slight_smile: :+1:

Tentei novamente, mas com um tópico que consiste apenas na OP:

  • Criar tópico (sem respostas)
  • Excluir tópico logicamente (e esperar 5 minutos)
  • Abrir a chave da postagem e selecionar ‘Excluir permanentemente’
  • Confirmar
  • ‘Erro. Algo deu errado’
  • O tópico ainda aparece em ?status=deleted, mas exibe uma tela de ‘Erro. Algo deu errado’ ao acessá-lo e mostra esta mensagem no console:
TypeError: p is undefined
    setupController topic-from-params.js:68
    setup Ember
    s router_js.js:1514
    routeEnteredOrUpdated router_js.js:1524
    setupContexts router_js.js:1470
    finalizeTransition router_js.js:1378
    promise router_js.js:1321
    b rsvp.js:435
    g rsvp.js:421
    invoke queue.ts:203
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    end index.ts:298
    _run index.ts:667
    run index.ts:339
    d Ember
    success ajax.js:101
    jQuery 6
    y ajax.js:150
    E rsvp.js:460
    E rsvp.js:916
    fajax.js:163
    loadTopicView topic.js:24
    getAndRemove preload-store.js:28
    E rsvp.js:460
    E rsvp.js:916
    getAndRemove preload-store.js:27
    loadTopicView topic.js:24
    refresh post-stream.js:264
    model topic-from-params.js:25
    deserialize Ember
    getModel router_js.js:775
    resolve router_js.js:616
    b rsvp.js:435
    g rsvp.js:421
    invoke queue.ts:203
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    _boundAutorunEnd index.ts:257
    promise callback*n/
    platform.ts:28
    flush Ember
    _scheduleAutorun index.ts:803
    _ensureInstance index.ts:791
    schedule index.ts:384
    
    Ember
    v rsvp.js:492
    resolve router_js.js:934
    y router_js.js:249
    getTransitionByIntent router_js.js:1305
    transitionByIntent router_js.js:1247
    doTransition router_js.js:1366
    transitionTo router_js.js:1776
    Ember 2
    handleURL url.js:366
    routeTo url.js:211
    w topic-list-item.js:31
    click topic-list-item.js:187
    Ember 5
application.js:83

Vamos ver se conseguimos resolver isso. :+1: :slight_smile:

1 curtida

Mesclei alguns correções relacionadas a exclusão permanente há alguns dias. Acho que tudo deve funcionar como esperado agora.

Obrigado pelo relatório de bug!

2 curtidas

Este tópico foi fechado automaticamente após 3 dias. Novas respostas não são mais permitidas.