You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Maintainer decision (2026-08-13): PDF document generation is re-planned and scheduled for v18. This supersedes the #1301NOT_PLANNED closure (2026-06-27).
Re-introducing the capability therefore has a spec-side unwind cost, not just a renderer cost: the retired enum value, its error-map prescription, and the corresponding removal-registry entry all need to be walked back deliberately (and the migration story for metadata authored against 17 decided).
Why it came back
Solution scoping for an overseas port/terminal customer (2026-08) — and previously the template gap audit (docs/PLATFORM_GAPS_FROM_TEMPLATES.md gap #9, the origin of #1301) — keeps hitting the same wall: statutory / paper deliverables are non-negotiable for billing- and government-adjacent customers. Concrete artifacts in the port scenario alone: invoices, weighbridge tickets, delivery orders, official correspondence, monthly operation reports. Browser Ctrl+P (Console chrome, no pagination) and per-project Puppeteer side-services are the only workarounds today, and every implementation reinvents the latter.
Suggested scope (starting point: the M1–M4 sketch from #1301)
M4 — bulk export (merged PDF / zip) — note the aggregate bulk-action dispatch (execution: 'aggregate', objectui#3139) already anticipates "merged PDF, batch print" as its example payload, so the action surface is partly in place.
Status
Maintainer decision (2026-08-13): PDF document generation is re-planned and scheduled for v18. This supersedes the #1301
NOT_PLANNEDclosure (2026-06-27).Ruling history (what this issue reverses)
NOT_PLANNED.ListView.exportOptionsis typed as a bare array, but the only renderer readsexportOptions.formats#8010 —'pdf'was subsequently removed fromview.exportOptionsformats in@objectstack/spec17.0.0; the enum's error map now carries a retirement prescription andos migrate meta --from 16rewrites existing sources (packages/spec/src/ui/view.zod.ts:1239-1264). Surviving formats:csv/xlsx/json.Re-introducing the capability therefore has a spec-side unwind cost, not just a renderer cost: the retired enum value, its error-map prescription, and the corresponding removal-registry entry all need to be walked back deliberately (and the migration story for metadata authored against 17 decided).
Why it came back
Solution scoping for an overseas port/terminal customer (2026-08) — and previously the template gap audit (
docs/PLATFORM_GAPS_FROM_TEMPLATES.mdgap #9, the origin of #1301) — keeps hitting the same wall: statutory / paper deliverables are non-negotiable for billing- and government-adjacent customers. Concrete artifacts in the port scenario alone: invoices, weighbridge tickets, delivery orders, official correspondence, monthly operation reports. BrowserCtrl+P(Console chrome, no pagination) and per-project Puppeteer side-services are the only workarounds today, and every implementation reinvents the latter.Suggested scope (starting point: the M1–M4 sketch from #1301)
sys_file).execution: 'aggregate', objectui#3139) already anticipates "merged PDF, batch print" as its example payload, so the action surface is partly in place.'pdf'(or successor) export format value and retire the spec:ListView.exportOptionsis typed as a bare array, but the only renderer readsexportOptions.formats#8010 retirement prescription cleanly.Related
ListView.exportOptionsis typed as a bare array, but the only renderer readsexportOptions.formats#8010 (enum removal to unwind)