Studio: kabul sonrası Eşler kolonuna yönlendir + addStream duplicate fix
- acceptPair başarılı → popTo(1) + pushPeersColumn() → kabul eden taraf anında Eşler kolonunda yeni eşi görür - _call(): aynı type (cam+mic/mic/screen) zaten varsa removeStream sonra addStream - _pushDevicesColumn: aynı cihaz label'ı varsa removeStream sonra addStream (kullanıcı ikinci kez cihaz seçtiğinde 'already exists' hatası önlendi) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
3736d78dfe
commit
d9598ba15f
|
|
@ -143,7 +143,9 @@ export default class Studio {
|
|||
bar.remove();
|
||||
if (ok) {
|
||||
this._watchIncoming(peer);
|
||||
this._view.refresh();
|
||||
// Kabul eden tarafta Eşler kolonuna yönlendir.
|
||||
this._view.popTo(1);
|
||||
this._pushPeersColumn();
|
||||
this._setStatus('online', `${peer.socketId.slice(-8)} kabul edildi`);
|
||||
} else {
|
||||
this._setStatus('error', 'Eşleşme kurulamadı');
|
||||
|
|
@ -386,7 +388,9 @@ export default class Studio {
|
|||
|
||||
if (peer) {
|
||||
this._ensureRTC(peer);
|
||||
peer.rtc.addStream(dev.label || dev.deviceId.slice(-6), stream);
|
||||
const label = dev.label || dev.deviceId.slice(-6);
|
||||
if (peer.rtc._streams?.has(label)) peer.rtc.removeStream(label);
|
||||
peer.rtc.addStream(label, stream);
|
||||
this._view.popTo(4);
|
||||
this._pushStreamsColumn(peer);
|
||||
} else {
|
||||
|
|
@ -475,6 +479,8 @@ export default class Studio {
|
|||
this._setStatus('error', e.message);
|
||||
return;
|
||||
}
|
||||
// Aynı label zaten varsa önce durdur (kullanıcı ikinci kez tıkladı).
|
||||
if (peer.rtc._streams?.has(type)) peer.rtc.removeStream(type);
|
||||
peer.rtc.addStream(type, stream);
|
||||
this._setStatus('online', `${type} → ${peer.socketId.slice(-8)}`);
|
||||
this._view.popTo(3);
|
||||
|
|
|
|||
Loading…
Reference in New Issue