PrakshiGoyal10 commented on PR #69998:
URL: https://github.com/apache/airflow/pull/69998#issuecomment-5353216915

   Pulled your patch onto the branch — thanks @Vamsi-klu, this is a clean fix.
   
   Confirming what it does, verified locally against a deserialized Dag rather 
than mocks:
   
   - Both repair-link classes now declare `operators`, so 
`_deserialize_operator` keeps the real link objects instead of replacing them 
with `XComOperatorLink` — @moomindani's suggested route, so `_build_repair_url` 
runs at request time and no URL is frozen into XCom.
   - `_get_launch_task_id_v3` no longer calls `get_child_by_label`; it resolves 
the launch task via the `.launch` suffix, `upstream_task_ids`, then a group 
walk, so it works on `SerializedTaskGroup`.
   - The redirect and the confirmation form action are same-site relative and 
now include the `[api] base_url` path prefix, so a non-root deployment doesn't 
404 after repair.
   - `start_time` missing/null is treated as oldest, and legacy repair-all now 
logs task keys it can't map back instead of dropping them silently.
   
   The `SerializedDagModel.get_dag` round-trip test is the important part — it 
goes through the API server's own path and asserts a non-empty URL for a member 
task, so the "buttons silently stop rendering" break can't come back unseen. 
All 178 provider unit tests pass locally, ruff and mypy clean.
   
   @moomindani — I think this addresses the two blockers plus the test you 
asked to treat as non-optional. PTAL when you have a chance.
   
   ---
   Drafted-by: Claude Code (Opus 4.8); reviewed by @PrakshiGoyal10
   


-- 
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