削除が機能しない

バージョン 2.9.0.beta14 を使用しており、app.ymlDISCOURSE_CAN_PERMANENTLY_DELETE を有効にしました。

フォーラムで投稿のオプションが表示され、クリックすると確認を求めるモーダルが表示され、OK をクリックしても何も起こりません。

開発者ツールのネットワークタブを見ても、リクエストはありません。コンソールを見ても、追加のエラーやログはありません。

投稿は削除されず、そのまま残っています。

「いいね!」 1

3.0.0 beta 15 の後も更新しましたが、まだ正しく機能しません。ログなどを提供するために何かできることはありますか?よろしくお願いします。

@Soenneker:slight_smile:

返信が遅くなり申し訳ありません。設定を有効にし、テストサイトで実行してみたところ、ページをリフレッシュせずに永久削除を試みた場合にのみ、同様の動作を確認しました。

私の手順:

  • 既存の投稿をソフト削除する
  • ポストレンチを開き、「永久削除」をクリックする
  • 「この投稿を永久に削除しますか?復元できなくなります。」という確認モーダルが表示される
  • 「はい」をクリックする
  • モーダルは閉じますが、応答はありません。投稿はソフト削除されたままです。

しかし、ページをリフレッシュすると、意図したとおりに機能します。

  • 既存の投稿をソフト削除する
  • ページをリフレッシュする
  • 「非表示の返信を表示」を使用してソフト削除された投稿を表示する
  • ポストレンチを開き、「永久削除」をクリックする
  • 「この投稿を永久に削除しますか?復元できなくなります。」という確認モーダルが表示される
  • 「はい」をクリックする
  • 投稿は永久に削除されます(5分待った場合、または管理者権限を持つ別のテストユーザーを使用した場合は)。

これは心当たりがあることでしょうか、それともお困りの状況を再現するために他に試せることはありますでしょうか?

「いいね!」 4

こんにちは @JammyDodger さん

返信ありがとうございます。

お話しされている問題点は理解しました。現在私が確認している機能とも一致しています。

観察結果にいくつか追加させてください。

5分経過後にソフト削除されたページをリフレッシュし、投稿を完全に削除した場合、トピックはまだ削除されていません。表示されるモーダルで「OK」を押します。最初の投稿以外の投稿では、これは機能します。

しかし、/latest?status=deleted にアクセスすると、トピックのリストにまだ表示されます。トピックには「返信 -1」と表示され、これらのトピックをクリックすると「: (エラー、何か問題が発生しました」というページが表示されます。

一度500エラーを受け取りました。これは、トピックがまだ削除中であったか、あるいは削除中に再度削除しようとしたためだと思われます。
エラーログを見ると、次のようになっています。

NoMethodError (undefined method `topic_id' for 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

素晴らしい。それがリプロに必要な情報だと思います。:+1: :slight_smile:

再度試しましたが、OPのみで構成されるトピックで試しました。

  • トピックを作成する(返信なし)
  • トピックをソフト削除する(5分待つ)
  • 投稿レンチを開き、「完全に削除」を選択する
  • 確認する
  • 「エラー。何か問題が発生しました」
  • トピックはまだ ?status=deleted に表示されますが、アクセスすると「エラー。何か問題が発生しました」画面が表示され、コンソールに次のメッセージが表示されます。
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

これを確認しましょう。:+1: :slight_smile:

「いいね!」 1

数日前に永続的な削除に関するいくつかの修正をマージしました。すべてが期待どおりに機能するはずです。

バグレポートありがとうございます!

「いいね!」 2

このトピックは3日後に自動的に閉じられました。返信はもう許可されていません。