-
Notifications
You must be signed in to change notification settings - Fork 16.3k
Fix task instance and runs tooltips in Grid view #58359
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
Conversation
|
Would it be worth adding duration to the tooltip? |
The 2.11 version has task id, status, started, ended, duration and trigger rule in the tool tip |
|
Is the datetime in the screenshots the task start or the task end? I think the datetime should be in yyy-mm-dd, hh:mm:ss tz like in 2.11 |
|
Thanks @RoyLee1224, I agree that it would be super useful to have the version, status, start, end, duration, and trigger rule in the tool tip. |
|
Thanks @NilsJPWerner @waltervillarreal @aaron-wolmutt. I agree those time fields are very useful. However, the current Modifying the API to return these timestamps for all tasks involves backend changes and potential schema updates (similar to the attempts in #55927) To avoid scope creep, I'd like to keep this PR focused on fixing the flashing bug and performance, restoring the tooltip functionality as seen in #53438. We can open a separate PR to update the backend and enable the time fields display. |
You have a great point about avoiding scope creep in pull requests. I'm trying keep my PRs separated by backend/front end as well. I think the fix would fit 3.1.X then and adding those fields to the API would probably fit the 3.2 release |
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.
Thanks for PR.
I don't think the PR title is accurate.
Also it appears that we have Tooltip component too, to what extend should we only have 1 Tooltip conponent instead of having HoverTooltip/BasicTooltip + Tooltip, it's hard to get the difference unless we read the implementation in details.
airflow-core/src/airflow/ui/src/pages/Dag/Calendar/CalendarCell.tsx
Outdated
Show resolved
Hide resolved
ad68cfc to
9393ad5
Compare
Update
update.mp4 |
640ea98 to
fe14760
Compare
pierrejeambrun
left a comment
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.
Nice.
Just a few suggestions / nitpick, but looking good.
airflow-core/src/airflow/ui/src/layouts/Details/Grid/GridTI.tsx
Outdated
Show resolved
Hide resolved
airflow-core/src/airflow/ui/src/layouts/Details/Grid/GridTI.tsx
Outdated
Show resolved
Hide resolved
guan404ming
left a comment
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.
LGTM for my local tests. left some nit, thanks!
pierrejeambrun
left a comment
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.
LGTM
* refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
…58359) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
…#59013) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
* refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning
…#59013) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
…#59013) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
…#59013) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
…#59013) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
…#59013) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
…#59013) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
…#59013) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
…#59013) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
…#59013) * refactor: replace hovertooltip with basictooltip * feat: implement basic tooltip for grid TI * feat: implement basic tooltip for grid run * fix: use get duration util * refactor: simplify BasicTooltip and add auto-flip for viewport overflow * fix(i18n): add translation for tooltip states * refactor: improve BasicTooltip positioning and remove duration * fix: use Chakra semantic tokens * refactor: use dynamic height for BasicTooltip positioning (cherry picked from commit 4970ea2) Co-authored-by: LI,JHE-CHEN <103923510+RoyLee1224@users.noreply.github.com>
Related
part of #55900
part of #56250 (The hover tooltips disappear about a second after popping up.)
Changes
HoverTooltipand rename it toBasicTooltipHoverTooltiptoBasicTooltipin Calendar tabBasicTooltipto task instance and runs tooltips in Grid viewWhy
BasicTooltipprovides similar functionality with better rendering performancePerformance issue Reference: UI: Add grid tooltip to show RunType & note #51736 (comment)
HoverTooltiptoBasicTooltipto better reflect its purpose as a performant tooltip component suitable for high-density UI(eg. Grid view, Calendar tab).Screenshots
Performance (Chakra UI tooltip vs. BasicTooltip)
I've tried with both approaches, Charka UI looks laggy with large amount TIs
chakra.mp4
custom.mp4
Before / After
Before (tooltip somehow disappear)
CleanShot.2025-11-16.at.01.42.05.mp4
After(tooltip last correctly)
CleanShot.2025-11-16.at.01.40.10.mp4
Before
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in airflow-core/newsfragments.