Add searchable and flattened export, history re-export and diagnostics self-test

issueAndArchive keeps an issued invoice even when rendering or archiving
fails (Issued - not archived, with a Render & archive action). The export
menu offers a searchable PDF or a 300 DPI image-only PDF whose metadata is
the invoice number alone; flatten failures offer Retry or searchable export
and never silently lower the resolution. History re-exports the original
as issued by default and warns when a re-render's layout fingerprint
differs. The render client gains a FIFO assemble lane that previews cannot
supersede. A Diagnostics panel runs fixtures in the real worker and
compares against goldens generated from Node.
This commit is contained in:
2026-10-04 06:11:23 +05:30
parent 2ade618fb5
commit 98e9e5860f
30 changed files with 2727 additions and 154 deletions
+43
View File
@@ -353,3 +353,46 @@ body {
background-color: var(--cds-support-warning);
color: #161616;
}
/* ---------- export feedback ---------- */
.voiced-notice-actions {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
margin-top: 0.5rem;
}
.voiced-export-split {
display: inline-flex;
align-items: stretch;
}
.voiced-diagnostics__check {
padding: 0.5rem 0;
border-bottom: 1px solid var(--cds-border-subtle-01);
}
.voiced-diagnostics__head {
display: flex;
align-items: center;
gap: 0.5rem;
}
.voiced-diagnostics__label {
flex: 1 1 auto;
min-width: 0;
}
.voiced-diagnostics__ms {
color: var(--cds-text-secondary);
font-size: 0.75rem;
white-space: nowrap;
}
.voiced-diagnostics__detail {
margin: 0.25rem 0 0;
color: var(--cds-text-secondary);
font-size: 0.75rem;
white-space: pre-wrap;
overflow-wrap: anywhere;
}