Part of the BBCode parity work (#398). Icebox — candidate wontfix, good first issue.
Context
Surfaced while sizing the additive bodyHtml field (#398). Two findings:
- No response compression middleware exists — all API responses ship uncompressed. BBCode/HTML/JSON is highly compressible (~80% off with gzip/brotli).
- Returning both
body (raw) + bodyHtml (rendered) on every read roughly doubles BBCode payloads.
Measured impact is negligible on cable/4G in every scenario, a few seconds only on dialup big threads (uncompressed). Given the expected audience (few mobile, ~no dialup), this is not worth doing now.
If someone picks it up (cheap wins)
- Add
compression middleware in app.ts (the big lever — helps every endpoint).
- Surgical split: view/list responses return
bodyHtml only; the editor fetches raw body on demand. Halves per-item cost on high-fan-out read paths.
May be marked wontfix if the audience assumption holds. Linked to icebox register #301.
Part of the BBCode parity work (#398). Icebox — candidate wontfix, good first issue.
Context
Surfaced while sizing the additive
bodyHtmlfield (#398). Two findings:body(raw) +bodyHtml(rendered) on every read roughly doubles BBCode payloads.Measured impact is negligible on cable/4G in every scenario, a few seconds only on dialup big threads (uncompressed). Given the expected audience (few mobile, ~no dialup), this is not worth doing now.
If someone picks it up (cheap wins)
compressionmiddleware inapp.ts(the big lever — helps every endpoint).bodyHtmlonly; the editor fetches rawbodyon demand. Halves per-item cost on high-fan-out read paths.May be marked wontfix if the audience assumption holds. Linked to icebox register #301.