683407df6f
fix(api): incorrect input submission url in email
2026-01-15 13:50:14 +08:00
c45dd66bd7
The site field returned by HumanInputFormApi is inconsistent with the API docs (vibe-kanban e0fb38c9)
...
```javascript
Expected structure:
```json
{
"site": {
"app_id": "e9823576-d836-4f2b-b46f-bd4df1d82230",
"end_user_id": "b7aa295d-1560-4d87-a828-77b3f39b30d0",
"enable_site": true,
"site": {
"title": "wf",
"chat_color_theme": null,
"chat_color_theme_inverted": false,
"icon_type": "emoji",
"icon": "\ud83e\udd16",
"icon_background": "#FFEAD5",
"icon_url": null,
"description": null,
"copyright": null,
"privacy_policy": null,
"custom_disclaimer": "",
"default_language": "en-US",
"prompt_public": false,
"show_workflow_steps": true,
"use_icon_as_answer_icon": false
},
"model_config": null,
"plan": "basic",
"can_replace_logo": false,
"custom_config": null
},
// ... other fields
}
```
The current implementation of HumanInputFormApi returns the following structure:
```json
{
"site": {
"title": "hitl-chatflow",
"chat_color_theme": null,
"chat_color_theme_inverted": false,
"icon_type": "emoji",
"icon": "🤖 ",
"icon_background": "#FFEAD5",
"icon_url": null,
"description": null,
"copyright": null,
"privacy_policy": null,
"custom_disclaimer": "",
"default_language": "en-US",
"prompt_public": false,
"show_workflow_steps": true,
"use_icon_as_answer_icon": false
},
// ... other fields
}
```
\`\`\`
2026-01-15 12:26:51 +08:00
d87ff9e501
Ensure that only users with Pro plan can use Email Delivery in HumanInput Node (vibe-kanban ea6739cc)
...
For users with sandbox plan, the email delivery is not available.
The backend logic should check the plan of the current tenant while sending email. The core check logic should be abstracted in FeatureService. The `HumanInput` node configuration should not validate the presence of `EmailDelivery`.
For enterprise deployment, the email delivery is not limited.
2026-01-15 12:03:58 +08:00
e50d849913
Implement debug_mode for email delivery (vibe-kanban f32190a0)
...
The EmailDeliveryConfig in api/core/workflow/nodes/human\_input/entities.py has a field `debug_mode`. When this field is set to `True` in `node_data`, the test run (InvokeFrom.DEBUGGER) and the delivery test should only sent test emails to the current user, instead of sending to the specified recipients.
Please implement this logic, write correspond test cases to ensure that the logic works as expected.
2026-01-15 10:21:32 +08:00
ea90746ed7
feat(api): adjust /pause-details api, add backstage form token
2026-01-15 09:43:16 +08:00
f1b2e1cfb4
feat(api): Add app_id field to HumanInputForm model
...
This ensures that `HumanInputForm` could be associated to a specific
application without relying on `WorkflowRun`, providing us a smoother
migration path if we want to implement test form.
2026-01-14 16:58:17 +08:00
25cc2ab738
fix(api): missing site field in Web App Form Definition API
2026-01-14 14:25:57 +08:00
552b65e36b
fix(api): ensure is_resumption is properly propagated to SSE events
...
While running workflow / chatflow from "Installed Apps" / "Web App"
pages, the `node_started` SSE event is manually serialized from the
pydantic model. This causes the lack of `is_resumption` flag in SSE
events.
This PR addresses the problem by adding a `is_resumption` field to
the serialized dict.
2026-01-14 10:26:57 +08:00
9c287ee0ae
feat(api): adjust form submission run api
...
Separate `inputs` and `form_inputs` fields.
2026-01-13 11:08:31 +08:00
99937aba2e
refactor(api): Unify Human Input handling logic
2026-01-13 10:39:55 +08:00
18fd308a81
fix(api): ensure display_in_ui is persisted
2026-01-13 09:30:42 +08:00
6bcd4ad740
fix(api): Ensure is_resumption for node_started event is correctly set
2026-01-13 09:25:44 +08:00
b3069bf154
feat(api): expose workflow_run_id in human_input extra contents
2026-01-09 00:22:59 +08:00
f988619d2c
feat(api): adjust model fields and cleanup form creation logic
2026-01-08 10:27:52 +08:00
de428bc9bb
feat(api): add human input data to extra contents
2026-01-08 10:21:53 +08:00
dac94b573e
fixup! fix(api): prevent node from running after pausing
2026-01-08 10:11:47 +08:00
2a6b6a873e
fix(api): prevent node from running after pausing
2026-01-08 10:03:22 +08:00
24362ce59e
feat(api): add node_title to HumanInputFormFilled events
2026-01-06 16:48:31 +08:00
fb01b91b06
WIP: feat(api): implement delivery testing api
2026-01-06 08:54:06 +08:00
184f7ab144
WIP: feat(api): always use form_token to submit human input form
2026-01-06 08:53:24 +08:00
1ad2b97169
WIP: feat(api): do not return paused node_execution records & preserve node_execution_id across pause
2026-01-04 23:38:40 +08:00
77dc8a6edb
test(api): fix broken tests
2026-01-04 23:23:58 +08:00
e6eb879c61
fix(api): fix human input form substitution
...
Fix the issues that output fields are not properly replaced for
humaninput form.
2026-01-04 16:50:24 +08:00
3ab1ad6530
WIP: feat(api): Implement HumanInputFormFilled event
2026-01-04 10:25:00 +08:00
a2e250ce0c
WIP: fix(api): handle output variable replacement properly
2026-01-04 01:11:33 +08:00
6337a9a125
WIP: feat(api): add is_resumption to node_started and workflow_started events
2026-01-04 01:10:50 +08:00
37dd61558c
feat(api): Implement HITL for Workflow, add is_resumption for start event
2025-12-30 16:40:08 +08:00
01325c543f
chore(api): fix tests
2025-12-26 17:17:00 +08:00
74b6b48f40
chore: fix: typing
2025-12-26 15:01:40 +08:00
5d0dd329f2
WIP: human input timeout
2025-12-26 12:34:46 +08:00
203a3a68af
WIP: huamninput email sending
2025-12-26 12:34:46 +08:00
e6fbf3a198
WIP: unify Form And FormSubmission
2025-12-26 12:34:46 +08:00
1f64281ce5
WIP: message extra contet
2025-12-26 12:34:46 +08:00
095eaabc0d
WIP: feat: ExecutionExtraContent model
2025-12-26 12:34:45 +08:00
08175ab32a
feat: support variable resolution, fix linting
2025-12-26 12:34:26 +08:00
dddcf1de6c
WIP: api debugging
2025-12-26 12:33:30 +08:00
f368155995
resume test
2025-12-26 12:16:01 +08:00
c0f1aeddbe
WIP: resume
2025-12-26 11:52:49 +08:00
c0e15b9e1b
WIP: feat(api): human input service
2025-12-26 11:48:56 +08:00
43348ce1a6
WIP: P4
2025-12-26 11:39:28 +08:00
4f48b8a57d
WIP: P2
2025-12-26 11:36:19 +08:00
8b914d9116
WIP
2025-12-26 10:45:23 +08:00
9885e92854
fix: validate first then save to db ( #30107 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-25 19:36:52 +09:00
996c7d9e16
perf: using pipeline to delete redis cache ( #30159 )
2025-12-25 17:04:37 +08:00
d1f9911848
feat: make the SegmentService.get_segments sort stable ( #30152 )
2025-12-25 15:53:38 +08:00
1ebc17850b
fix(api): force download for HTML previews ( #30090 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-25 11:43:07 +08:00
2f9d718997
fix: fix use build_request lead unexpect param ( #30095 )
2025-12-24 17:23:30 +08:00
a5309bee25
fix: handle missing credential_id ( #30051 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-24 11:21:51 +08:00
037b8ae9e2
refactor: split changes for api/controllers/web/forgot_password.py ( #29858 )
2025-12-24 09:41:51 +08:00
0a448a13c8
refactor: split changes for api/controllers/console/extension.py ( #29888 )
2025-12-24 09:41:42 +08:00