zoom-bg

prod environment

Operational
100.00%
24h uptime
100.00%
7d uptime
100.00%
30d uptime
Response 685 ms Last checked 2026-10-27 20:21:58 UTC

90-day uptime history

90 days agotoday
Operational Degraded Down No data

What's new

deployed 2026-10-13 19:41:23 UTC

Recent changes
New
  • **Publish renders to a public feed for meetings** Finished renders can now be published for meetings through a public feed with CORS enabled, so browser clients on other origins can read it. The publish step was also trimmed to fit within the 512Mi pod memory limit. (#3, #4, #5)
  • **Sign in with Bio-ID to use the studio** The app is now a Tawa app with SSO auth mode (Bio-ID OAuth PKCE). Routes are guarded, and /api/auth/login, /api/auth/callback, /api/auth/logout and /api/auth/me are added. The callback sends a browser User-Agent so Cloudflare no longer blocks the token exchange, and it returns a readable error page instead of a bare 502. Auth is disabled locally when no Bio-ID env is set; ALLOWED_ORGS is optional.
  • **Persist uploads, renders and presets in S3 storage** Uploads, outputs and presets are now stored in an S3 bucket (spec.storage s3-md) when S3_* env is present, otherwise on local disk. Vault-injected credentials are loaded from /vault/secrets/storage and re-read on each call, and renders are written to a temp file before being persisted.
  • **Scene-image backgrounds and a still effect** A new scene param cover-fits a photo to the canvas as the background, with effects rendered over it. A new still effect adds gentle ambient breathing so a photo loops with life. Scenes come from the scenes/ folder or /api/upload-scene, and the UI has a Background dropdown.
  • **Animated preview and four new effects** Added the aurora, plasma, waves and starfield effects, all seamless loops, selectable via the effect param and the Effect dropdown. A new /api/preview_clip endpoint returns a low-res looping animated WebP, which the UI swaps in after the static frame. Five new presets are included.
  • **Automatic logo ingestion from logos_src folder** Logos dropped into logos_src/ are ingested at startup. SVGs are rasterized, solid backgrounds keyed to transparent, results trimmed, and a white variant generated. Call POST /api/reingest (or add ?force=1) to rescan; uploads also go through the pipeline and now accept SVG and JPG.
  • **InsurEco brand logos, glyph sets and presets** Added seven InsurEco brand logos with white monochrome variants (including tawa-white), three glyph sets (hiragana, symbols, alnum) and four on-brand presets: insureco-globe, policypay-red, raterspot-teal and moonshot-space.
  • **Matrix-rain Zoom background studio** Added a Flask studio (port 4520) to design, preview and render seamlessly looping matrix-rain MP4 backgrounds with a logo watermark. It has preview, generate, presets and outputs APIs with background render jobs and progress, plus seven glyph sets and four seeded presets.
Improved
  • **More authentic matrix rain animation** Matrix rain now uses a grid-pinned sweep: a bright head moves down each column, lighting glyphs that then fade out, with flickering on bright cells. The loop is still seamless (frame N equals frame 0), and a 1080p render takes about 13s.
Fixed
  • **Fix out-of-memory crashes during 1080p renders** Renders were OOMKilled (exit 137) and surfaced as 502s, because the platform default chart hardcodes 512Mi and the pod tier only affects billing. The service now uses a custom helm chart (helmChart in .iec.yaml) with a 2Gi limit, runs one full render at a time, and uses less memory per frame. The pod tier is set to large with low requests. (#6)
  • **Fix render progress freezing at a low percentage** Renders now run in a dedicated worker process fed by a job queue instead of threads in the web worker, so /api/status stays responsive and progress updates smoothly. Jobs run one at a time, a supervisor restarts the worker and fails its in-flight job if it dies, and the UI distinguishes 'queued' from 'rendering %'.
  • **Watermark now shows the logo's true colors** The 1.9x brightness boost and glow halo on the watermark are removed, so it is now pure opacity over the logo's original colors.

Recent checks

Monitored endpoint: https://zoom-bg.tawa.pro/health

TimeStatusCodeResponseError
2026-10-27 20:21:58 UTC up 200 685ms
2026-10-27 20:21:28 UTC up 200 783ms
2026-10-27 20:20:58 UTC up 200 777ms
2026-10-27 20:20:28 UTC up 200 783ms
2026-10-27 20:19:58 UTC up 200 504ms
2026-10-27 20:19:28 UTC up 200 684ms
2026-10-27 20:18:58 UTC up 200 487ms
2026-10-27 20:18:28 UTC up 200 610ms
2026-10-27 20:17:58 UTC up 200 580ms
2026-10-27 20:17:28 UTC up 200 699ms
2026-10-27 20:16:58 UTC up 200 597ms
2026-10-27 20:16:28 UTC up 200 721ms
2026-10-27 20:15:58 UTC up 200 768ms
2026-10-27 20:15:28 UTC up 200 882ms
2026-10-27 20:14:58 UTC up 200 793ms
2026-10-27 20:14:27 UTC up 200 620ms
2026-10-27 20:13:58 UTC up 200 492ms
2026-10-27 20:13:27 UTC up 200 604ms
2026-10-27 20:12:58 UTC up 200 690ms
2026-10-27 20:12:28 UTC up 200 586ms
2026-10-27 20:11:57 UTC up 200 595ms
2026-10-27 20:11:28 UTC up 200 680ms
2026-10-27 20:10:57 UTC up 200 793ms
2026-10-27 20:10:28 UTC up 200 783ms
2026-10-27 20:09:57 UTC up 200 902ms