zapit v1.3.0
The secret-ops + installable release ⚡📲 — Infisical-backed secrets, an installable PWA, and one stack that runs the landing page and the app together.
Highlights
- Infisical (SecretOps) integration —
ADMIN_PASSWORDandAUTHENTIK_CLIENT_SECRETnow acceptinfisical://references, resolved at boot before the admin hash is computed; plain values are mirrored up to Infisical on startup. Zero-dependency client (zapit/infisical.js) with unit tests; theINFISICAL_*env contract is documented in the stack doc. - Installable phone app (PWA) —
manifest.webmanifest+sw.jsapp shell make ZapIt installable to an iPhone or Android home screen (standalone window). New Share and Install buttons in the header: room-link sharing via the Web Share API with clipboard fallback; install prompt capture with an Add-to-Home-Screen hint. Mobile CSS pass with safe-area insets and 44px touch targets. - Landing + app in one Docker stack —
deploy/docker-compose.prod.ymlnow builds and runs both the static landing page (zapit.innotel.us, nginx on 8080) and the ZapIt app (zapp.innotel.us, WebSockets on 5150) from this repo. The app's canonical origin moved to zapp.innotel.us; QR codes, OIDC redirect URIs, and the Authentik blueprint all follow. - Container startup fix — the image previously crashed at boot (
Cannot find module './infisical') because the Dockerfile never copied the new module; CI only ran live-node tests so the broken image shipped.infisical.jsis now in the image and the prod stack boots healthy. - Droppy remnants removed — legacy
DROPPY_DATA_DIRfallback and README compatibility notes are gone. - Repo standardized to the portfolio — attribution guard, themed landing page (TransferOps ⚡), stack role doc, Infisical setup scripts, Pages workflow, and badges all match the other Innotel repos.
Notes
- App origin change: the transfer app now lives at
https://zapp.innotel.us;zapit.innotel.usserves only the landing page. Re-point any bookmarks/shortcuts, and re-apply the Authentik blueprint if you used SSO (redirect URI changed). - The prod compose builds from source (
up -d --build) rather than pulling the GHCR image. - Wire protocol unchanged since v1.2.1 — safe in-place upgrade.
- Images:
ghcr.io/innotelinc/zapit:1.3.0(also:latest).
Full Changelog: v1.2.1...v1.3.0