- Home page is now just the print server overview, no more unrelated
network links (3D printers, Cockpit) left over from when this was a
general landing page.
- Navbar shows which section is active; Brother's per-printer buttons
now live under a dedicated Brother nav item instead of always-visible.
- Shipping labels: paste raw ZPL directly (no need to save to a file
first), with a Labelary preview link alongside it.
- Receipts: paste already-formatted ESC/POS text directly, printed as-is.
- Both can save what they just printed into a shared label repository
(lib/label_repository.rb, one JSON file per label under data/labels/)
for reprinting later -- saving happens independently of whether the
print itself succeeds, so a failed/offline printer doesn't lose the
content.
Custom ReceiptBuilder instead of the escpos gem -- its diacritics handling
needed the same manual UTF-8->CP852 encode call anyway, based on earlier
experiments in ~/test/epson/.
Drops /brother/select and the session-based "active printer" state:
the printer key now lives in the path (/brother/<printer>/*), so the
proxy is stateless and any path under it -- including brother_ql_web's
API, not just its UI -- is reachable without a prior "activation" step.