Commit Graph

9 Commits

Author SHA1 Message Date
QuantumGhost 737d290fdc test(api): Simplify unit tests
Remove duplicated test cases.
2025-09-11 17:42:30 +08:00
QuantumGhost 81d9a9d00d feat(api): limit conversation variable description length
Previously, conversation variable descriptions had no length limit, causing errors
when debugging chatflows. These descriptions are saved as draft variable descriptions
during debugging, which have a 256-character limit. Variables with descriptions
exceeding this limit could not be saved, resulting in 500 errors and "Internal
Server Error" messages during chatflow debugging.

This commit implements description length limits for conversation variables:

- New chatflows: Hard limit of 256 characters for descriptions. Longer
  descriptions are rejected and prevent chatflow saving.
- Existing chatflows: If all conversation variable descriptions are under
  256 characters, the same limit applies as new chatflows. Otherwise, no limit
  is enforced to maintain backward compatibility.
2025-09-11 17:42:30 +08:00
QuantumGhost 874406d934
security(api): fix privilege escalation vulnerability in model config and chat message APIs (#25518)
The `ChatMessageApi` (`POST /console/api/apps/{app_id}/chat-messages`) and 
`ModelConfigResource` (`POST /console/api/apps/{app_id}/model-config`) 
endpoints do not properly validate user permissions, allowing users without `editor` 
permission to access restricted functionality.

This PR addresses this issue by adding proper permission check.
2025-09-11 14:53:35 +08:00
lyzno1 2edd32fdea
fix: resolve AppCard description overlap with tag area (#23585)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-08 09:05:55 +08:00
QuantumGhost 10b738a296
feat: Persist Variables for Enhanced Debugging Workflow (#20699)
This pull request introduces a feature aimed at improving the debugging experience during workflow editing. With the addition of variable persistence, the system will automatically retain the output variables from previously executed nodes. These persisted variables can then be reused when debugging subsequent nodes, eliminating the need for repetitive manual input.

By streamlining this aspect of the workflow, the feature minimizes user errors and significantly reduces debugging effort, offering a smoother and more efficient experience.

Key highlights of this change:

- Automatic persistence of output variables for executed nodes.
- Reuse of persisted variables to simplify input steps for nodes requiring them (e.g., `code`, `template`, `variable_assigner`).
- Enhanced debugging experience with reduced friction.

Closes #19735.
2025-06-24 09:05:29 +08:00
yihong 831459b895
fix: ruff with statements (#12578)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-01-13 09:55:55 +08:00
yihong 56e15d09a9
feat: mypy for all type check (#10921) 2024-12-24 18:38:51 +08:00
Bowen Liang 4d9160ca9f
refactor: use dify_config to replace legacy usage of flask app's config (#9089) 2024-10-22 11:01:32 +08:00
Sergio Sacristán 28de676956
controller test (#9469) 2024-10-18 08:23:36 +08:00