client-sdk-swift
client-sdk-swift copied to clipboard
Can't mixWithOthers and duckOthers
Describe the bug I need a solution that
- Allows me to hear music in high quality through bluetooth (a2dp) and comms whenever I am muted in a call
- Switches to hfp and continue music if I unmute and back to a2dp if I mute again
- Allows me to trigger un/mute with a BLE Device and by a timer, even in the background
Configuration
private func setMute(_ value: Bool) {
guard let localParticipant = room.localParticipant else {
log.error("LocalParticipant doesn't exist")
return
}
guard !microphoneTrackState.isBusy else {
log.warning("microphoneTrack is .busy")
return
}
DispatchQueue.main.async {
self.microphoneTrackState = .busy(isPublishing: !self.microphoneTrackState.isPublished)
}
localParticipant.setMicrophone(enabled: value).then { publication in
guard let publication = publication else { return }
DispatchQueue.main.async {
self.microphoneTrackState = .published(publication)
if publication.muted {
_ = localParticipant.unpublish(publication: publication)
}
self.log.verbose("Microphone is now \(publication.muted ? "Muted" : "NOT Muted")")
}
}.catch { error in
DispatchQueue.main.async {
self.microphoneTrackState = .notPublished(error: error)
}
self.log.verbose("Failed to publish microphone, error: \(error)")
}
}
and this is my customConfigureAudioSessionFunc.
do {
try audioSession.setCategory(.playback, mode: .default, options: [
.allowBluetoothA2DP,
.mixWithOthers,
.duckOthers
])
} catch {
}
AudioManager.shared.customConfigureAudioSessionFunc = { newState, oldState in
// Gets called when a new track gets published
// Happens when a Local or Remote Participant first joines the call and unmutes
DispatchQueue.main.async {
let configuration = RTCAudioSessionConfiguration.webRTC()
if [.localOnly, .localAndRemote].contains(newState.trackState) && ![.localOnly, .localAndRemote].contains(oldState.trackState) {
configuration.categoryOptions = [
.allowBluetooth,
.mixWithOthers,
.duckOthers
]
configuration.category = AVAudioSession.Category.playAndRecord.rawValue
configuration.mode = AVAudioSession.Mode.videoChat.rawValue
} else {
configuration.category = AVAudioSession.Category.playback.rawValue
configuration.mode = AVAudioSession.Mode.default.rawValue
}
}
}
SDK Version LiveKit 1.0.13 WebRTC 104.5112.17
iOS/macOS Version 16.5.1
Steps to Reproduce
- Install the package AleckCommunication.zip
- optional: connect bluetooth audio device
- start music with apple music or spotify
- join an room with one other attendee
- While muted execute room.toggleMute() after the App switches to background phase.
@main
struct MyApp: App {
@Injected(\.roomManager) private var room
@Environment(\.scenePhase) private var scenePhase
var body: some Scene {
WindowGroup {
ContentView()
.onChange(of: scenePhase) { newScenePhase in
if (newScenePhase == .background) {
room.toggleMute()
}
}
}
}
}
Expected behavior
if Mute
- unpublish track
- unduck music (if no one else is publishing)
- If Bluetooth: A2DP
if Unmute
- publish track
- duck music
- If Bluetooth: HFP
if Someone else published a track
- duck music
- If Bluetooth: A2DP
if Someone else unpublished a track
- unduck music
- If Bluetooth: A2DP
Logs
Always
If someone else published a track (foreground or background)
2023-08-03 12:41:50.823120+0200 🐛 Aleck[1285:140689] [as] ATAudioSessionPropertyManager.mm:363 FAILED to set property 1684431725 on AVAudioSession with error Error Domain=NSOSStatusErrorDomain Code=-50 "(null)"
without bluetooth device connected
If I switch to foreground while in a call without anyone publishing a track
2023-08-03 12:30:49.322463+0200 🐛 Aleck[1233:126297] [connection] nw_read_request_report [C7] Receive failed with error "Software caused connection abort"
2023-08-03 12:30:49.326463+0200 🐛 Aleck[1233:126339] [websocket] Read completed with an error Software caused connection abort
2023-08-03 12:30:49.326502+0200 🐛 Aleck[1233:126297] Connection 7: received failure notification
2023-08-03 12:30:49.328272+0200 🐛 Aleck[1233:126339] Task <C9C7F623-BB27-481C-B566-193BCC9701B1>.<1> finished with error [53] Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <C9C7F623-BB27-481C-B566-193BCC9701B1>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <C9C7F623-BB27-481C-B566-193BCC9701B1>.<1>}
2023-08-03T12:30:49+0200 error LiveKitSDK : [] WebSocket.receive(task:result:) Failed to receive Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
2023-08-03 12:30:49.331958+0200 🐛 Aleck[1233:126297] [connection] nw_flow_add_write_request [C7 104.248.102.96:443 failed parent-flow (satisfied (Path is satisfied), interface: en0[802.11], ipv4, ipv6, dns)] cannot accept write requests
2023-08-03 12:30:49.332047+0200 🐛 Aleck[1233:126297] [connection] nw_write_request_report [C7] Send failed with error "Socket is not connected"
🕸 #1 🔬 [RoomManager room]: didUpdate: reconnecting
If I unmute in the background
2023-08-03T12:35:48+0200 info LiveKitSDK : [] LocalParticipant.publish(track:publishOptions:) [publish] LocalAudioTrack(sid: nil, name: microphone, source: Source(rawValue: 2)) options: nil...
2023-08-03T12:35:48+0200 info LiveKitSDK : [] LocalParticipant.publish(track:publishOptions:) [publish] success LocalTrackPublication(sid: TR_AMabb2NDwJLCbV, kind: Kind(rawValue: 0), source: Source(rawValue: 2))
🕸 #1 🔬 [RoomManager setMute]: Microphone is now NOT Muted
Music does not duck and others can't hear me. After switching to foreground
2023-08-03 12:36:23.733491+0200 🐛 Aleck[1243:133773] [connection] nw_read_request_report [C1] Receive failed with error "Socket is not connected"
2023-08-03 12:36:23.742023+0200 🐛 Aleck[1243:133773] [connection] nw_read_request_report [C1] Receive failed with error "Socket is not connected"
2023-08-03 12:36:23.742459+0200 🐛 Aleck[1243:133773] [connection] nw_read_request_report [C1] Receive failed with error "Socket is not connected"
🕸 #1 🔬 [RoomManager room]: didUpdate: reconnecting
App is inactive
2023-08-03 12:36:23.748292+0200 🐛 Aleck[1243:133773] [connection] nw_read_request_report [C3] Receive failed with error "Software caused connection abort"
2023-08-03 12:36:23.753138+0200 🐛 Aleck[1243:133773] [quic] quic_conn_send_frames_for_key_state_block_invoke [C1.1.1.1:2] [-0104995dab46f25913054e5d8e46f8a0c61d9110] unable to request outbound data
2023-08-03 12:36:23.757072+0200 🐛 Aleck[1243:133773] Connection 3: received failure notification
2023-08-03 12:36:23.757143+0200 🐛 Aleck[1243:133773] [connection] nw_flow_add_write_request [C3 104.248.102.96:443 failed parent-flow (satisfied (Path is satisfied), interface: en0[802.11], ipv4, ipv6, dns)] cannot accept write requests
2023-08-03 12:36:23.757180+0200 🐛 Aleck[1243:133773] [connection] nw_write_request_report [C3] Send failed with error "Socket is not connected"
2023-08-03 12:36:23.758074+0200 🐛 Aleck[1243:134387] [websocket] Read completed with an error Software caused connection abort
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:23+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03 12:36:24.000917+0200 🐛 Aleck[1243:134382] Task <98679DC3-C4DF-4B95-8254-F4790A1E3326>.<1> finished with error [57] Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=wss://aleck-staging-667ifvpv.livekit.cloud/rtc?access_token=***&protocol=9&sdk=swift&version=1.0.13&os=iOS&os_version=16.5.1&device_model=iPhone15,2&network=wifi&reconnect=1&auto_subscribe=1&adaptive_stream=1, NSErrorFailingURLKey=wss://aleck-staging-667ifvpv.livekit.cloud/rtc?access_token=***&protocol=9&sdk=swift&version=1.0.13&os=iOS&os_version=16.5.1&device_model=iPhone15,2&network=wifi&reconnect=1&auto_subscribe=1&adaptive_stream=1, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <98679DC3-C4DF-4B95-8254-F4790A1E3326>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <98679DC3-C4DF-4B95-8254-F4790A1E3326>.<1>}
2023-08-03T12:36:24+0200 error LiveKitSDK : [] WebSocket.receive(task:result:) Failed to receive Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=wss://aleck-staging-667ifvpv.livekit.cloud/rtc?access_token=***&protocol=9&sdk=swift&version=1.0.13&os=iOS&os_version=16.5.1&device_model=iPhone15,2&network=wifi&reconnect=1&auto_subscribe=1&adaptive_stream=1, NSErrorFailingURLKey=wss://aleck-staging-667ifvpv.livekit.cloud/rtc?access_token=***&protocol=9&sdk=swift&version=1.0.13&os=iOS&os_version=16.5.1&device_model=iPhone15,2&network=wifi&reconnect=1&auto_subscribe=1&adaptive_stream=1}
2023-08-03 12:36:24.031387+0200 🐛 Aleck[1243:133774] [tcp] tcp_input [C4.1.1:3] flags=[R] seq=3599832312, ack=0, win=0 state=LAST_ACK rcv_nxt=3599832312, snd_una=4079622026
2023-08-03 12:36:24.031650+0200 🐛 Aleck[1243:133774] [tcp] tcp_input [C4.1.1:3] flags=[R] seq=3599832312, ack=0, win=0 state=CLOSED rcv_nxt=3599832312, snd_una=4079622026
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:36:24+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
App is active
2023-08-03T12:36:37+0200 info LiveKitSDK : [] Room.signalClient(_:didReceive:) server version: 1.4.4, region: Germany
🕸 #1 🔬 [RoomManager room]: didUpdate: connected
with bluetooth device connected
If I unmute in the background
2023-08-03T12:45:40+0200 info LiveKitSDK : [] LocalParticipant.publish(track:publishOptions:) [publish] LocalAudioTrack(sid: nil, name: microphone, source: Source(rawValue: 2)) options: nil...
2023-08-03T12:45:41+0200 info LiveKitSDK : [] LocalParticipant.publish(track:publishOptions:) [publish] success LocalTrackPublication(sid: TR_AMfdRmoriNXvPQ, kind: Kind(rawValue: 0), source: Source(rawValue: 2))
🕸 #1 🔬 [RoomManager setMute]: Microphone is now NOT Muted
2023-08-03 12:45:43.164413+0200 🐛 Aleck[1292:143833] [aurioc] AURemoteIO.cpp:1691 AUIOClient_StartIO failed (561145187)
After switching to foreground
2023-08-03 12:46:06.889251+0200 🐛 Aleck[1292:143935] [connection] nw_read_request_report [C1] Receive failed with error "Socket is not connected"
2023-08-03 12:46:06.889675+0200 🐛 Aleck[1292:143935] [connection] nw_read_request_report [C1] Receive failed with error "Socket is not connected"
2023-08-03 12:46:06.890169+0200 🐛 Aleck[1292:143935] [connection] nw_read_request_report [C1] Receive failed with error "Socket is not connected"
2023-08-03 12:46:06.891194+0200 🐛 Aleck[1292:143935] [connection] nw_read_request_report [C3] Receive failed with error "Software caused connection abort"
2023-08-03 12:46:06.893228+0200 🐛 Aleck[1292:143935] [quic] quic_conn_send_frames_for_key_state_block_invoke [C1.1.1.1:2] [-01195d7a513578eee41b3c7a5f3569df735e040f] unable to request outbound data
2023-08-03 12:46:06.893947+0200 🐛 Aleck[1292:144281] [websocket] Read completed with an error Software caused connection abort
2023-08-03 12:46:06.894369+0200 🐛 Aleck[1292:144281] Task <0BDBA4F3-F546-458F-8F22-CD738CEC619F>.<1> finished with error [53] Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <0BDBA4F3-F546-458F-8F22-CD738CEC619F>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0BDBA4F3-F546-458F-8F22-CD738CEC619F>.<1>}
2023-08-03 12:46:06.896690+0200 🐛 Aleck[1292:143935] [connection] nw_flow_add_write_request [C3 104.248.102.96:443 failed parent-flow (satisfied (Path is satisfied), interface: en0[802.11], ipv4, ipv6, dns)] cannot accept write requests
2023-08-03 12:46:06.896726+0200 🐛 Aleck[1292:143935] [connection] nw_write_request_report [C3] Send failed with error "Socket is not connected"
App is inactive
2023-08-03T12:46:06+0200 error LiveKitSDK : [] WebSocket.receive(task:result:) Failed to receive Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
🕸 #1 🔬 [RoomManager room]: didUpdate: reconnecting
App is active
2023-08-03 12:46:07.765242+0200 🐛 Aleck[1292:144291] Task <FE50B781-6229-4B4E-8AFC-66B8C579F944>.<1> finished with error [57] Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=wss://aleck-staging-667ifvpv.livekit.cloud/rtc?access_token=***&protocol=9&sdk=swift&version=1.0.13&os=iOS&os_version=16.5.1&device_model=iPhone15,2&network=wifi&reconnect=1&auto_subscribe=1&adaptive_stream=1, NSErrorFailingURLKey=wss://aleck-staging-667ifvpv.livekit.cloud/rtc?access_token=***&protocol=9&sdk=swift&version=1.0.13&os=iOS&os_version=16.5.1&device_model=iPhone15,2&network=wifi&reconnect=1&auto_subscribe=1&adaptive_stream=1, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <FE50B781-6229-4B4E-8AFC-66B8C579F944>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <FE50B781-6229-4B4E-8AFC-66B8C579F944>.<1>}
2023-08-03T12:46:07+0200 error LiveKitSDK : [] WebSocket.receive(task:result:) Failed to receive Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=wss://aleck-staging-667ifvpv.livekit.cloud/rtc?access_token=***&protocol=9&sdk=swift&version=1.0.13&os=iOS&os_version=16.5.1&device_model=iPhone15,2&network=wifi&reconnect=1&auto_subscribe=1&adaptive_stream=1, NSErrorFailingURLKey=wss://aleck-staging-667ifvpv.livekit.cloud/rtc?access_token=***&protocol=9&sdk=swift&version=1.0.13&os=iOS&os_version=16.5.1&device_model=iPhone15,2&network=wifi&reconnect=1&auto_subscribe=1&adaptive_stream=1}
2023-08-03T12:46:08+0200 warning LiveKitSDK : [] SignalClient.onSignalResponse(_:) Not connected
2023-08-03T12:46:08+0200 warning LiveKitSDK : [] SignalClient.onSignalResponse(_:) Not connected
2023-08-03T12:46:08+0200 warning LiveKitSDK : [] SignalClient.onSignalResponse(_:) Not connected
2023-08-03T12:46:08+0200 warning LiveKitSDK : [] SignalClient.onSignalResponse(_:) Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.signalClient(_:didReceiveOffer:) failed to send answer, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03 12:46:08.538392+0200 🐛 Aleck[1292:143935] dnssd_clientstub write_all(44) DEFUNCT
2023-08-03 12:46:08.538411+0200 🐛 Aleck[1292:143935] dnssd_clientstub deliver_request ERROR: write_all(44, 90 bytes) failed
2023-08-03 12:46:08.538432+0200 🐛 Aleck[1292:143935] dnssd_clientstub write_all(44) DEFUNCT
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] SignalClient.sendRequest(_:enqueueIfReconnecting:) not connected
2023-08-03T12:46:08+0200 error LiveKitSDK : [] Engine.transport(_:didGenerate:) Failed to send candidate, error: SignalClientError.state Not connected
if I than unmute myself in the foreground
2023-08-03T12:48:19+0200 info LiveKitSDK : [] LocalParticipant.publish(track:publishOptions:) [publish] LocalAudioTrack(sid: nil, name: microphone, source: Source(rawValue: 2)) options: nil...
2023-08-03T12:48:19+0200 info LiveKitSDK : [] LocalParticipant.publish(track:publishOptions:) [publish] success LocalTrackPublication(sid: TR_AM4c89Z4JyppTi, kind: Kind(rawValue: 0), source: Source(rawValue: 2))
🕸 #1 🔬 [RoomManager setMute]: Microphone is now NOT Muted
2023-08-03 12:48:19.553011+0200 🐛 Aleck[1292:143833] [as_client] AVAudioSession_iOS.mm:2367 Failed to set category, error: -50
2023-08-03 12:48:19.555332+0200 🐛 Aleck[1292:143833] [as_client] AVAudioSession_iOS.mm:2367 Failed to set category, error: -50
2023-08-03 12:48:19.562753+0200 🐛 Aleck[1292:143833] [as_client] AVAudioSession_iOS.mm:2367 Failed to set category, error: -50
2023-08-03 12:48:19.564054+0200 🐛 Aleck[1292:143833] [as_client] AVAudioSession_iOS.mm:2367 Failed to set category, error: -50
If I mute and than unmute in the background
App is in background
🕸 #1 🔬 [RoomManager setMute]: Microphone is now Muted
2023-08-03T12:49:44+0200 info LiveKitSDK : [] LocalParticipant.publish(track:publishOptions:) [publish] LocalAudioTrack(sid: nil, name: microphone, source: Source(rawValue: 2)) options: nil...
2023-08-03 12:49:44.606823+0200 🐛 Aleck[1298:148233] [connection] nw_read_request_report [C1] Receive failed with error "Socket is not connected"
2023-08-03 12:49:44.608776+0200 🐛 Aleck[1298:148233] [connection] nw_read_request_report [C1] Receive failed with error "Socket is not connected"
2023-08-03 12:49:44.609527+0200 🐛 Aleck[1298:148233] [connection] nw_read_request_report [C1] Receive failed with error "Socket is not connected"
2023-08-03 12:49:44.611785+0200 🐛 Aleck[1298:148233] [connection] nw_read_request_report [C3] Receive failed with error "Software caused connection abort"
2023-08-03 12:49:44.616545+0200 🐛 Aleck[1298:148233] [quic] quic_conn_send_frames_for_key_state_block_invoke [C1.1.1.1:2] [-0158170113356007035aaf014c355d5789bf9ccb] unable to request outbound data
2023-08-03 12:49:44.617768+0200 🐛 Aleck[1298:148239] [websocket] Read completed with an error Software caused connection abort
2023-08-03 12:49:44.619217+0200 🐛 Aleck[1298:148239] Task <9D881CEC-BB24-4706-BC64-B81D43055297>.<1> finished with error [53] Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <9D881CEC-BB24-4706-BC64-B81D43055297>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9D881CEC-BB24-4706-BC64-B81D43055297>.<1>}
2023-08-03 12:49:44.620085+0200 🐛 Aleck[1298:148233] Connection 3: received failure notification
2023-08-03 12:49:44.620409+0200 🐛 Aleck[1298:148233] [connection] nw_flow_add_write_request [C3 104.248.102.96:443 failed parent-flow (satisfied (Path is satisfied), interface: en0[802.11], ipv4, ipv6, dns)] cannot accept write requests
2023-08-03 12:49:44.620544+0200 🐛 Aleck[1298:148233] [connection] nw_write_request_report [C3] Send failed with error "Socket is not connected"
2023-08-03T12:49:44+0200 error LiveKitSDK : [] WebSocket.receive(task:result:) Failed to receive Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort}
2023-08-03T12:49:44+0200 error LiveKitSDK : [] LocalParticipant.publish(track:publishOptions:) [publish] failed LocalAudioTrack(sid: nil, name: microphone, source: Source(rawValue: 2)), error: InternalError.state resetting pending promise
🕸 #1 🔬 [RoomManager setMute]: Failed to publish microphone, error: InternalError.state resetting pending promise
🕸 #1 🔬 [RoomManager room]: didUpdate: reconnecting
🕸 #1 🔬 [RoomManager room]: didUpdate: connected
2023-08-03 12:49:45.505258+0200 🐛 Aleck[1298:148234] dnssd_clientstub write_all(44) DEFUNCT
2023-08-03 12:49:45.505394+0200 🐛 Aleck[1298:148234] dnssd_clientstub deliver_request ERROR: write_all(44, 90 bytes) failed
2023-08-03 12:49:45.505731+0200 🐛 Aleck[1298:148234] dnssd_clientstub write_all(44) DEFUNCT
Hi, can you try v1.1.3 ? I've made some changes.