fieldlens-desktop/README.md
Admin cc9031fcfd
Some checks failed
Desktop Release / Bootstrap updater signing key (push) Has been cancelled
Desktop Release / Windows x64 NSIS (push) Has been cancelled
Desktop Release / Linux x64 DEB + AppImage (push) Has been cancelled
Desktop Release / Publish public desktop release (push) Has been cancelled
feat(linux): add no-output test capture printer
2026-09-24 03:56:02 +00:00

64 lines
3.1 KiB
Markdown

# FieldLens Desktop
Public build and release mirror for **FieldLens Print**.
The private `Admin/fieldlens` repository remains the source of truth. This repository contains only the desktop client needed to build public Windows and Linux installers.
## Releases
A push to `main` builds:
- `fieldlens-print-windows-x64-setup.exe`
- `fieldlens-print-linux-x64.deb`
- signed updater artifacts when the persistent Tauri signing key is available
- `downloads/latest.json` for the signed Tauri updater
- `downloads/release.json` as the stable installer/version feed
The workflow publishes them to the Gitea release matching the version in `package.json`.
The desktop app uses the signed Tauri updater where supported and falls back to
`release.json` for installer-based upgrades such as Debian packages.
## Local build
```bash
npm install
npm run build
npm run bundle:deb
```
Windows cross-build:
```bash
cargo install --locked cargo-xwin
npm run bundle:windows
```
## Linux install script
Download and run the checked installer:
```bash
curl -fsSL https://fieldlens.arrowstack.dev/downloads/install.sh | sh
```
The script supports x86_64/amd64 Debian/Ubuntu-style systems, downloads the public `.deb`, verifies its SHA-256, then installs it with the system package manager.
## Printer queue setup
FieldLens Print can create an OS printer queue that appears in normal application print dialogs.
1. Open FieldLens Print.
2. Choose the installed physical printer under **Forward to installed printer**.
3. For network printers, FieldLens detects the RAW/TCP endpoint when the OS exposes it. Otherwise enter the printer address manually as `host:9100`.
4. Click **Create / repair FieldLens Print** and approve the Windows UAC / Linux CUPS elevation prompt.
5. Start RAW capture.
6. In the source application, print to **FieldLens Print**.
Windows creates the virtual queue with the selected destination printer's existing driver and points it at `127.0.0.1:9100`, so the captured stream is already in the destination printer's language before FieldLens inspects and forwards it.
Linux creates a CUPS queue named `FieldLens-Print` using the selected physical printer's capabilities and device URI. A FieldLens CUPS PDF pre-filter copies the original submitted PDF into `/var/spool/fieldlens-print` before the physical printer driver renders it, then passes the PDF onward unchanged through the normal CUPS filter chain. FieldLens Print watches that spool for capture/decoding while CUPS continues printing normally.
On Linux the same repair action also installs **FieldLens Test Capture**. It uses the same PPD and FieldLens pre-filter, but its rendered output is sent to a local discard sink at `127.0.0.1:9101`. Selecting that queue from a browser exercises original-document capture, spool ingestion, decoding, and the normal printer render/filter chain without sending anything to physical hardware.
USB/shared queues may not expose a RAW/TCP address. In that case the installed-printer selector still supplies the driver for the virtual Windows queue, while the physical destination address must be entered manually.