[PR #23350] fix: fetchAppWithTags may return empty when apps is over 100 #30256

Closed
opened 2026-02-21 20:47:08 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/23350

State: closed
Merged: Yes


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>.

Summary

This PR fixes an issue where fetchAppWithTags may return empty results when there are over 100 apps. The changes include:

  • Restructured field definitions: Moved tag_fields definition to an earlier position in the code for better organization and accessibility
  • Enhanced app detail fields: Added tags field to app_detail_fields to ensure tag information is properly included in app details
  • Cleaned up app list fields: Removed redundant fields (icon_type, icon_url, site, api_base_url, max_active_requests, deleted_tools) from app_list_fields and reorganized the remaining fields
  • Added tracing support: Introduced tracing field as a raw field type for better debugging capabilities
  • Improved field organization: Reordered fields in app_list_fields to have tags and site fields properly positioned

The main issue was that when fetching apps with tags, the pagination or field serialization was not properly handling the tag relationships for large datasets (>100 apps), causing empty results to be returned.

Screenshots

Before After
Apps with tags returning empty results when count > 100 Apps with tags properly returned regardless of count

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
**Original Pull Request:** https://github.com/langgenius/dify/pull/23350 **State:** closed **Merged:** Yes --- > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 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>`. ## Summary This PR fixes an issue where `fetchAppWithTags` may return empty results when there are over 100 apps. The changes include: - **Restructured field definitions**: Moved `tag_fields` definition to an earlier position in the code for better organization and accessibility - **Enhanced app detail fields**: Added `tags` field to `app_detail_fields` to ensure tag information is properly included in app details - **Cleaned up app list fields**: Removed redundant fields (`icon_type`, `icon_url`, `site`, `api_base_url`, `max_active_requests`, `deleted_tools`) from `app_list_fields` and reorganized the remaining fields - **Added tracing support**: Introduced `tracing` field as a raw field type for better debugging capabilities - **Improved field organization**: Reordered fields in `app_list_fields` to have `tags` and `site` fields properly positioned The main issue was that when fetching apps with tags, the pagination or field serialization was not properly handling the tag relationships for large datasets (>100 apps), causing empty results to be returned. ## Screenshots | Before | After | |--------|-------| | Apps with tags returning empty results when count > 100 | Apps with tags properly returned regardless of count | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:47:08 -05:00
yindo closed this issue 2026-02-21 20:47:09 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#30256