-
Notifications
You must be signed in to change notification settings - Fork 16.3k
Add HITLDetailHistory UI #56760
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
Add HITLDetailHistory UI #56760
Conversation
|
after some tesitng, I feel we might need to revert part of the #55952 implementation 🤔 (related to ti history) |
bb30a01 to
5a2dc8e
Compare
5a2dc8e to
91848f8
Compare
91848f8 to
3ed2c75
Compare
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.
Thanks for the PR, UI wise looks good.
I found a minor cache issue in my local test.
Screen.Recording.2025-10-29.at.12.39.54.AM.mov
We need to invalidate the cache when submitting a reply by adding:
[useTaskInstanceServiceGetHitlDetailTryKey, { dagId, dagRunId, mapIndex, taskId }],
to the mutation's onSuccess callback at
| UseDagRunServiceGetDagRunKeyFn({ dagId, dagRunId }), | |
| [useDagRunServiceGetDagRunsKey], | |
| [useTaskInstanceServiceGetTaskInstancesKey, { dagId, dagRunId }], | |
| [useTaskInstanceServiceGetTaskInstanceKey, { dagId, dagRunId, mapIndex, taskId }], | |
| [useTaskInstanceServiceGetHitlDetailsKey, { dagIdPattern: dagId, dagRunId }], | |
| [useTaskInstanceServiceGetHitlDetailKey, { dagId, dagRunId }], |
Feel free to let me know if anything's unclear or if you'd like me to explain further!
airflow-core/src/airflow/ui/src/pages/TaskInstance/HITLResponse.tsx
Outdated
Show resolved
Hide resolved
airflow-core/src/airflow/api_fastapi/core_api/datamodels/hitl.py
Outdated
Show resolved
Hide resolved
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.
Maybe rebase this PR because the backend part was merged and typo was fixed, this will make the changelog limited to the front-end part and make it easier to review I believe.
airflow-core/src/airflow/api_fastapi/core_api/routes/public/hitl.py
Outdated
Show resolved
Hide resolved
airflow-core/src/airflow/api_fastapi/core_api/routes/public/hitl.py
Outdated
Show resolved
Hide resolved
60618ce to
83806cd
Compare
bbovenzi
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.
Found a few issues that we need to fix.
We also need to add the query key for useTaskInstanceServiceGetHitlDetailTryDetail in useUpdateHITLDetail.ts
Also, I noticed in example_hitl_operator dag that the hitlDetails.body details never changes after the first try even though what I submitted in the prior hitl actions is different.
airflow-core/src/airflow/ui/src/pages/TaskInstance/HITLResponse.tsx
Outdated
Show resolved
Hide resolved
|
Mark it as a draft. I'll get back to it if bandwidth allow |
45f398c to
248367b
Compare
…te hitl_try endpoint instead
248367b to
c558d5a
Compare
bbovenzi
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.
This is a good start. I want to make some other UX changes to improve HITL but thats separate from this functionality
|
Got it. Thanks @bbovenzi ! |
Why
The backend side of HITLHistory was added in #55952, but the UI part wasn't.
Closes: #54956
What
Screenshot
try 1
try 2
^ 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.