こんにちは皆さん、
サイトにメッセージの受信トレイやアーカイブにメッセージがない古いグループがいくつかありますが、サイドバーや /my/messages に表示されています。
この古いトピックを見つけましたが、私には機能する解決策が提供されていませんでした。Messaging: Group inboxes and archives show even after all messages deleted
他に何かアイデアはありますか?
こんにちは皆さん、
サイトにメッセージの受信トレイやアーカイブにメッセージがない古いグループがいくつかありますが、サイドバーや /my/messages に表示されています。
この古いトピックを見つけましたが、私には機能する解決策が提供されていませんでした。Messaging: Group inboxes and archives show even after all messages deleted
他に何かアイデアはありますか?
これらの古いグループ..グループを編集して変更できるかどうかわかりません
「誰がこのグループにメッセージを送信できますか?」を「なし」に変更しますか?
または、これらの古いグループにはまだグループメールボックスが必要ですか?
返信が遅れて申し訳ありませんが、すべてのグループで「このグループにメッセージを送れる人」が「誰でもない」に設定されています。
他に確認できることはありますか?
確かにバグのように見えます。グループのメールボックスを nobody に設定した場合、そのメールボックスは表示されないべきだと考えます。
回避策として、Customization > Theme component を使用してグループをクラスとして追加し、nobody に設定されたグループのメールボックスに対して各グループクラスで display: none を適用するという方法が考えられます。グループクラスを使用するよう提案するのは、CSS で一般に非表示にすると、モデレーターのグループメールボックスも隠れてしまう可能性があると思うからです。
それらの古いグループには以前メッセージがありましたか?私の個人サイトにはメッセージが1つだけ入っていたグループがあり、サイドバーに受信トレイが表示されます。メッセージを削除したところ、グループの受信トレイはまだ表示されています。
削除されたメッセージは、管理者である私にも、受信トレイには表示されなくなりました。ブラウザの履歴を遡って、削除されたメッセージとしてまだ存在することを確認できました。グループを削除しようとしましたが、できませんでした。削除を取り消し、グループを削除しました。念のためメッセージを削除しました。
受信トレイはまだ表示されているため、グループの受信トレイにはまだ別の削除されたメッセージがあると思われます。
グループ受信トレイ内のメッセージがすべて削除されている場合、グループ受信トレイはサイドバーに表示されるべきではないため、ここにバグがあると思われます。
現時点での唯一の解決策は、グループを削除して再作成することだと思われます。
データエクスプローラーを使用して、グループ受信トレイ内の削除されたメッセージの投稿IDを取得し、この理論を確認して、それらの投稿を確認できると興味深いでしょう。
その後、データベース整合性ジョブを実行しましたか?それが実行されると、受信トレイは表示されなくなると思います。
素晴らしい!うまくいきました。
編集:op のリンクにあるトピックが参考になりました。@alehandrof さん、あなたはどうですか?問題は最終的に解決しましたか?
データベースの一貫性ジョブを実行しましたが、受信トレイはまだ残っています。サイトでは管理者ユーザーとしてログインしていますが、関係があるでしょうか。しかし、それらは空なので消えるはずです。latest、new、unread、archive のいずれにもメッセージはありません。
お手上げです ![]()
このデータエクスプローラーのクエリは、トピックを返しますか?
-- [params]
-- group_id :inboxgroup
SELECT tg.topic_id, t.id AS topic_exists, t.deleted_at
FROM topic_allowed_groups tg
LEFT JOIN topics t ON t.id = tg.topic_id
WHERE tg.group_id = :inboxgroup
AND (
t.deleted_at IS NULL
OR t.id IS NULL
)
私の場合はそうではありません。![]()
受信トレイが表示されている場合にのみトピックが表示されるはずです。
受信トレイが空の場合でも、これが実現する方法をすでに発見しました。
そのグループに送信されたメッセージが公開トピックに変換された後です。
したがって:
そして、この場合、上記のデータエクスプローラークエリは、そのトピックを返します。