[PR #21171] Minor Improvements for File Validation and Configuration Handling #21179 #29586

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

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

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

close https://github.com/langgenius/dify/issues/21179

This pull request introduces minor improvements to the file validation logic and the configuration handling process. The key changes include:

  1. File Validation: Updated the file extension check to be case-insensitive by using file.filename.lower().endswith(".csv"). This ensures that files with uppercase extensions (e.g., .CSV) are also accepted.
  2. Configuration Handling: Replaced str(decrypt_trace_config) with json.dumps(decrypt_trace_config, sort_keys=True) to ensure consistent handling of the configuration key regardless of the order of dictionary keys.

These changes improve the robustness and user experience of the system by addressing edge cases in file validation and configuration handling.

Key Changes:

  • Updated file validation logic in multiple functions (post, transform, etc.) to handle case-insensitive .csv file extensions.
  • Enhanced the configuration key generation for tracing instances by using JSON serialization with sorted keys.

Screenshots

Before After
File validation would fail for .CSV files File validation now accepts .CSV files
Configuration key generation was inconsistent Configuration key generation is now consistent

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/21171 **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 close https://github.com/langgenius/dify/issues/21179 This pull request introduces minor improvements to the file validation logic and the configuration handling process. The key changes include: 1. **File Validation**: Updated the file extension check to be case-insensitive by using `file.filename.lower().endswith(".csv")`. This ensures that files with uppercase extensions (e.g., `.CSV`) are also accepted. 2. **Configuration Handling**: Replaced `str(decrypt_trace_config)` with `json.dumps(decrypt_trace_config, sort_keys=True)` to ensure consistent handling of the configuration key regardless of the order of dictionary keys. These changes improve the robustness and user experience of the system by addressing edge cases in file validation and configuration handling. ### Key Changes: - Updated file validation logic in multiple functions (`post`, `transform`, etc.) to handle case-insensitive `.csv` file extensions. - Enhanced the configuration key generation for tracing instances by using JSON serialization with sorted keys. ## Screenshots | Before | After | |--------|-------| | File validation would fail for `.CSV` files | File validation now accepts `.CSV` files | | Configuration key generation was inconsistent | Configuration key generation is now consistent | ## 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:45:51 -05:00
yindo closed this issue 2026-02-21 20:45:51 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#29586