lotus(#1): fix restart-silence (A7), 48kHz ctx; protocol + CI hardening
CI / Build embedded bundle (push) Successful in 1m20s
CI / Publish to Gitea npm registry (push) Has been skipped

Denoise deep-review (CRITICAL): restart() read opts.audioContext, which
LiveKit does NOT pass on restart — so reconnect (the A7 scenario) and mic
device-switch threw after stopping the old track, leaving the mic SILENT
(A7 reintroduced). Fix:
- Processor owns a dedicated 48kHz AudioContext (sapphi worklets require
  48kHz; H1), reused across restart, closed on destroy.
- restart() never throws and never leaves a stopped track on the sender:
  builds the new graph first, then disposes the old; on failure degrades
  to RAW mic audio rather than silence.
- Cache wasm per URL (no re-fetch each reconnect); gate threshold default
  -45 and accept an explicit 0 (M2); document the cross-repo asset contract.

Protocol audit:
- Non-silent warning when an unsupported denoise model (dtln/deepfilternet)
  is requested instead of silent rnnoise fallback (F3).
- Correct the call_state enum comment (immediate error-reply, not 10s) (F2).

Build/CI audit:
- Stamp VITE_APP_VERSION in CI; document the vX.Y.Z-lotus.N version scheme.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Lotus CI
2026-06-30 00:15:59 -04:00
co-authored by Claude Opus 4.8
parent b8543c3fe1
commit 29592fbb18
4 changed files with 116 additions and 37 deletions
+8 -1
View File
@@ -21,6 +21,8 @@ on:
env:
# element-call's build:full sets 16384 already; keep parity for safety.
NODE_OPTIONS: '--max-old-space-size=16384'
# Stamp the build so analytics/rageshakes aren't labelled "dev".
VITE_APP_VERSION: ${{ github.ref_name }}
jobs:
build:
@@ -106,8 +108,13 @@ jobs:
- name: Set published version from tag
working-directory: embedded/web
# Versioning scheme: reserve bare vX.Y.Z for upstream-parity points only
# (e.g. v0.20.1 == upstream 0.20.1). For Lotus-only iterations on top of
# an upstream base, tag a semver prerelease — v0.20.1-lotus.1, -lotus.2,
# … — so we never collide with an already-published upstream-parity
# version on the registry.
run: |
TAG="${GITHUB_REF_NAME#v}" # v0.20.1 -> 0.20.1
TAG="${GITHUB_REF_NAME#v}" # v0.20.1-lotus.1 -> 0.20.1-lotus.1
npm version "$TAG" --no-git-tag-version --allow-same-version
- name: Publish