チャットの返信、抜粋が欠落

自己ホスト型のDiscourseを再構築したのですが、すべてのチャットの返信で抜粋テキストが失われていることに気づきました。返信元のアイコンは表示されており、href IDも正しく、クリックすると正しい投稿に移動します。

新しい返信を作成すると、投稿後に抜粋が表示されますが、チャットを閉じると他のものと同様に消えてしまいます。

3.3.0.beta2-dev (f7a1272fa4)

(私の知る限り、干渉する関連プラグインや変更はありません)


         {
            "id": 1892,
            "message": "testing reply",
            "cooked": "\u003cp\u003etesting reply\u003c/p\u003e",
            "created_at": "2024-04-29T19:02:11Z",
            "excerpt": "testing reply",
            "chat_channel_id": 2,
            "streaming": false,
            "user": {...},
            "mentioned_users": [],
            "available_flags": [],
            "chat_webhook_event": null,
            "in_reply_to": {
                "id": 1880,
                "cooked": "\u003cp\u003earn teh powahz\u003c/p\u003e",
                "excerpt": null,
                "user": {...},
                "chat_webhook_event": null
            },
            "uploads": []
        },
「いいね!」 2

私の開発インスタンスは 3.3.0.beta2-dev (a564274ba2) で1週間古く、この問題はありません。したがって、これは https://github.com/discourse/discourse/pull/26712 または FIX: build chat message excerpt for thread preview by dbattersby · Pull Request #26765 · discourse/discourse · GitHub のいずれかに関連していると推測します。

「いいね!」 1

私の場合は、チャットメッセージが約1000件だったので、すべて更新して抜粋を追加するのは簡単でした。

Chat::Message.where(excerpt: nil).each{|m| m.update(excerpt: m.build_excerpt) };0

しかし、コードの修正としては、plugins/chat/app/serializers/chat/in_reply_to_serializer.rb にフォールバックを追加することです。

def excerpt
  object.excerpt || object.build_excerpt
end
「いいね!」 1

ご報告ありがとうございます。この問題を再現することができましたので、調査し、近日中に修正を共有します。

「いいね!」 2

このコミットで修正されるはずです。

「いいね!」 3

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