feat: implement multi-select monthly trigger schedule#24247
Merged
crazywoola merged 2 commits intolanggenius:feat/triggerfrom Aug 20, 2025
Merged
feat: implement multi-select monthly trigger schedule#24247crazywoola merged 2 commits intolanggenius:feat/triggerfrom
crazywoola merged 2 commits intolanggenius:feat/triggerfrom
Conversation
This was referenced Aug 21, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Enhanced monthly trigger schedule to support multi-day selection within a month while maintaining 100% backward compatibility with existing single-day configurations.
Key Changes
Data Structure Optimization
monthly_days: (number | 'last')[]field, removing dual-field complexityweekdays: string[]pattern for API consistency[15], Multi-selection:[1, 15, 30]Component Enhancement
Backward Compatibility
Technical Implementation
Enhanced Features
Edge Cases Handled
Test Coverage (43 test cases)
Component Tests (17 cases)
Validation Tests (9 cases)
Execution Calculator Tests (17 cases)
Validation Logic Enhancement
Updated
validateMonthlyConfig()to handle array-based monthly_days with comprehensive checks:Files Modified
types.ts: Unified data structuremonthly-days-selector.tsx: Multi-select UI componentdefault.ts: Enhanced validation logicexecution-time-calculator.ts: Multi-day execution algorithmpanel.tsx: Array-based integrationTest Files Added
monthly-days-selector.test.tsx: Component behavior and accessibilitymonthly-validation.test.ts: Validation logic and edge casesmonthly-multiselect.test.ts: Execution time calculation and calendar handlingAll tests pass with high coverage: 100% component statements, 95% component branches.