- Shipped
- August 27, 2026 at 8:50 PM UTC
- Author
- kamo
- Commit
- 47d9fd6
The company lines went out as whatever the org record stored — "5555555555" — next to a member's line in the same block, so a signature could show a formatted number and a raw one under the same name. One helper now, **************** over app/lib/phone's formatPhoneDisplay. It covers all four numbers that reach a signature: the member's own line and mobile, their department's, and the organization's main and toll-free. Formatting happens BEFORE the extension is appended, and that ordering is load-bearing: formatPhoneDisplay hands back any string that is not a plain number untouched, an "x" suffix included, so formatting a number that already carried its extension is a silent no-op that yields raw digits. This also collapses the four hand-rolled "number + extension" copies — one in each content builder — into that single helper. Four copies is how the formatting came to be missing from all of them at once. The shared `company` block is formatted at its source rather than per branch, so the department and company signatures, which take it verbatim, print the same shape the individual one does. Test fixtures now hold the raw spellings the platform actually stores, so the assertions demonstrate the normalization instead of echoing it.