github Vexa-ai/vexa v0.10.5.2
v0.10.5.2 — SDP-munge site-2 revert

7 hours ago

Surgical patch on v0.10.5. One-line revert closing the cross-platform Execution context destroyed mid-meeting crash.

What's fixed

  • #291 (umbrella) + #284 + #281transceiver.direction mutation at site 2 of services/vexa-bot/core/src/services/screen-content.ts:1218-1228 removed. v0.10.5 reverted the same pattern at site 1 in 8ab7f49; this release reverts the duplicate site 2 inside the live RTCPeerConnection track-event handler. Cross-platform — same code path is reachable from GMeet (recording_enabled=true mid-meeting crash), Teams (44ms post-admission drop), and Zoom Web (track-event crash).
  • #294 — bot-side failure_stage tracker advances on each successful status_change callback for joining → awaiting_admission → active. Fixes the stale-tracker bug where every crash post-admission was mislabeled failure_stage: "joining" in the JSONB. Server-side derivation in MeetingResponse.from_orm (#276) remains as defense-in-depth.

Production signal pre-fix

Multiple customer GMeet meetings on the post-v0.10.5 buggy image crashed with the same stack frame at recording.js:102 over a 24h window. Variants ranged from 1.4 min (short) to 24.2 min (long). Reporter details tracked privately.

Smoke verification

3-platform smoke on v0.10.5.2 with recording_enabled=true (internal test meetings):

  • GMeet: 29m13s, 59 chunks, completed clean
  • Teams: 21m46s, 45 chunks, completed clean
  • Zoom: 19m57s, 1 chunk (Zoom paradigm), completed clean

70+ min combined active time, no crashes, all completed cleanly. Past every documented crash window (1.4 / 2-4 / 13-14 / 18.5 / 24.2 min).

Image artifacts

  • vexaai/vexa-bot:v0.10.5.2 — bot core (Pack T + Pack F)
  • vexaai/dashboard:v0.10.5.2 — dashboard with version-chip update
  • Image sha: sha256:7ec9ac2be306b1d297d7a724d533aa5e7b2fb8f02b6edbfc949f41be0aff65ae (bot)

Honest caveats

This was an emergency hotfix. Protocol violations during the cycle are documented in the release packet under tests3/releases/260501-followup/. Notable gaps surfaced:

  1. Build-context bug + bash exit-code masking caused a brief outage during human-stage eyeroll. Resolved via helm rollback + atomic redeploy.
  2. Customer re-test feedback is the actual validation; outreach sent to affected users via private channels.
  3. Soak comparison of Execution context destroyed rate pre/post-08:31 UTC is the population-level confirmation.

For the SDP-munge fix specifically: analytical confidence is high (root cause documented in #291, fix mirrors v0.10.5's site-1 revert at 8ab7f49). Empirical confidence is medium until customers re-test.

v0.10.5.3 (next): the long-duration variant (14-24 min crashes) is a SEPARATE bug class — chunk-buffer memory leak — not addressed by v0.10.5.2. See the next release.

Backlog gaps filed for next cycle

  • Helm chart replicaCount: 2 + maxUnavailable: 0 for stateless services (dashboard, webapp)
  • Pre-flight image-exists check in helm-upgrade flow
  • All prod helm upgrades default to --atomic --wait --timeout
  • No-bypass rule for provision stage even on emergency hotfixes (~10 min compose-mode test infra)

🤖 Generated with Claude Code

Don't miss a new vexa release

NewReleases is sending notifications on new releases.