Skip to content

Handle expired Taskcluster tasks in the details panel#9532

Open
camd wants to merge 1 commit into
masterfrom
camd/expired-jobs-details-panel
Open

Handle expired Taskcluster tasks in the details panel#9532
camd wants to merge 1 commit into
masterfrom
camd/expired-jobs-details-panel

Conversation

@camd
Copy link
Copy Markdown
Collaborator

@camd camd commented May 19, 2026

Previously, selecting a job whose Taskcluster task had expired caused queue.task() to reject inside fetchTaskData, which rejected the whole Promise.all in useJobDetails and left selectedJobFull as null. Both SummaryPanel and TabsPanel gate their content on selectedJobFull, so the details panel rendered completely blank with no explanation.

Catch the queue.task() failure, fall back to defaults so the rest of the panel renders, and surface a "Taskcluster task expired" badge next to the State line. Disable actions that need a live task definition (Retrigger, Cancel, Backfill, Create Interactive Task, Create Gecko Profile, Generate side-by-side, Confirm Test Failures, Custom Action) with tooltips explaining why.

I also cleaned up a few ancillary things like old class components and messaging in the logviewer when a task is expired (no log will be available).

@camd camd self-assigned this May 19, 2026
@camd camd force-pushed the camd/expired-jobs-details-panel branch 2 times, most recently from 47e98cb to 0a571fd Compare May 19, 2026 19:19
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 19, 2026

Codecov Report

❌ Patch coverage is 67.93478% with 59 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.83%. Comparing base (3519a51) to head (0b9b8a4).
⚠️ Report is 7 commits behind head on master.

Files with missing lines Patch % Lines
ui/job-view/details/summary/ActionBar.jsx 60.15% 48 Missing and 3 partials ⚠️
ui/job-view/details/summary/LogUrls.jsx 20.00% 4 Missing ⚠️
ui/job-view/details/summary/SummaryPanel.jsx 85.18% 3 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #9532      +/-   ##
==========================================
+ Coverage   82.75%   82.83%   +0.07%     
==========================================
  Files         604      604              
  Lines       34973    34996      +23     
  Branches     3261     3298      +37     
==========================================
+ Hits        28943    28989      +46     
+ Misses       5661     5638      -23     
  Partials      369      369              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Previously, selecting a job whose Taskcluster task had expired caused
queue.task() to reject inside fetchTaskData, which rejected the whole
Promise.all in useJobDetails and left selectedJobFull as null. Both
SummaryPanel and TabsPanel gate their content on selectedJobFull, so
the details panel rendered completely blank with no explanation.

Catch the queue.task() failure, fall back to defaults so the rest of
the panel renders, and surface a "Taskcluster task expired" badge next
to the State line. Disable actions that need a live task definition
(Retrigger, Cancel, Backfill, Create Interactive Task, Create Gecko
Profile, Generate side-by-side, Confirm Test Failures, Custom Action)
with tooltips explaining why.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@camd camd force-pushed the camd/expired-jobs-details-panel branch from 0a571fd to 0b9b8a4 Compare May 20, 2026 21:30
@camd camd requested a review from Archaeopteryx May 20, 2026 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants