Commit Graph
28 Commits
Author SHA1 Message Date
randy 368bf670b9 Revert "Print open home-gitops issues on the Epson receipt printer"
This reverts commit b44985b75f.
2026-09-13 11:46:08 +02:00
randy b44985b75f Print open home-gitops issues on the Epson receipt printer
deploy / deploy (push) Successful in 10s
Reads a Gitea API token from .gitea_token (gitignored, not present yet --
needs creating on the server), fetches open issues via the API, and prints
number/title/labels per issue with a running total. Button on the home page.
2026-09-13 11:43:53 +02:00
randy abb4eb0edb Split Print into Save / Save & Print -- saving no longer requires also printing
deploy / deploy (push) Successful in 9s
Name is now required (it's the only thing identifying what got saved),
and printing is an explicit separate choice instead of an implicit
side-effect of naming something.
2026-09-13 11:37:24 +02:00
randy 148f7dc248 Unified /labels page (badges, edit, preview), mnemonic ESC/POS parser for the raw receipt field
deploy / deploy (push) Successful in 10s
- Saved labels/receipts now show on one page instead of split across
  Shipping labels and Receipts, each with a badge for its type/printer,
  Edit (name+content, in place), Print, and Delete.
- ZPL labels get a real visual preview via Labelary's public render API;
  ESC/POS ones show their raw content (no good general preview for that).
- The Receipts free-text field only ever encoded whatever was typed as
  literal printable characters -- pasting mnemonic ESC/POS notation
  (ESC/GS/LF as command names, 0xNN as raw bytes) just printed as text
  instead of being interpreted. Added a small line-based parser for that
  notation (ReceiptBuilder#raw appends already-resolved bytes verbatim),
  verified byte-for-byte against an example with align/bold/barcode/cut.
2026-09-13 11:21:46 +02:00
randy 66e2e7a5c0 Redesign: clear active nav state, Shipping labels + Receipts get free-text/raw print, shared label repository
deploy / deploy (push) Successful in 10s
- 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.
2026-09-13 11:11:12 +02:00
randy afae57aff4 Add Epson TM-T20II receipt printing (title/body/QR, no ESC/POS knowledge needed)
deploy / deploy (push) Successful in 8s
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/.
2026-09-13 10:42:52 +02:00
randy 5c06f725f0 Address Brother QL printer by URL path instead of session cookie
deploy / deploy (push) Successful in 9s
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.
2026-09-12 23:18:08 +02:00
randy 776f7fdd5a Deploy over rpi-printserver.hv.priesol.net instead of mDNS .local
deploy / deploy (push) Successful in 10s
UniFi's own DNS resolves reliably regardless of mDNS/avahi issues on the network.
2026-09-12 23:08:14 +02:00
randy 858fc3a20d Revert Datamax to kernel usblp driver -- direct libusb bulk transfer times out on this Pi 3B's USB controller
deploy / deploy (push) Successful in 9s
2026-09-12 17:04:11 +02:00
randy 3833452fa9 Increase bulk_transfer timeout to 30s for large ZPL payloads over USB 1.1
deploy / deploy (push) Successful in 8s
2026-09-12 16:58:44 +02:00
randy af673684e2 Auto-detach usblp kernel driver before claiming the Datamax USB interface
deploy / deploy (push) Successful in 10s
2026-09-12 16:57:54 +02:00
randy 7583d820f4 Address Datamax via USB VID:PID/Serial through libusb, like brother_ql_web does
deploy / deploy (push) Successful in 39s
2026-09-12 16:55:38 +02:00
randy f1304206d7 Use stable udev symlink for Datamax device instead of /dev/usb/lp0
deploy / deploy (push) Successful in 8s
2026-09-12 16:51:56 +02:00
randy f723503220 Remove temporary debug workflow
deploy / deploy (push) Failing after 1s
2026-09-12 16:10:06 +02:00
randy ea5fb61be0 Temporary debug workflow to inspect CI_SSH_KEY shape
deploy / deploy (push) Failing after 2s
2026-09-12 16:09:34 +02:00
randy bb914077cf Add README
deploy / deploy (push) Failing after 7s
2026-09-12 16:07:52 +02:00
randy 18e45b7eae Update actions/setup-node action to v7
deploy / deploy (push) Failing after 1s
2026-09-12 16:05:01 +02:00
randy 4f1751df6c Update dependency node to v24
deploy / deploy (push) Failing after 0s
2026-09-12 13:59:25 +00:00
randy 80e89af7c4 Wire GH_COM_TOKEN secret into GITHUB_COM_TOKEN for github.com datasources
deploy / deploy (push) Failing after 4s
2026-09-12 15:56:03 +02:00
randy 9289ace1c7 Run Renovate via npm inside isolated build runner instead of nested docker
deploy / deploy (push) Failing after 1s
2026-09-12 15:47:31 +02:00
randy c61fc4033d Fix renovate workflow: use docker run directly (matches maptool's working setup)
deploy / deploy (push) Failing after 1s
2026-09-12 15:44:24 +02:00
randy aadcd15f99 Add deploy and renovate Gitea Actions workflows
deploy / deploy (push) Failing after 5s
2026-09-12 15:42:27 +02:00
randy 30502cbd19 Use rvm default alias instead of pinned ruby version in ExecStart 2026-09-12 15:25:36 +02:00
randy 383628d2fa Add sinatra.service (moved from /etc/systemd/system) 2026-09-12 15:22:10 +02:00
randy ec4c3f108d Drop dead Sticker Factory / CUPS links from index 2026-09-12 00:42:09 +02:00
randy 1cc03d8451 Inject persistent top navbar (with printer switcher) into proxied Brother pages 2026-09-12 00:34:14 +02:00
randy daa39320a6 Add Brother printer switcher proxied through one port, move sinatra to port 80 2026-09-12 00:31:36 +02:00
randy 2ea45b5f21 Initial commit: ZPL-native PDF printing, drop CUPS dependency 2026-09-12 00:22:35 +02:00