chore(lotus): fix stale denoise flag docs + prep 0.20.1-lotus.2
CI / Build embedded bundle (push) Successful in 40s
CI / Publish to Gitea npm registry (push) Has been skipped

The in-source ML denoiser is gated on lotusDenoiseSource (see lotusDenoise.ts
gate), not the legacy build-time shim flag lotusDenoise=ml. Correct the two
stale references (lotusDenoise.ts JSDoc + InCallView.tsx comment) to
lotusDenoiseSource=1.

Bump the embedded package to 0.20.1-lotus.2 for the next publish and update the
CI comment: the checked-in version now tracks the intended release, while a
pushed tag still wins (npm version "$TAG" overwrites at publish time).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Lotus CI
2026-07-01 23:56:28 -04:00
co-authored by Claude Opus 4.8
parent 98fbdbd5cf
commit d71d8d6799
4 changed files with 7 additions and 5 deletions
+4 -2
View File
@@ -8,8 +8,10 @@ name: CI
# - Pushes of a tag `v*` -> build + publish @lotusguild/element-call-embedded # - Pushes of a tag `v*` -> build + publish @lotusguild/element-call-embedded
# to the Gitea npm registry # to the Gitea npm registry
# #
# Versioning mirrors upstream: the in-repo package.json stays 0.0.0; the # Versioning: the checked-in embedded/web/package.json tracks the intended next
# published version is derived from the git tag at publish time. # release (e.g. 0.20.1-lotus.2) for local/manual publishes, but the AUTHORITATIVE
# published version is still derived from the git tag at publish time (the
# `npm version "$TAG"` step below overwrites it, so a tag always wins).
on: on:
push: push:
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@lotusguild/element-call-embedded", "name": "@lotusguild/element-call-embedded",
"version": "0.0.0", "version": "0.20.1-lotus.2",
"files": [ "files": [
"README.md", "README.md",
"LICENSE-AGPL-3.0", "LICENSE-AGPL-3.0",
+1 -1
View File
@@ -25,7 +25,7 @@ import {
* Element Call audio TrackProcessor (#1), replacing the host's build-time * Element Call audio TrackProcessor (#1), replacing the host's build-time
* `getUserMedia` monkeypatch. * `getUserMedia` monkeypatch.
* *
* Opt-in via `lotusDenoise=ml` (+ `lotusModel`, `lotusGate`, * Opt-in via `lotusDenoiseSource=1` (+ `lotusModel`, `lotusGate`,
* `lotusGateThreshold`, `lotusDenoiseBase`). Because the processor is attached * `lotusGateThreshold`, `lotusDenoiseBase`). Because the processor is attached
* to the mic publication and re-attached on every (re)publish, denoise * to the mic publication and re-attached on every (re)publish, denoise
* survives EC's mid-call reconnect — fixing the A7 "mic dead after reconnect" * survives EC's mid-call reconnect — fixing the A7 "mic dead after reconnect"
+1 -1
View File
@@ -301,7 +301,7 @@ export const InCallView: FC<InCallViewProps> = ({
// them on in-call tile avatars (#6). No-op unless the host sends them. // them on in-call tile avatars (#6). No-op unless the host sends them.
useEffect(() => startLotusDecorations(), []); useEffect(() => startLotusDecorations(), []);
// [lotus] Apply ML denoise to the mic as a first-class audio processor that // [lotus] Apply ML denoise to the mic as a first-class audio processor that
// survives reconnects (#1 / A7). No-op unless lotusDenoise=ml. // survives reconnects (#1 / A7). No-op unless lotusDenoiseSource=1.
useEffect(() => startLotusDenoise(vm), [vm]); useEffect(() => startLotusDenoise(vm), [vm]);
const fatalCallError = useBehavior(vm.fatalError$); const fatalCallError = useBehavior(vm.fatalError$);