stevqin opened a new pull request, #18648:
URL: https://github.com/apache/dolphinscheduler/pull/18648

   ## Was this PR generated or assisted by AI?
   
   YES. OpenAI Codex assisted with the Gantt UI implementation, 
data-normalization tests, and this description. The UI was iterated with the 
contributor and verified in a local running DolphinScheduler instance.
   
   ## Purpose of the pull request
   
   Closes #18647.
   
   Make the workflow-instance Gantt view useful for inspecting workflows with 
mixed task durations. The previous view rounds timestamps to whole seconds, 
making subsecond tasks appear to have no duration, and does not expose 
task-count summaries or direct log access.
   
   For example, a workflow containing a long task and an 8 ms task should keep 
the short task visible, preserve its actual duration, show whether other tasks 
are still unsubmitted or have failed, and let an operator open the 
corresponding log while still being able to select and copy task names.
   
   ## Brief change log
   
   - Replace the fixed chart layout with a compact timeline that fits the 
available width, with elapsed-time and percentage ticks shown together and no 
horizontal scrollbar.
   - Preserve millisecond timestamps and use a 5 px visual minimum for short 
task bars, including bars at the right edge. Duration labels and percentages 
still represent the actual values; parallel-task percentages may total more 
than 100%.
   - Add compact, color-coded counts for total, submitted, unsubmitted, 
waiting, running, succeeded, failed, and paused/stopped tasks. Use the 
instance's definition version and deduplicate retries by task code.
   - Refresh active workflows every five seconds, extend running durations, and 
retain the last successful snapshot on refresh failure. Ignore stale requests 
after navigation/unmount.
   - Keep task names selectable and provide a separate log button using the 
existing log modal, refresh, and download actions. Bound the in-page preview to 
20,000 lines and offer the full download.
   - Add subtle grid guides, responsive layout, existing theme colors, and 
Chinese/English text. Display the last update beside the workflow-instance ID.
   
   The change is confined to the UI and uses existing APIs. There are no 
backend, database-schema, public-API, or dependency changes.
   
   ## Verify this pull request
   
   This change adds tests and was verified as follows:
   
   - `cd dolphinscheduler-ui && node --test tests/gantt-model.test.cjs`: 7 
tests covering retry deduplication, unsubmitted nodes, millisecond precision, 
running/completed durations, missing dates, parallel-task percentages, UTC 
parsing, and subsecond timeline bounds.
   - `vue-tsc --noEmit`: passed.
   - Scoped ESLint and Prettier checks for the changed UI files: passed.
   - `vite build --mode production`: passed (existing bundle-size warnings).
   - `mvn -B -ntp spotless:apply`: passed for the full reactor; no unrelated 
formatting changes.
   - Manual browser verification against a local Standalone/H2 backend: 
completed workflows with successful, failed, and unsubmitted tasks; real log 
retrieval via the separate button; task-name text selection; 5 px minimum bar 
width; no horizontal overflow; and updated layout at the available viewport 
width.
   
   Running-time calculations are covered by tests. A new production workload 
was not launched for this change.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to