-
Notifications
You must be signed in to change notification settings - Fork 7
Flowlord UI #244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Flowlord UI #244
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||||
180d664 to
92aca30
Compare
92aca30 to
8c2a0ad
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR enhances the Flowlord UI with a backload feature for creating historical tasks, implements hourly task breakdown charts, extracts reusable table sorting functionality, and improves the about page with dynamic uptime calculation and number formatting.
Changes:
- Adds a new backload form UI with task selection, date ranges, meta fields, and preview/execute functionality
- Implements hourly task breakdown chart with filtering on the task dashboard
- Extracts table sorting logic into a reusable module used across alert and workflow pages
- Enhances about page with live uptime calculation and formatted row counts
- Fixes cron parser initialization and rule syntax in configuration
Reviewed changes
Copilot reviewed 17 out of 19 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| handler.go | Adds backload route, template handling, and hourly stats integration |
| handler_test.go | Adds test coverage for backload HTML generation |
| stats.go | Implements GetCountsWithHourlyFiltered method for task breakdown by hour |
| workflow.go | Adds GetAllPhasesGrouped method for backload form data |
| taskmaster.go | Fixes cron parser initialization to use cronParser |
| jobs.toml | Fixes rule syntax from question mark to ampersand delimiter |
| backload.js | New 644-line module for backload form with search, preview, and execution |
| table-sort.js | New reusable table sorting module with URL persistence |
| task.js | Adds result filter dropdown and initializes filters earlier |
| utils.js | Improves HTML escaping and refactors event handling |
| backload.tmpl | New template for backload form UI |
| header.tmpl | Adds backload navigation link and mobile menu toggle |
| task.tmpl | Adds hourly chart rendering and result filter dropdown |
| workflow.tmpl | Refactored to use table-sort.js and utils.js modules |
| alert.tmpl | Refactored to use table-sort.js and utils.js modules |
| about.tmpl | Adds dynamic uptime calculation and number formatting |
| style.css | Adds 493 lines of styles for backload, charts, and responsive navigation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| const startTimeStr = document.getElementById('startTime').value; | ||
| if (!startTimeStr) return; | ||
|
|
||
| const startTime = new Date(startTimeStr); |
Copilot
AI
Jan 14, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No validation is performed to check if startTime is a valid date after parsing. If the date string is malformed, the code will continue with an invalid date object. Consider adding a check: if (isNaN(startTime.getTime())) return; after creating the Date object.
| const startTime = new Date(startTimeStr); | |
| const startTime = new Date(startTimeStr); | |
| if (isNaN(startTime.getTime())) return; |
| if err != nil { | ||
| continue | ||
| } |
Copilot
AI
Jan 14, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Errors from GetPhasesForWorkflow are silently ignored. Consider logging these errors to help with debugging workflow loading issues, as silent failures could make it difficult to diagnose why certain workflows aren't appearing in the backload form.
PR Type
Enhancement, Tests
Description
Add backload form UI for creating historical tasks with date ranges
Implement hourly task breakdown chart on task dashboard
Extract reusable table sorting module for consistent sorting across pages
Enhance about page with dynamic uptime calculation and number formatting
Improve utility functions with better HTML escaping and event handling
Diagram Walkthrough
File Walkthrough
14 files
Add backload template and route handlerAdd hourly task breakdown with filteringAdd method to get phases grouped by workflowNew backload form with task selection and previewReusable table sorting module for all pagesAdd result filter and initialize filters earlyImprove HTML escaping and event handlingAdd backload form and hourly chart stylesAdd dynamic uptime calculation and number formattingUse reusable table-sort module and utilsNew backload form template with task selection UIAdd backload navigation link to headerAdd hourly chart and result filter dropdownUse reusable table-sort module and utils1 files
Add test for backload HTML generation2 files
Fix cron parser initializationFix rule syntax from question mark to ampersand