Skip to content

[Iris] Fix stale detail state and nested child jobs in dashboard#4108

Merged
rjpower merged 3 commits intomainfrom
fix/iris-dashboard-stale-child-job
Mar 25, 2026
Merged

[Iris] Fix stale detail state and nested child jobs in dashboard#4108
rjpower merged 3 commits intomainfrom
fix/iris-dashboard-stale-child-job

Conversation

@ahmeda14960
Copy link
Copy Markdown
Contributor

@ahmeda14960 ahmeda14960 commented Mar 24, 2026

Fix route-reuse stale state in task, worker, log, and job detail views, and show nested child jobs from job detail without leaving the page. Share the job tree logic with JobsTab and keep direct children as the default detail-page view with an all-descendants toggle.

Fixes #4107

@ahmeda14960 ahmeda14960 added the agent-generated Created by automation/agent label Mar 24, 2026
@ahmeda14960 ahmeda14960 requested review from ravwojdyla and rjpower and removed request for rjpower March 24, 2026 23:56
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 74bd8a8c52

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

</td>
<td class="px-3 py-2 text-[13px] text-text-secondary font-mono">
{{ childJobDuration(child) }}
{{ jobDuration(node.job) }}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve queued duration for child jobs

The child-jobs table now renders duration via jobDuration(node.job), which returns '-' until startedAt is set. This drops the previous queued-time fallback (queued <relative time> from submittedAt) for pending child jobs, so users lose visibility into how long queued children have been waiting. That is a behavioral regression in the detail page’s status signal for unscheduled child jobs.

Useful? React with 👍 / 👎.

@rjpower
Copy link
Copy Markdown
Collaborator

rjpower commented Mar 25, 2026

@claude Looks like something in the change is breaking the cloud smoke tests expected playwright rules. pls fix. Also please remove the debugging log doc from this branch

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 25, 2026

Claude finished @rjpower's task in 5m 0s —— View job


Fixing Playwright smoke tests and removing debug doc

  • Gather context: CI failure is test_dashboard_jobs_tab — sleep-30 job finishes (SUCCEEDED) before wait_for_state(RUNNING) can observe it. This is a timing flake in cloud mode where scheduling takes longer.
  • Remove docs/debug-log-dashboard-route-reuse.md
  • Fix test_dashboard_jobs_tab: increase sleep duration from 30s → 300s so the job stays RUNNING long enough for the test to observe it (the job is killed at the end of the test anyway)
  • Run pre-commit — all checks pass
  • Commit and push

Summary

Root cause: In cloud mode, wait(quick) + wait(failed) consumed enough wall time (due to GCE scheduling latency) that the 30-second sleep job completed before wait_for_state(RUNNING) was called, causing a TimeoutError (job was already SUCCEEDED).

Changes:

  1. Deleted docs/debug-log-dashboard-route-reuse.md (debugging artifact)
  2. Increased sleep duration in test_dashboard_jobs_tab from 30s to 300s — the job is killed at the end of the test, so the longer sleep has no impact on test duration

Testing: Pre-commit passes. The actual cloud smoke test will validate on the next CI run.
·

Remove docs/debug-log-dashboard-route-reuse.md (debugging artifact).

Increase sleep duration in test_dashboard_jobs_tab from 30s to 300s so the
job stays in RUNNING state long enough for the cloud smoke test to observe
it. In cloud mode, scheduling latency for the preceding quick/failed jobs
can consume enough time for a 30s sleep to complete before wait_for_state
is called.

Co-authored-by: Russell Power <rjpower@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rjpower rjpower merged commit 2c9814d into main Mar 25, 2026
40 of 41 checks passed
@rjpower rjpower deleted the fix/iris-dashboard-stale-child-job branch March 25, 2026 01:29
Helw150 pushed a commit that referenced this pull request Apr 8, 2026
Fix route-reuse stale state in task, worker, log, and job detail views,
and show nested child jobs from job detail without leaving the page.
Share the job tree logic with JobsTab and keep direct children as the
default detail-page view with an all-descendants toggle.

Fixes #4107
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-generated Created by automation/agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Iris] Fix stale detail state and nested child jobs in dashboard

2 participants