Skip to content

v0.14.6-tt2 — boot fix for DSN-less builds

Latest

Choose a tag to compare

@isaacrowntree isaacrowntree released this 12 Jun 03:16
· 3 commits to main since this release

Supersedes v0.14.6-tt1. Running in production at TripTech since 2026-06-12.

Fixed (new in tt2)

  • DSN-less builds no longer crash at bootSequin.Sentry.init/0 raised SENTRY_DSN was not set at build time in prod whenever no DSN was baked into the image. A nil DSN now cleanly disables Sentry, consistent with the CRASH_REPORTING_DISABLED escape hatch.

Carried from tt1

  • MutexOwner no longer crashes on transient Redis errors (upstream PR sequinstream/sequin#2131, fixes sequinstream/sequin#2072): retries with exponential backoff (capped at 1 hour) instead of an invalid gen_statem return that cascaded through the :one_for_all supervisor and killed every consumer until manual restart. Recovers automatically when Redis/Dragonfly/KeyDB returns.
  • LiveView metrics pages survive Redis outages — float-safe fallbacks instead of {:ok, _} = crash patterns.
  • Empty SENTRY_DSN build-arg normalized to nil in config/prod.exs.
  • Deterministic MutexOwner test suite via an injectable Redis client.

Image

docker pull ghcr.io/triptechtravel/sequin:v0.14.6-tt2 (linux/amd64)

Diff: v0.14.6...v0.14.6-tt2