Skip to content

fix: update first_id logic to use the oldest answer item in chat messages#23992

Merged
crazywoola merged 15 commits intolanggenius:mainfrom
liugddx:23971
Aug 18, 2025
Merged

fix: update first_id logic to use the oldest answer item in chat messages#23992
crazywoola merged 15 commits intolanggenius:mainfrom
liugddx:23971

Conversation

@liugddx
Copy link
Copy Markdown
Contributor

@liugddx liugddx commented Aug 15, 2025

…ages

Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.
    Close The logs drawer always loading #23971
    close fix: add scroll listener for loading conversation history #24003

Summary

  1. Optimized Pagination Logic
  • Updated first_id parameter to use the oldest answer item instead of the first chat message
  • Fixed the perpetual loading issue when conversation history exceeds 10 messages
  1. Enhanced Data Handling
  • Added detection and filtering for duplicate messages
  • Implemented fallback logic when answer items are not available
  • Added retry mechanism with alternative ID when initial loading returns duplicates
  1. Improved Error Handling
  • Added proper error catching and state management
  • Enhanced logging for better debugging and maintenance

Screenshots

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods

@dosubot dosubot bot added size:XS This PR changes 0-9 lines, ignoring generated files. size:M This PR changes 30-99 lines, ignoring generated files. size:S This PR changes 10-29 lines, ignoring generated files. and removed size:XS This PR changes 0-9 lines, ignoring generated files. size:M This PR changes 30-99 lines, ignoring generated files. size:S This PR changes 10-29 lines, ignoring generated files. labels Aug 15, 2025
@crazywoola crazywoola self-assigned this Aug 17, 2025

This comment was marked as outdated.

@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:M This PR changes 30-99 lines, ignoring generated files. labels Aug 17, 2025

This comment was marked as outdated.

@crazywoola crazywoola requested a review from Copilot August 18, 2025 02:47
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes a pagination issue in the chat message loading logic by updating the first_id parameter to use the oldest answer item instead of the first chat message. This resolves perpetual loading when conversation history exceeds 10 messages and implements custom scroll handling to replace the react-infinite-scroll-component library.

  • Optimized pagination by using the oldest answer item ID for the first_id parameter
  • Replaced infinite scroll library with custom scroll handling and duplicate message detection
  • Enhanced error handling and loading state management for better reliability

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Aug 18, 2025
@crazywoola crazywoola merged commit 6b51530 into langgenius:main Aug 18, 2025
6 checks passed
bowenliang123 pushed a commit to bowenliang123/dify that referenced this pull request Aug 18, 2025
asukaminato0721 added a commit to asukaminato0721/dify that referenced this pull request Aug 20, 2025
* Restore useLabelStore mistakenly removed in commit 403e2d5 (langgenius#24052)

Co-authored-by: Yongtao Huang <[email protected]>
Co-authored-by: crazywoola <[email protected]>

* chore: synchronize translations (langgenius#24044)

* feat: add testcontainers based tests for metadata service (langgenius#24048)

* feat: add testcontainers based tests for model loadbalancing service (langgenius#24066)

* feat: add select input support to the conversation opener (langgenius#24043)

* feat: add CLAUDE.md for LLM-assisted development guidance (langgenius#23946)

* feat: add Redis SSL/TLS certificate authentication support (langgenius#23624)

* Fix sticky table header transparency with backdrop-filter blur in dark mode (langgenius#23999)

* fix: update first_id logic to use the oldest answer item in chat messages (langgenius#23992)

Co-authored-by: Copilot <[email protected]>
Co-authored-by: crazywoola <[email protected]>

* refactor: improve loading animation and debug panel styles (langgenius#24075)

* fix(oauth): redis compatibility (langgenius#23959)

* feat: enchance prompt and code (langgenius#23633)

Co-authored-by: stream <[email protected]>
Co-authored-by: Stream <[email protected]>
Co-authored-by: Stream <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: return empty list instead of raising exception for qdrant search when score_threshold is 1 (langgenius#24032)

* chore: translate i18n files (langgenius#24081)

Co-authored-by: Stream29 <[email protected]>

* fix: no current code caused code generation show error (langgenius#24086)

* fix(ui): Optimize UI component styles and layouts (langgenius#24090) (langgenius#24092)

* feat: no longer enable auto upgrade when marketplace is disabled (langgenius#24… (langgenius#24101)

* Feature/improve goto anything commands (langgenius#24091)

* chore: translate i18n files (langgenius#24102)

Co-authored-by: crazywoola <[email protected]>

* fix  pg_vector extension requires SUPERUSER, but not available on Huawei Cloud RDS (langgenius#24093)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* Revert "fix  pg_vector extension requires SUPERUSER, but not availabl… (langgenius#24108)

* fix: validate checklist before publishing workflow (langgenius#24104)

* Chore: remove some dead code in experience-enhance-group (langgenius#24110)

Co-authored-by: Yongtao Huang <[email protected]>

* fix: treat default template of code as empty (langgenius#24106)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* Bump pyobvector to 0.2.15 (langgenius#24120)

* Use typing.Literal to replace str places (langgenius#24099)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* feat: add delete avatar functionality with confirmation modal (langgenius#24127)

Co-authored-by: crazywoola <[email protected]>

* chore: translate i18n files (langgenius#24131)

Co-authored-by: crazywoola <[email protected]>

* an example of suppress (langgenius#24136)

* feat: add testcontainers based tests for feature service (langgenius#24026)

* feat: Implements periodic deletion of workflow run logs that exceed t… (langgenius#23881)

Co-authored-by: shiyun.li973792 <[email protected]>
Co-authored-by: 1wangshu <[email protected]>
Co-authored-by: Blackoutta <[email protected]>
Co-authored-by: crazywoola <[email protected]>

* try ast-grep (langgenius#24149)

* fix: correct behaviour of code fix (langgenius#24152)

Co-authored-by: Joel <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* Fix number input in  tool configure form of agent node tool item (langgenius#24154)

* Remove the second `if self.runtime is None:` check (langgenius#24171)

Co-authored-by: Yongtao Huang <[email protected]>

* Fix: correctly match http/https URLs in image upload file (langgenius#24180)

* feat: add testcontainers based tests for model provider service (langgenius#24193)

* Fix: replace `get_builtin_provider` with `get_plugin_provider` (langgenius#24191)

* docs: format all md files (langgenius#24195)

Signed-off-by: yihong0618 <[email protected]>

* hotfix: fix multiple case match syntax (langgenius#24204)

---------

Signed-off-by: yihong0618 <[email protected]>
Co-authored-by: Yongtao Huang <[email protected]>
Co-authored-by: Yongtao Huang <[email protected]>
Co-authored-by: crazywoola <[email protected]>
Co-authored-by: lyzno1 <[email protected]>
Co-authored-by: NeatGuyCoding <[email protected]>
Co-authored-by: Zhehao Peng <[email protected]>
Co-authored-by: -LAN- <[email protected]>
Co-authored-by: Guangdong Liu <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Wu Tianwei <[email protected]>
Co-authored-by: Maries <[email protected]>
Co-authored-by: Joel <[email protected]>
Co-authored-by: stream <[email protected]>
Co-authored-by: Stream <[email protected]>
Co-authored-by: Stream <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Bo Wu <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Stream29 <[email protected]>
Co-authored-by: HyaCinth <[email protected]>
Co-authored-by: Junyan Qin (Chin) <[email protected]>
Co-authored-by: GuanMu <[email protected]>
Co-authored-by: Elvis_LEE <[email protected]>
Co-authored-by: He Wang <[email protected]>
Co-authored-by: crazywoola <[email protected]>
Co-authored-by: 9527MrLi <[email protected]>
Co-authored-by: shiyun.li973792 <[email protected]>
Co-authored-by: 1wangshu <[email protected]>
Co-authored-by: Blackoutta <[email protected]>
Co-authored-by: KVOJJJin <[email protected]>
Co-authored-by: yihong <[email protected]>
qiqizjl pushed a commit to qiqizjl/dify that referenced this pull request Aug 27, 2025
HarryReidx pushed a commit to HarryReidx/dify that referenced this pull request Sep 1, 2025
…ages (langgenius#23992)

Co-authored-by: Copilot <[email protected]>
Co-authored-by: crazywoola <[email protected]>
(cherry picked from commit 6b51530)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The logs drawer always loading

3 participants