ソースを参照

✨fix: has_more logic in ChatMessageListApi to ensure correct on behavior when no more messages are available. (#24661)

tags/1.8.1
Eric Guo 2ヶ月前
コミット
ecf74d91e2
コミッターのメールアドレスに関連付けられたアカウントが存在しません
1個のファイルの変更12行の追加8行の削除
  1. 12
    8
      api/controllers/console/app/message.py

+ 12
- 8
api/controllers/console/app/message.py ファイルの表示

@@ -95,18 +95,22 @@ class ChatMessageListApi(Resource):
.all()
)

# Initialize has_more based on whether we have a full page
if len(history_messages) == args["limit"]:
current_page_first_message = history_messages[-1]

has_more = db.session.scalar(
select(
exists().where(
Message.conversation_id == conversation.id,
Message.created_at < current_page_first_message.created_at,
Message.id != current_page_first_message.id,
# Check if there are more messages before the current page
has_more = db.session.scalar(
select(
exists().where(
Message.conversation_id == conversation.id,
Message.created_at < current_page_first_message.created_at,
Message.id != current_page_first_message.id,
)
)
)
)
else:
# If we don't have a full page, there are no more messages
has_more = False

history_messages = list(reversed(history_messages))


読み込み中…
キャンセル
保存