mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 00:16:59 +00:00
- CallActivity.onStop: move finishAndRemoveTask inside coroutine so hangup signaling completes before Activity destruction; add hangupInitiated flag to prevent double-hangup in onDestroy - CallController: add per-peer renegotiation debouncing via pendingRenegotiation map to prevent queuing multiple createOffer calls when video is toggled rapidly - CallController: guard ensureForegroundService in onPeerConnected callback with state check to prevent restarting the service after cleanup - RemoteVideoMonitor: synchronize onRemoteVideoTrack, onPeerRemoved, and dispose with trackLock to prevent non-atomic map mutations and leaked video sinks from concurrent WebRTC callback threads - CallMediaManager: add @Synchronized to createVideoResources to prevent check-then-act race between IO and main threads https://claude.ai/code/session_017HrFJNxD6zrGwiZ3s69xTh