From 59f56d8c94213237cca4b557212ee1ea924c9fc9 Mon Sep 17 00:00:00 2001 From: lyzno1 <92089059+lyzno1@users.noreply.github.com> Date: Fri, 19 Sep 2025 08:05:00 +0800 Subject: [PATCH] feat: schedule trigger default daily midnight (#25937) --- api/core/workflow/nodes/trigger_schedule/entities.py | 2 +- .../nodes/trigger_schedule/trigger_schedule_node.py | 4 ++-- .../nodes/trigger-schedule/__tests__/default.test.ts | 2 +- .../components/workflow/nodes/trigger-schedule/constants.ts | 6 +++--- .../components/workflow/nodes/trigger-schedule/panel.tsx | 6 +++--- .../workflow/nodes/trigger-schedule/use-config.ts | 2 +- .../trigger-schedule/utils/execution-time-calculator.ts | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/api/core/workflow/nodes/trigger_schedule/entities.py b/api/core/workflow/nodes/trigger_schedule/entities.py index 0fea4dcda3..7ff78c4054 100644 --- a/api/core/workflow/nodes/trigger_schedule/entities.py +++ b/api/core/workflow/nodes/trigger_schedule/entities.py @@ -38,7 +38,7 @@ class VisualConfig(BaseModel): on_minute: Optional[int] = Field(default=0, ge=0, le=59, description="Minute of the hour (0-59)") # For daily, weekly, monthly frequencies - time: Optional[str] = Field(default="12:00 PM", description="Time in 12-hour format (e.g., '2:30 PM')") + time: Optional[str] = Field(default="12:00 AM", description="Time in 12-hour format (e.g., '2:30 PM')") # For weekly frequency weekdays: Optional[list[Literal["sun", "mon", "tue", "wed", "thu", "fri", "sat"]]] = Field( diff --git a/api/core/workflow/nodes/trigger_schedule/trigger_schedule_node.py b/api/core/workflow/nodes/trigger_schedule/trigger_schedule_node.py index 056bbc1f98..7c8bb4fa97 100644 --- a/api/core/workflow/nodes/trigger_schedule/trigger_schedule_node.py +++ b/api/core/workflow/nodes/trigger_schedule/trigger_schedule_node.py @@ -46,8 +46,8 @@ class TriggerScheduleNode(BaseNode): "type": "trigger-schedule", "config": { "mode": "visual", - "frequency": "weekly", - "visual_config": {"time": "11:30 AM", "on_minute": 0, "weekdays": ["sun"], "monthly_days": [1]}, + "frequency": "daily", + "visual_config": {"time": "12:00 AM", "on_minute": 0, "weekdays": ["sun"], "monthly_days": [1]}, "timezone": "UTC", }, } diff --git a/web/app/components/workflow/nodes/trigger-schedule/__tests__/default.test.ts b/web/app/components/workflow/nodes/trigger-schedule/__tests__/default.test.ts index efafc256d5..ef040c5333 100644 --- a/web/app/components/workflow/nodes/trigger-schedule/__tests__/default.test.ts +++ b/web/app/components/workflow/nodes/trigger-schedule/__tests__/default.test.ts @@ -31,7 +31,7 @@ describe('Schedule Trigger Node Default', () => { describe('Basic Configuration', () => { it('should have correct default value', () => { expect(nodeDefault.defaultValue.mode).toBe('visual') - expect(nodeDefault.defaultValue.frequency).toBe('weekly') + expect(nodeDefault.defaultValue.frequency).toBe('daily') }) it('should have empty prev nodes', () => { diff --git a/web/app/components/workflow/nodes/trigger-schedule/constants.ts b/web/app/components/workflow/nodes/trigger-schedule/constants.ts index 5dc6741237..ab6b8842bf 100644 --- a/web/app/components/workflow/nodes/trigger-schedule/constants.ts +++ b/web/app/components/workflow/nodes/trigger-schedule/constants.ts @@ -2,9 +2,9 @@ import type { ScheduleTriggerNodeType } from './types' export const getDefaultScheduleConfig = (): Partial => ({ mode: 'visual', - frequency: 'weekly', + frequency: 'daily', visual_config: { - time: '11:30 AM', + time: '12:00 AM', weekdays: ['sun'], on_minute: 0, monthly_days: [1], @@ -12,7 +12,7 @@ export const getDefaultScheduleConfig = (): Partial => }) export const getDefaultVisualConfig = () => ({ - time: '11:30 AM', + time: '12:00 AM', weekdays: ['sun'], on_minute: 0, monthly_days: [1], diff --git a/web/app/components/workflow/nodes/trigger-schedule/panel.tsx b/web/app/components/workflow/nodes/trigger-schedule/panel.tsx index 743addcaec..46e4683793 100644 --- a/web/app/components/workflow/nodes/trigger-schedule/panel.tsx +++ b/web/app/components/workflow/nodes/trigger-schedule/panel.tsx @@ -55,7 +55,7 @@ const Panel: FC> = ({ {t('workflow.nodes.triggerSchedule.frequencyLabel')} @@ -75,7 +75,7 @@ const Panel: FC> = ({ timezone={inputs.timezone} value={inputs.visual_config?.time ? dayjs(`1/1/2000 ${inputs.visual_config.time}`) - : dayjs('1/1/2000 11:30 AM') + : dayjs('1/1/2000 12:00 AM') } onChange={(time) => { if (time) { @@ -84,7 +84,7 @@ const Panel: FC> = ({ } }} onClear={() => { - handleTimeChange('11:30 AM') + handleTimeChange('12:00 AM') }} placeholder={t('workflow.nodes.triggerSchedule.selectTime')} /> diff --git a/web/app/components/workflow/nodes/trigger-schedule/use-config.ts b/web/app/components/workflow/nodes/trigger-schedule/use-config.ts index fd51392071..efd83ac4b3 100644 --- a/web/app/components/workflow/nodes/trigger-schedule/use-config.ts +++ b/web/app/components/workflow/nodes/trigger-schedule/use-config.ts @@ -14,7 +14,7 @@ const useConfig = (id: string, payload: ScheduleTriggerNodeType) => { return { ...payload, mode: payload.mode || 'visual', - frequency: payload.frequency || 'weekly', + frequency: payload.frequency || 'daily', timezone: userProfile.timezone || 'UTC', visual_config: { ...getDefaultVisualConfig(), diff --git a/web/app/components/workflow/nodes/trigger-schedule/utils/execution-time-calculator.ts b/web/app/components/workflow/nodes/trigger-schedule/utils/execution-time-calculator.ts index cfd075c917..fe5f9def1f 100644 --- a/web/app/components/workflow/nodes/trigger-schedule/utils/execution-time-calculator.ts +++ b/web/app/components/workflow/nodes/trigger-schedule/utils/execution-time-calculator.ts @@ -48,7 +48,7 @@ export const getNextExecutionTimes = (data: ScheduleTriggerNodeType, count: numb } const times: Date[] = [] - const defaultTime = data.visual_config?.time || '11:30 AM' + const defaultTime = data.visual_config?.time || '12:00 AM' // Get "today" in user's timezone for display purposes const now = new Date()