mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-07-09 16:00:59 +00:00
Free-form strings entering the PDF generator (AI narrative prose, resource names, alert messages, brand display names) were written to fpdf core fonts as raw UTF-8, and the cp1252-decoding fonts rendered em dashes and curly quotes as mojibake. Generate and GenerateMulti now run every string field reachable from ReportData/MultiReportData through fpdf's cp1252 translator once before rendering, so write sites stay encoding-free. The translator is built per call: fpdf's closure reuses an internal buffer and the generator is shared across concurrent requests. Runes outside cp1252 degrade to '.'. Tests render AI-shaped narratives with em dashes and curly quotes for both the single-resource and fleet paths and assert the extracted content streams decode without mojibake. |
||
|---|---|---|
| .. | ||
| agents | ||
| aicontracts | ||
| audit | ||
| auth | ||
| cloudauth | ||
| db | ||
| discovery | ||
| extensions | ||
| fsfilters | ||
| licensing | ||
| metrics | ||
| pbs | ||
| pmg | ||
| proxmox | ||
| pulsecli | ||
| reporting | ||
| securityutil | ||
| server | ||
| tlsutil | ||