ux/ui: improve build page information #2998
bufferUnderrun opened 1 month ago

Hi Robin,

My CI job is very important to me (track warning/error...). Could it be possible to improve the information displayed in that page in realtime ?

  1. when I see warning in the log, I can't copy/paste them while the build is running because the log is scrolling automatically. very annoying. An option to temporary disable log scrolling would be appreciated.
  2. I have many steps on my jobs, could you show the current running step ? for example : "3/10 - name of the step"
  3. since onedev tracks job duration, could you show a timer with the current time spent and the estimated time to spend

image.png

Thanks

  • Zak Siddiqui commented 1 month ago

    @bufferunderrun, @robin, my 2c:

    1. Log scrolling

    Instead of a button to enable or disable automatic scrolling, I think it would be better to make a more intuitive UX by doing the following:

    1. If the logs are already scrolled down to the bottom, then stick to the bottom.
    2. If the user scrolls up, then do not auto scroll.
    3. Create an icon button next to the download logs button that allows the user to stick to the bottom of the logs again. This button is only visible if the current logs view is not sticking to the bottom of the logs.

    2. Displaying current step name

    I like the idea, but we need to make sure it's not displayed on the mobile view.


    3. Progress as time spent

    current_time_spent / estimated_time_spent

    Since this is highly variable behavior, I do not recommend this as a default option.

    Perhaps what we could have instead is an icon button that the user can click in order to obtain a live view of the progress. The tooltip for the icon button should say that the estimate is based on the last x number of builds of the same job.

    I would also recommend this be displayed as a percentage calculation (where the percentage math is done client-side in the browser). The reason behind this is that it reduces the amount of space taken up. We can still keep the full current_time_spent / estimated_time_spent as a tooltip to the percentage.


    Happy to hear your feedback.

  • Zak Siddiqui commented 1 month ago

    Create an icon button next to the download logs button that allows the user to stick to the bottom of the logs again

    Icon choice is critical here. The download logs icon already has a down arrow, so I wonder if there's any icon for "scroll to the bottom" that would not be a down arrow-like design, because this would create a bit of ambiguity.

  • Zak Siddiqui commented 1 month ago

    One other thing I forgot to mention for displaying the step name

    We could also dynamically update the step name in the title (client-side code only). Currently, the page title has only the build number. Perhaps we could also have the build number and then the step name in the page title.

  • Zak Siddiqui commented 2 weeks ago

    Summary of improvement requests for the build page:

    This issue proposes several UX/UI improvements for the build page to make real-time build monitoring more effective.

    1. Log auto-scrolling — When a build is running, the log scrolls automatically, making it impossible to copy/paste warnings or errors. The proposed solution (based on discussion) is:

    • Keep the log auto-scrolled to the bottom when the user hasn't interacted with the scroll position.
    • If the user scrolls up, stop auto-scrolling.
    • Add an icon button (visible only when not at the bottom) to allow the user to "stick to bottom" again. The icon should be distinct from the existing download logs button to avoid ambiguity.

    2. Current running step — Show which step is currently executing, e.g. "3/10 - Step Name". This should be hidden on mobile views. Additionally, the page title could be updated client-side to include both the build number and the current step name.

    3. Progress timer / estimated time — Show a live indicator of time spent vs. estimated duration. Rather than making this a default view, it could be an optional icon the user clicks to see progress. Suggested display: a percentage calculated client-side, with the full current_time_spent / estimated_time_spent shown as a tooltip. The estimate could be based on the last N builds of the same job.

1/1
Type
Improvement
Priority
Normal
Assignee
Labels
No labels
Issue Votes (1)
Watchers (4)
Reference
OD-2998
Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover