BLAST jobs list — copyable job_id chip¶
Motivation¶
The jobs list row showed a human title (query/db) but only fell back to the raw
job_id when no title existed. During load tests and Service Bus / OpenAPI
correlation, operators need the actual job_id visible and copyable without
opening the detail page.
User-facing change¶
- Each JobRow now renders a small
monospace
id <prefix…suffix>chip in the row metadata line. - UUID ids (36 chars) are collapsed to
<8 char prefix>…<4 char suffix>so the row stays compact; short OpenAPI ids (≤14 chars) show in full. - Clicking the chip copies the full
job_idto the clipboard (navigator.clipboard.writeText); the full id is also in the chiptitle. - The click is
preventDefault/stopPropagation-guarded so it never triggers the row's navigation to the job detail page.
Diff summary¶
- web/src/pages/BlastJobs/JobRow.tsx:
added a
shortJobIdhelper and the chip button. No backend change —job_idwas already present on every jobs-list payload row.
Validation¶
npx eslint src/pages/BlastJobs/JobRow.tsx— clean.npm run build— succeeds.npx vitest run src/pages/BlastJobs— 6 passed.