Skip to content

feat(call): peer 'camera off' placeholder - #33

Merged
schnsrw merged 1 commit into
mainfrom
feat/call-camoff-placeholder
Jul 25, 2026
Merged

feat(call): peer 'camera off' placeholder#33
schnsrw merged 1 commit into
mainfrom
feat/call-camoff-placeholder

Conversation

@schnsrw

@schnsrw schnsrw commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

When the peer turns their camera off, their remote video used to just freeze on the last frame. The peer already sends RemoteMuteChanged; this surfaces it as an honest "camera off" placeholder.

What

  • call.rs: the call-lifecycle event for remote_mute_changed now carries remoteAudioMuted / remoteVideoMuted (present only for that kind; borrowed match so the event isn't moved before describe()).
  • shell.html / css: a #camOff overlay (crossed-camera glyph + peer name) over the call-video stage.
  • shell.js: remote_mute_changed toggles the placeholder on remoteVideoMuted, labels it with the peer's name, and endCall clears it.

Security (unchanged)

Presentation-only — the lifecycle event carries no media byte, just the boolean mute state (Inv 8).

Verification

App cargo check + clippy -D warnings + fmt; node --check shell.js. On-device pending hardware.

…camera

Before, if the peer turned their camera off their remote video just froze on
the last frame. The peer already signals RemoteMuteChanged; surface it and show
an honest placeholder.

- call.rs: the call-lifecycle event for remote_mute_changed now carries
  remoteAudioMuted / remoteVideoMuted (present only for that kind). Borrowed
  match so the event isn't moved before describe().
- shell.html/css: a #camOff overlay (crossed-camera glyph + name) over the call
  video stage.
- shell.js: remote_mute_changed toggles the placeholder on remoteVideoMuted and
  labels it with the peer's name; endCall clears it.

Presentation-only — no media byte crosses in the lifecycle event (Inv 8).

Verified: app cargo check + clippy -D warnings + fmt; node --check shell.js.
On-device pending hardware.

Author: sachin sarwa
@schnsrw
schnsrw merged commit 6de1624 into main Jul 25, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant