Save the installer choice as shareReceiptsSMB, recreate the share when it is missing, and show the live smb:// address on the receipts page.
Co-authored-by: George Lambert <marchon@gmail.com>
Load AppKit on the main thread, log why the tray would exit, and fall back to an AppKit status item if NSApplication run returns. Open Receipts uses the status URL. Installers can share that folder read-only over SMB.
Co-authored-by: George Lambert <marchon@gmail.com>
The tray and AirDrop helper now live in Verae NetPrint.app so notifications can start, /api/stamp uses the same client as Print-Job and refuses mock receipts, and the default printer name includes the hostname with an mDNS rename when that name is taken.
Co-authored-by: George Lambert <marchon@gmail.com>
A silent Windows setup copied verae-print.exe while VeraeNetPrint and the tray still had the files open, skipped the locked copies, and left the old binary to reject the new flags. launch-tray on that binary then started a second server. Stop and wait, then copy, and abort if a file is still locked. macOS bootouts the LaunchDaemon before the payload is copied, and Debian stops the unit from preinst. launch-tray only starts the tray.
Co-authored-by: George Lambert <marchon@gmail.com>
VeraeNetPrint had no UDP sockets because Dnscache owns port 5353 and the bind error never reached a log or the status API. Register with DnsServiceRegister first, fall back to a shared UDP socket, write %ProgramData%\Verae\logs\netprint.log, and surface mDNS errors on /api/v1/status. The installer also starts the tray for the logged-in user, and Public networks plus a local queue stay off unless opted in.
Co-authored-by: George Lambert <marchon@gmail.com>
IPP Everywhere jobs reuse the existing Verae stamp path. Standalone installers and an off-by-default driver option share one service, config, and login-time tray, which talks to a loopback control API.
Co-authored-by: George Lambert <marchon@gmail.com>
- auth.PasswordForgot / auth.PasswordReset (+ httptest tests); ErrResetUnavailable
on 404/401/405/5xx so dialogs offer https://customer.verae.ai/portal/
- keyflow_gui: 'Forgot password?' on the password step and after a failed sign-in
- Windows: Forgot password? link, forgot/reset/unavailable forms
- bump HelperVersion, deb and pkg default VERSION to 0.3.4
- promptForFilename setting (default true; env VERAE_PROMPT_FOR_FILENAME),
'verae-print config --prompt-for-filename', last Save As folder in
~/.verae/state.json
- Windows helper: common file dialog (PDF filter, overwrite prompt, topmost
owner) before stamping; macOS printer path: choose file name (NSSavePanel)
via 'stamp -prompt-name -title'; cancel discards the job (no stamp/credit)
- job.Options.OutPath: original saved at the chosen path, certificate and
.verae.json next to it with the chosen base name (never overwritten)
- held jobs keep the chosen path (pendingMeta.OutPath)
- installer: 'Ask for a file name for each print' checkbox; removed the
'Open the user guide' finish-page checkbox; mac-key-setup asks too
- auth test no longer touches the real macOS keychain (VERAE_SKIP_KEYCHAIN)
- version 0.3.2
Replace buried PDF Services as the primary UX with an IPP Everywhere
virtual printer (ippeveprinter LaunchAgent) named Verae Timestamping.
Jobs save {name}.pdf + {name}-verae-timestamp-{RECEIPTID}.pdf.
Also add /Applications/Verae Print Stamp.app for drop/Open With.