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();
|
bar.remove();
|
||||||
if (ok) {
|
if (ok) {
|
||||||
this._watchIncoming(peer);
|
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`);
|
this._setStatus('online', `${peer.socketId.slice(-8)} kabul edildi`);
|
||||||
} else {
|
} else {
|
||||||
this._setStatus('error', 'Eşleşme kurulamadı');
|
this._setStatus('error', 'Eşleşme kurulamadı');
|
||||||
|
|
@ -386,7 +388,9 @@ export default class Studio {
|
||||||
|
|
||||||
if (peer) {
|
if (peer) {
|
||||||
this._ensureRTC(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._view.popTo(4);
|
||||||
this._pushStreamsColumn(peer);
|
this._pushStreamsColumn(peer);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -475,6 +479,8 @@ export default class Studio {
|
||||||
this._setStatus('error', e.message);
|
this._setStatus('error', e.message);
|
||||||
return;
|
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);
|
peer.rtc.addStream(type, stream);
|
||||||
this._setStatus('online', `${type} → ${peer.socketId.slice(-8)}`);
|
this._setStatus('online', `${type} → ${peer.socketId.slice(-8)}`);
|
||||||
this._view.popTo(3);
|
this._view.popTo(3);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue