@@ -747,6 +747,14 @@ struct Stream_Video_Sfu_Event_JoinRequest {
747747 set { _uniqueStorage ( ) . _sessionID = newValue}
748748 }
749749
750+ /// user_session id can change during reconnects, this helps us to
751+ /// identify the user across reconnects and should remain consistent until the user explicitly
752+ /// disconnects, is kicked or the call is ended.
753+ var unifiedSessionID : String {
754+ get { return _storage. _unifiedSessionID}
755+ set { _uniqueStorage ( ) . _unifiedSessionID = newValue}
756+ }
757+
750758 /// dumb SDP that allow us to extract subscriber's decode codecs
751759 var subscriberSdp : String {
752760 get { return _storage. _subscriberSdp}
@@ -2364,6 +2372,7 @@ extension Stream_Video_Sfu_Event_JoinRequest: SwiftProtobuf.Message, SwiftProtob
23642372 static let _protobuf_nameMap : SwiftProtobuf . _NameMap = [
23652373 1 : . same( proto: " token " ) ,
23662374 2 : . standard( proto: " session_id " ) ,
2375+ 13 : . standard( proto: " unified_session_id " ) ,
23672376 3 : . standard( proto: " subscriber_sdp " ) ,
23682377 8 : . standard( proto: " publisher_sdp " ) ,
23692378 4 : . standard( proto: " client_details " ) ,
@@ -2379,6 +2388,7 @@ extension Stream_Video_Sfu_Event_JoinRequest: SwiftProtobuf.Message, SwiftProtob
23792388fileprivate class _StorageClass : @unchecked Sendable {
23802389 var _token : String = String ( )
23812390 var _sessionID : String = String ( )
2391+ var _unifiedSessionID : String = String ( )
23822392 var _subscriberSdp : String = String ( )
23832393 var _publisherSdp : String = String ( )
23842394 var _clientDetails : Stream_Video_Sfu_Models_ClientDetails ? = nil
@@ -2397,6 +2407,7 @@ fileprivate class _StorageClass: @unchecked Sendable {
23972407 init ( copying source: _StorageClass ) {
23982408 _token = source. _token
23992409 _sessionID = source. _sessionID
2410+ _unifiedSessionID = source. _unifiedSessionID
24002411 _subscriberSdp = source. _subscriberSdp
24012412 _publisherSdp = source. _publisherSdp
24022413 _clientDetails = source. _clientDetails
@@ -2437,6 +2448,7 @@ fileprivate class _StorageClass: @unchecked Sendable {
24372448 case 10 : try { try decoder. decodeRepeatedMessageField ( value: & _storage. _preferredSubscribeOptions) } ( )
24382449 case 11 : try { try decoder. decodeRepeatedEnumField ( value: & _storage. _capabilities) } ( )
24392450 case 12 : try { try decoder. decodeSingularEnumField ( value: & _storage. _source) } ( )
2451+ case 13 : try { try decoder. decodeSingularStringField ( value: & _storage. _unifiedSessionID) } ( )
24402452 default : break
24412453 }
24422454 }
@@ -2485,6 +2497,9 @@ fileprivate class _StorageClass: @unchecked Sendable {
24852497 if _storage. _source != . webrtcUnspecified {
24862498 try visitor. visitSingularEnumField ( value: _storage. _source, fieldNumber: 12 )
24872499 }
2500+ if !_storage. _unifiedSessionID. isEmpty {
2501+ try visitor. visitSingularStringField ( value: _storage. _unifiedSessionID, fieldNumber: 13 )
2502+ }
24882503 }
24892504 try unknownFields. traverse ( visitor: & visitor)
24902505 }
@@ -2496,6 +2511,7 @@ fileprivate class _StorageClass: @unchecked Sendable {
24962511 let rhs_storage = _args. 1
24972512 if _storage. _token != rhs_storage. _token { return false }
24982513 if _storage. _sessionID != rhs_storage. _sessionID { return false }
2514+ if _storage. _unifiedSessionID != rhs_storage. _unifiedSessionID { return false }
24992515 if _storage. _subscriberSdp != rhs_storage. _subscriberSdp { return false }
25002516 if _storage. _publisherSdp != rhs_storage. _publisherSdp { return false }
25012517 if _storage. _clientDetails != rhs_storage. _clientDetails { return false }
0 commit comments