채팅 답변에 발췌가 없습니다

최근에 자체 호스팅한 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\u003eearn teh powahz\u003c/p\u003e",
                "excerpt": null,
                "user": {...},
                "chat_webhook_event": null
            },
            "uploads": []
        },
2개의 좋아요

제 개발 인스턴스는 3.3.0.beta2-dev (a564274ba2) 기준으로 일주일 정도 오래된 버전이며, 이 문제가 없습니다. 따라서 제 추측으로는 이 문제가 PERF: Reduce overhead from chat message excerpt - Pull Request #26712 - discourse/discourse - GitHub 또는 FIX: build chat message excerpt for thread preview - Pull Request #26765%EC%99%80 - discourse/discourse - GitHub 관련이 있을 것 같습니다.

1개의 좋아요

제 경우처럼 채팅 메시지가 약 1,000개 정도라면, 발췌문을 추가하기 위해 모든 메시지를 업데이트하는 것이 간단했습니다:

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일 후 자동으로 닫혔습니다. 더 이상 답변을 남길 수 없습니다.